Showing 17 of 17 total issues

Function onRequestPost has 104 lines of code (exceeds 25 allowed). Consider refactoring.
Open

export const onRequestPost: PagesFunction<Env> = async function (context) {
const headers = context.request.headers
const input: CreateUrlFormData = convertFormDataToJson(await context.request.formData()) as CreateUrlFormData
const requestDetails = {
short: input.short,
Severity: Major
Found in functions/url.ts - About 4 hrs to fix

    Function onRequestPost has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
    Open

    export const onRequestPost: PagesFunction<Env> = async function (context) {
    const headers = context.request.headers
    const input: CreateUrlFormData = convertFormDataToJson(await context.request.formData()) as CreateUrlFormData
    const requestDetails = {
    short: input.short,
    Severity: Minor
    Found in functions/url.ts - About 2 hrs to fix

    Function onRequestDelete has 62 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    export const onRequestDelete: PagesFunction<Env> = async function (context) {
    const headers = context.request.headers
    const input: DeleteUrlFormData = convertFormDataToJson(await context.request.formData()) as DeleteUrlFormData
    const requestDetails = {
    short: input.short,
    Severity: Major
    Found in functions/url.ts - About 2 hrs to fix

      Function setupDataTable has 50 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      const setupDataTable = () => {
      listTable = $('#list').DataTable({
      ajax: 'url',
      columns: [{ data: 's' }, { data: 'l' }, { data: 'c' }],
      columnDefs: [
      Severity: Minor
      Found in src/assets/js/app.js - About 2 hrs to fix

        Function getUrls has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
        Open

        export const getUrls = async function (
        context: any,
        orderBy?: object,
        limit?: number,
        offset?: number
        Severity: Minor
        Found in src/ts/data.ts - About 1 hr to fix

        Identical blocks of code found in 2 locations. Consider refactoring.
        Open

        } catch (err) {
        output = JSON.stringify({
        action: 'create',
        status: 'error',
        message: 'Unable to add Short URL',
        Severity: Major
        Found in functions/url.ts and 1 other location - About 1 hr to fix
        functions/url.ts on lines 122..131

        Identical blocks of code found in 2 locations. Consider refactoring.
        Open

        } else {
        output = JSON.stringify({
        action: 'create',
        status: 'error',
        message: 'Unable to add Short URL',
        Severity: Major
        Found in functions/url.ts and 1 other location - About 1 hr to fix
        functions/url.ts on lines 132..141

        Identical blocks of code found in 2 locations. Consider refactoring.
        Open

        } else {
        output = JSON.stringify({
        action: 'delete',
        status: 'error',
        message: 'Unable to delete Short URL',
        Severity: Minor
        Found in functions/url.ts and 1 other location - About 45 mins to fix
        functions/url.ts on lines 209..217

        Identical blocks of code found in 2 locations. Consider refactoring.
        Open

        } catch (err) {
        output = JSON.stringify({
        action: 'delete',
        status: 'error',
        message: 'Unable to delete Short URL',
        Severity: Minor
        Found in functions/url.ts and 1 other location - About 45 mins to fix
        functions/url.ts on lines 200..208

        Similar blocks of code found in 5 locations. Consider refactoring.
        Open

        if (requestDetails.short.length < 1 || !isValidShortCode(requestDetails.short)) {
        return new Response(JSON.stringify({ action: 'delete', status: 'error', message: 'Insufficient data supplied' }), {
        status: 400,
        headers: DEFAULT_RESPONSE_HEADERS
        })
        Severity: Major
        Found in functions/url.ts and 4 other locations - About 35 mins to fix
        functions/url.ts on lines 48..53
        functions/url.ts on lines 56..65
        functions/url.ts on lines 69..79
        functions/url.ts on lines 178..187

        Similar blocks of code found in 5 locations. Consider refactoring.
        Open

        if (!isValidShortCode(requestDetails.short)) {
        return new Response(
        JSON.stringify({
        action: 'create',
        status: 'error',
        Severity: Major
        Found in functions/url.ts and 4 other locations - About 35 mins to fix
        functions/url.ts on lines 48..53
        functions/url.ts on lines 56..65
        functions/url.ts on lines 170..175
        functions/url.ts on lines 178..187

        Similar blocks of code found in 5 locations. Consider refactoring.
        Open

        if (shortRow === null) {
        return new Response(
        JSON.stringify({
        action: 'delete',
        status: 'error',
        Severity: Major
        Found in functions/url.ts and 4 other locations - About 35 mins to fix
        functions/url.ts on lines 48..53
        functions/url.ts on lines 56..65
        functions/url.ts on lines 69..79
        functions/url.ts on lines 170..175

        Similar blocks of code found in 5 locations. Consider refactoring.
        Open

        if (requestDetails.long.length < 1) {
        return new Response(JSON.stringify({ action: 'create', status: 'error', message: 'Insufficient data supplied' }), {
        status: 400,
        headers: DEFAULT_RESPONSE_HEADERS
        })
        Severity: Major
        Found in functions/url.ts and 4 other locations - About 35 mins to fix
        functions/url.ts on lines 56..65
        functions/url.ts on lines 69..79
        functions/url.ts on lines 170..175
        functions/url.ts on lines 178..187

        Similar blocks of code found in 5 locations. Consider refactoring.
        Open

        if (!isValidUrl(requestDetails.long)) {
        return new Response(
        JSON.stringify({
        action: 'create',
        status: 'error',
        Severity: Major
        Found in functions/url.ts and 4 other locations - About 35 mins to fix
        functions/url.ts on lines 48..53
        functions/url.ts on lines 69..79
        functions/url.ts on lines 170..175
        functions/url.ts on lines 178..187

        Avoid too many return statements within this function.
        Open

        return new Response(output, {
        status: returnStatus,
        headers: DEFAULT_RESPONSE_HEADERS
        })
        Severity: Major
        Found in functions/url.ts - About 30 mins to fix

          Function setupDataTable has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

          const setupDataTable = () => {
          listTable = $('#list').DataTable({
          ajax: 'url',
          columns: [{ data: 's' }, { data: 'l' }, { data: 'c' }],
          columnDefs: [
          Severity: Minor
          Found in src/assets/js/app.js - About 25 mins to fix

          Function onRequestDelete has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

          export const onRequestDelete: PagesFunction<Env> = async function (context) {
          const headers = context.request.headers
          const input: DeleteUrlFormData = convertFormDataToJson(await context.request.formData()) as DeleteUrlFormData
          const requestDetails = {
          short: input.short,
          Severity: Minor
          Found in functions/url.ts - About 25 mins to fix
          Severity
          Category
          Status
          Source
          Language