cityssm/faster-web-helper

View on GitHub

Showing 35 of 47 total issues

Function runInventoryTransactionsTask has a Cognitive Complexity of 64 (exceeds 5 allowed). Consider refactoring.
Open

export default async function runInventoryTransactionsTask() {
    if (inventoryTransactionsConfig === undefined) {
        return;
    }
    debug(`Running "${taskName}"...`);
Severity: Minor
Found in modules/worktechUpdate/tasks/inventoryTransactionsTask.js - About 1 day to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function runInventoryTransactionsTask has 118 lines of code (exceeds 25 allowed). Consider refactoring.
Open

export default async function runInventoryTransactionsTask() {
    if (inventoryTransactionsConfig === undefined) {
        return;
    }
    debug(`Running "${taskName}"...`);
Severity: Major
Found in modules/worktechUpdate/tasks/inventoryTransactionsTask.js - About 4 hrs to fix

    Function initializeWorktechUpdateModule has 85 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    export default async function initializeWorktechUpdateModule(options?: ModuleInitializerOptions): Promise<void> {
      debug(`Initializing "${moduleName}"...`)
    
      /*
       * Ensure the local database is available.
    Severity: Major
    Found in modules/worktechUpdate/initializeWorktechUpdateModule.ts - About 3 hrs to fix

      Function _updateWorkOrderNumberMappings has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring.
      Open

      async function _updateWorkOrderNumberMappings(report, data) {
          const mapping = getWorkOrderNumberMapping(data.documentNumber);
          const exportDate = dateStringToInteger(report.exportDate);
          const exportTime = timeStringToInteger(report.exportTime);
          if (mapping === undefined) {
      Severity: Minor
      Found in modules/worktechUpdate/tasks/directChargeHelperTask.js - About 3 hrs to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function createUser has 54 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      export default function createUser(
        user: Partial<PurchaseOrderApprovalUser> & { userName: string }
      ): boolean {
        const database = sqlite(databasePath)
      
      
      Severity: Major
      Found in modules/purchaseOrderApprovals/database/createUser.ts - About 2 hrs to fix

        Function initializeAutocompleteModule has 51 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        export default async function initializeAutocompleteModule(
          options: ModuleInitializerOptions
        ): Promise<void> {
          debug(`Initializing "${moduleName}"...`)
        
        
        Severity: Major
        Found in modules/autocomplete/initializeAutocompleteModule.ts - About 2 hrs to fix

          Function initializeWorktechUpdateModule has 49 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          export default async function initializeWorktechUpdateModule(options) {
              debug(`Initializing "${moduleName}"...`);
              /*
               * Ensure the local database is available.
               */
          Severity: Minor
          Found in modules/worktechUpdate/initializeWorktechUpdateModule.js - About 1 hr to fix

            Function downloadFilesToTemp has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
            Open

            export async function downloadFilesToTemp(ftpPath) {
                await ensureTempFolderExists();
                const ftpClient = new Client();
                const downloadedFiles = [];
                try {
            Severity: Minor
            Found in helpers/functions.sftp.js - About 1 hr to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function _updateWorkOrderNumberMappings has 45 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            async function _updateWorkOrderNumberMappings(report, data) {
                const mapping = getWorkOrderNumberMapping(data.documentNumber);
                const exportDate = dateStringToInteger(report.exportDate);
                const exportTime = timeStringToInteger(report.exportTime);
                if (mapping === undefined) {
            Severity: Minor
            Found in modules/worktechUpdate/tasks/directChargeHelperTask.js - About 1 hr to fix

              Function createPurchaseOrder has 43 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              export default function createPurchaseOrder(
                form: CreatePurchaseOrderForm,
                user: PurchaseOrderApprovalSessionUser
              ): string {
                const database = sqlite(databasePath)
              Severity: Minor
              Found in modules/purchaseOrderApprovals/database/createPurchaseOrder.ts - About 1 hr to fix

                Function handler has 35 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                export default async function handler(request, response) {
                    const userName = (request.body.userName ?? '').toLowerCase();
                    const password = (request.body.password ?? '');
                    const isAuthenticated = await authenticate(userName, password);
                    let sessionHasUser = false;
                Severity: Minor
                Found in modules/purchaseOrderApprovals/handlers/post/doLogin.js - About 1 hr to fix

                  Function handler has 34 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                  export default async function handler(
                    request: Request,
                    response: Response
                  ): Promise<void> {
                    const userName = ((request.body.userName ?? '') as string).toLowerCase()
                  Severity: Minor
                  Found in modules/purchaseOrderApprovals/handlers/post/doLogin.ts - About 1 hr to fix

                    Function initializeAutocompleteModule has 32 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                    export default async function initializeAutocompleteModule(options) {
                        debug(`Initializing "${moduleName}"...`);
                        /*
                         * Set up static server
                         */
                    Severity: Minor
                    Found in modules/autocomplete/initializeAutocompleteModule.js - About 1 hr to fix

                      Function downloadFilesToTemp has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                      export async function downloadFilesToTemp(ftpPath) {
                          await ensureTempFolderExists();
                          const ftpClient = new Client();
                          const downloadedFiles = [];
                          try {
                      Severity: Minor
                      Found in helpers/functions.sftp.js - About 1 hr to fix

                        Function runUpdateItemNumbersTask has 31 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                        export default async function runUpdateItemNumbersTask(): Promise<void> {
                          debug(`Running "${taskName}"...`)
                        
                          /*
                           * Download files to temp
                        Severity: Minor
                        Found in modules/autocomplete/tasks/updateItemNumbersTask.ts - About 1 hr to fix

                          Function runUpdateAssetNumbersTask has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                          export default async function runUpdateAssetNumbersTask(): Promise<void> {
                            debug(`Running "${taskName}"...`)
                          
                            /*
                             * Download files to temp
                          Severity: Minor
                          Found in modules/autocomplete/tasks/updateAssetNumbersTask.ts - About 1 hr to fix

                            Function createUser has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                            export default function createUser(user) {
                                const database = sqlite(databasePath);
                                const userRecord = database
                                    .prepare(`select isActive
                                    from Users
                            Severity: Minor
                            Found in modules/purchaseOrderApprovals/database/createUser.js - About 1 hr to fix

                              Function runUpdateItemNumbersTask has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                              Open

                              export default async function runUpdateItemNumbersTask(): Promise<void> {
                                debug(`Running "${taskName}"...`)
                              
                                /*
                                 * Download files to temp
                              Severity: Minor
                              Found in modules/autocomplete/tasks/updateItemNumbersTask.ts - About 1 hr to fix

                              Cognitive Complexity

                              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                              A method's cognitive complexity is based on a few simple rules:

                              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                              • Code is considered more complex for each "break in the linear flow of the code"
                              • Code is considered more complex when "flow breaking structures are nested"

                              Further reading

                              Function runUpdateItemNumbersTask has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                              Open

                              export default async function runUpdateItemNumbersTask() {
                                  debug(`Running "${taskName}"...`);
                                  /*
                                   * Download files to temp
                                   */
                              Severity: Minor
                              Found in modules/autocomplete/tasks/updateItemNumbersTask.js - About 1 hr to fix

                              Cognitive Complexity

                              Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                              A method's cognitive complexity is based on a few simple rules:

                              • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                              • Code is considered more complex for each "break in the linear flow of the code"
                              • Code is considered more complex when "flow breaking structures are nested"

                              Further reading

                              Function handler has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                              export default function handler(request, response) {
                                  const user = request.session
                                      .purchaseOrderApprovalUser;
                                  if (user.approvalMax <= 0) {
                                      response.json({
                                Severity
                                Category
                                Status
                                Source
                                Language