Shegsdev/Banka

View on GitHub
server/controllers/accountsController.js

Summary

Maintainability
F
5 days
Test Coverage

File accountsController.js has 338 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/* eslint-disable consistent-return */
import User from '../models/user';
import Account from '../models/account';
import Transaction from '../models/transaction';
import validateCreateBankAccountInput from '../validation/bankAccount';
Severity: Minor
Found in server/controllers/accountsController.js - About 4 hrs to fix

    Function debitAccount has 63 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      async debitAccount(req, res) {
        const { accountNumber } = req.params;
        if (/[A-Za-z]+/g.test(accountNumber)) {
          return res.status(400).json({
            status: 400,
    Severity: Major
    Found in server/controllers/accountsController.js - About 2 hrs to fix

      Function creditAccount has 57 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        async creditAccount(req, res) {
          const { accountNumber } = req.params;
          if (/[A-Za-z]+/g.test(accountNumber)) {
            return res.status(400).json({
              status: 400,
      Severity: Major
      Found in server/controllers/accountsController.js - About 2 hrs to fix

        Function changeStatus has 42 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

          changeStatus(req, res) {
            const { accountNumber } = req.params;
            if (/[A-Za-z]+/g.test(accountNumber)) {
              return res.status(400).json({
                status: 400,
        Severity: Minor
        Found in server/controllers/accountsController.js - About 1 hr to fix

          Function create has 39 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

            async create(req, res) {
              const { errors, isValid } = validateCreateBankAccountInput(req.body);
              if (!isValid) {
                return res.status(400).json({ status: 400, error: errors });
              }
          Severity: Minor
          Found in server/controllers/accountsController.js - About 1 hr to fix

            Function delete has 30 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

              delete(req, res) {
                const { accountNumber } = req.params;
                if (/[A-Za-z]+/g.test(accountNumber)) {
                  return res.status(400).json({
                    status: 400,
            Severity: Minor
            Found in server/controllers/accountsController.js - About 1 hr to fix

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

                findAll(req, res) {
                  const { status } = req.query;
                  if (JSON.stringify(req.query) == '{}') {
                    Account.findAllById(res).then((accounts) => {
                      if (!accounts || !accounts.rows.length) {
              Severity: Minor
              Found in server/controllers/accountsController.js - About 1 hr to fix

                Function findOne has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                  findOne(req, res) {
                    const { accountNumber } = req.params;
                    if (/[A-Za-z]+/g.test(accountNumber)) {
                      return res.status(400).json({
                        status: 400,
                Severity: Minor
                Found in server/controllers/accountsController.js - About 1 hr to fix

                  Function findByEmail has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                    async findByEmail(req, res) {
                      try {
                        const user = await User.findBy('email', req.params.email, res);
                  
                        Account.findBy('owner', user.rows[0].id, res)
                  Severity: Minor
                  Found in server/controllers/accountsController.js - About 1 hr to fix

                    Function debitAccount has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                    Open

                      async debitAccount(req, res) {
                        const { accountNumber } = req.params;
                        if (/[A-Za-z]+/g.test(accountNumber)) {
                          return res.status(400).json({
                            status: 400,
                    Severity: Minor
                    Found in server/controllers/accountsController.js - About 55 mins 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 creditAccount has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                    Open

                      async creditAccount(req, res) {
                        const { accountNumber } = req.params;
                        if (/[A-Za-z]+/g.test(accountNumber)) {
                          return res.status(400).json({
                            status: 400,
                    Severity: Minor
                    Found in server/controllers/accountsController.js - About 45 mins 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

                    Avoid too many return statements within this function.
                    Open

                            return res.status(201).json({
                              status: 201,
                              data: {
                                transactionId: newTransaction.rows[0].transaction_id,
                                accountNumber: newTransaction.rows[0].account_number,
                    Severity: Major
                    Found in server/controllers/accountsController.js - About 30 mins to fix

                      Avoid too many return statements within this function.
                      Open

                          return res.status(401).json({
                            status: 401,
                            error: 'Unauthorized access',
                          });
                      Severity: Major
                      Found in server/controllers/accountsController.js - About 30 mins to fix

                        Avoid too many return statements within this function.
                        Open

                            return res.status(401).json({
                              status: 401,
                              error: 'Unauthorized access',
                            });
                        Severity: Major
                        Found in server/controllers/accountsController.js - About 30 mins to fix

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

                                  return res.status(201).json({
                                    status: 201,
                                    data: {
                                      transactionId: newTransaction.rows[0].transaction_id,
                                      accountNumber: newTransaction.rows[0].account_number,
                          Severity: Major
                          Found in server/controllers/accountsController.js and 1 other location - About 4 hrs to fix
                          server/controllers/accountsController.js on lines 304..314

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 133.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                                  return res.status(201).json({
                                    status: 201,
                                    data: {
                                      transactionId: newTransaction.rows[0].transaction_id,
                                      accountNumber: newTransaction.rows[0].account_number,
                          Severity: Major
                          Found in server/controllers/accountsController.js and 1 other location - About 4 hrs to fix
                          server/controllers/accountsController.js on lines 385..395

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 133.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                                Account.findAllById(res).then((accounts) => {
                                  if (!accounts || !accounts.rows.length) {
                                    return res.status(404).json({
                                      status: 404,
                                      error: 'No account found',
                          Severity: Major
                          Found in server/controllers/accountsController.js and 3 other locations - About 3 hrs to fix
                          server/controllers/accountsController.js on lines 95..104
                          server/controllers/accountsController.js on lines 437..449
                          server/controllers/usersController.js on lines 27..36

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 95.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                              Account.findOneAndDelete('account_number', parseInt(accountNumber, 10), res)
                                .then((result) => {
                                  if (!result || !result.rows.length) {
                                    return res.status(404).json({
                                      status: 404,
                          Severity: Major
                          Found in server/controllers/accountsController.js and 3 other locations - About 3 hrs to fix
                          server/controllers/accountsController.js on lines 82..90
                          server/controllers/accountsController.js on lines 95..104
                          server/controllers/usersController.js on lines 27..36

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 95.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                                Account.findBy('status', status, res)
                                  .then((accounts) => {
                                    if (!accounts || !accounts.rows.length) {
                                      return res.status(404).json({
                                        status: 404,
                          Severity: Major
                          Found in server/controllers/accountsController.js and 3 other locations - About 3 hrs to fix
                          server/controllers/accountsController.js on lines 82..90
                          server/controllers/accountsController.js on lines 437..449
                          server/controllers/usersController.js on lines 27..36

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 95.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                                  const transactionDetail = {
                                    type: 'credit',
                                    account_number: accountNumber,
                                    cashier: req.user.id,
                                    amount,
                          Severity: Major
                          Found in server/controllers/accountsController.js and 1 other location - About 1 hr to fix
                          server/controllers/accountsController.js on lines 376..383

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 62.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                                  const transactionDetail = {
                                    type: 'debit',
                                    account_number: accountNumber,
                                    cashier: req.user.id,
                                    amount,
                          Severity: Major
                          Found in server/controllers/accountsController.js and 1 other location - About 1 hr to fix
                          server/controllers/accountsController.js on lines 295..302

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 62.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                                try {
                                  const account = await Account.findBy('account_number', accountNumber, res);
                                  if (!account || !account.rows.length) {
                                    return res.status(404).json({
                                      status: 404,
                          Severity: Minor
                          Found in server/controllers/accountsController.js and 1 other location - About 35 mins to fix
                          server/controllers/accountsController.js on lines 283..320

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 47.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                                try {
                                  const account = await Account.save(accountDetail);
                                  return res.status(201).json({
                                    status: 201,
                                    data: {
                          Severity: Minor
                          Found in server/controllers/accountsController.js and 2 other locations - About 35 mins to fix
                          server/controllers/transactionsController.js on lines 28..43
                          server/controllers/transactionsController.js on lines 63..90

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 47.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                                try {
                                  const account = await Account.findBy('account_number', accountNumber, res);
                                  if (!account || !account.rows.length) {
                                    return res.status(404).json({
                                      status: 404,
                          Severity: Minor
                          Found in server/controllers/accountsController.js and 1 other location - About 35 mins to fix
                          server/controllers/accountsController.js on lines 357..401

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 47.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                              if (/[A-Za-z]+/g.test(accountNumber)) {
                                return res.status(400).json({
                                  status: 400,
                                  error: 'Invalid account number',
                                });
                          Severity: Major
                          Found in server/controllers/accountsController.js and 5 other locations - About 30 mins to fix
                          server/controllers/accountsController.js on lines 125..130
                          server/controllers/accountsController.js on lines 269..274
                          server/controllers/accountsController.js on lines 343..348
                          server/controllers/accountsController.js on lines 424..429
                          server/controllers/transactionsController.js on lines 19..24

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 45.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                              if (/[A-Za-z]+/g.test(accountNumber)) {
                                return res.status(400).json({
                                  status: 400,
                                  error: 'Invalid account number',
                                });
                          Severity: Major
                          Found in server/controllers/accountsController.js and 5 other locations - About 30 mins to fix
                          server/controllers/accountsController.js on lines 210..215
                          server/controllers/accountsController.js on lines 269..274
                          server/controllers/accountsController.js on lines 343..348
                          server/controllers/accountsController.js on lines 424..429
                          server/controllers/transactionsController.js on lines 19..24

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 45.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                              if (/[A-Za-z]+/g.test(accountNumber)) {
                                return res.status(400).json({
                                  status: 400,
                                  error: 'Invalid account number',
                                });
                          Severity: Major
                          Found in server/controllers/accountsController.js and 5 other locations - About 30 mins to fix
                          server/controllers/accountsController.js on lines 125..130
                          server/controllers/accountsController.js on lines 210..215
                          server/controllers/accountsController.js on lines 343..348
                          server/controllers/accountsController.js on lines 424..429
                          server/controllers/transactionsController.js on lines 19..24

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 45.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                              if (/[A-Za-z]+/g.test(accountNumber)) {
                                return res.status(400).json({
                                  status: 400,
                                  error: 'Invalid account number',
                                });
                          Severity: Major
                          Found in server/controllers/accountsController.js and 5 other locations - About 30 mins to fix
                          server/controllers/accountsController.js on lines 125..130
                          server/controllers/accountsController.js on lines 210..215
                          server/controllers/accountsController.js on lines 269..274
                          server/controllers/accountsController.js on lines 343..348
                          server/controllers/transactionsController.js on lines 19..24

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 45.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

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

                              if (/[A-Za-z]+/g.test(accountNumber)) {
                                return res.status(400).json({
                                  status: 400,
                                  error: 'Invalid account number',
                                });
                          Severity: Major
                          Found in server/controllers/accountsController.js and 5 other locations - About 30 mins to fix
                          server/controllers/accountsController.js on lines 125..130
                          server/controllers/accountsController.js on lines 210..215
                          server/controllers/accountsController.js on lines 269..274
                          server/controllers/accountsController.js on lines 424..429
                          server/controllers/transactionsController.js on lines 19..24

                          Duplicated Code

                          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                          Tuning

                          This issue has a mass of 45.

                          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                          Refactorings

                          Further Reading

                          There are no issues that match your filters.

                          Category
                          Status