bcgov/vue-scaffold

View on GitHub

Showing 84 of 84 total issues

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

constructor({tokenUrl, clientId, clientSecret, apiUrl}) {
log.verbose(`Constructed with ${tokenUrl}, ${clientId}, clientSecret, ${apiUrl}`, { function: 'constructor' });
if (!tokenUrl || !clientId || !clientSecret || !apiUrl) {
log.error('Invalid configuration.', { function: 'constructor' });
throw new Error('ChesService is not configured. Check configuration.');
Severity: Major
Found in app/src/components/chesService.js and 1 other location - About 1 day to fix
app/src/components/cdogsService.js on lines 13..23

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

constructor({ tokenUrl, clientId, clientSecret, apiUrl }) {
log.verbose(`Constructed with ${tokenUrl}, ${clientId}, clientSecret, ${apiUrl}`, { function: 'constructor' });
if (!tokenUrl || !clientId || !clientSecret || !apiUrl) {
log.error('Invalid configuration.', { function: 'constructor' });
throw new Error('CdogsService is not configured. Check configuration.');
Severity: Major
Found in app/src/components/cdogsService.js and 1 other location - About 1 day to fix
app/src/components/chesService.js on lines 10..20

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

fs.readFile(file, 'utf8', (err, data) => {
if (err) {
return console.error(err); // eslint-disable-line no-console
}
const result = data.replace(/src/g, `${process.cwd()}/src`);
Severity: Major
Found in app/lcov-fix.js and 1 other location - About 3 hrs to fix
app/frontend/lcov-fix.js on lines 6..15

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

fs.readFile(file, 'utf8', (err, data) => {
if (err) {
return console.error(err); // eslint-disable-line no-console
}
const result = data.replace(/src/g, `${process.cwd()}/src`);
Severity: Major
Found in app/frontend/lcov-fix.js and 1 other location - About 3 hrs to fix
app/lcov-fix.js on lines 6..15

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

async preview(data) {
try {
const response = await this.axios.post(
`${this.apiV1}/emailMerge/preview`,
data,
Severity: Major
Found in app/src/components/chesService.js and 2 other locations - About 3 hrs to fix
app/src/components/chesService.js on lines 88..105
app/src/components/chesService.js on lines 108..125

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

async merge(data) {
try {
const response = await this.axios.post(
`${this.apiV1}/emailMerge`,
data,
Severity: Major
Found in app/src/components/chesService.js and 2 other locations - About 3 hrs to fix
app/src/components/chesService.js on lines 88..105
app/src/components/chesService.js on lines 127..144

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

async send(email) {
try {
const response = await this.axios.post(
`${this.apiV1}/email`,
email,
Severity: Major
Found in app/src/components/chesService.js and 2 other locations - About 3 hrs to fix
app/src/components/chesService.js on lines 108..125
app/src/components/chesService.js on lines 127..144

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

async statusQuery(params) {
try {
const response = await this.axios.get(
`${this.apiV1}/status`,
{
Severity: Major
Found in app/src/components/chesService.js and 1 other location - About 2 hrs to fix
app/src/components/chesService.js on lines 71..86

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

async cancelQuery(params) {
try {
const response = await this.axios.delete(
`${this.apiV1}/cancel`,
{
Severity: Major
Found in app/src/components/chesService.js and 1 other location - About 2 hrs to fix
app/src/components/chesService.js on lines 38..53

Function init has 60 lines of code (exceeds 25 allowed). Consider refactoring.
Open

function init(config, watch, options) {
const ctor = sanitizeConfig(config);
const keycloak = Keycloak(ctor);
 
watch.$once('ready', function (cb) {
Severity: Major
Found in app/frontend/src/plugins/keycloak.js - About 2 hrs to fix

    Function install has 55 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    install: function (Vue, params = {}) {
    if (installed) return;
    installed = true;
     
    const defaultParams = {
    Severity: Major
    Found in app/frontend/src/plugins/keycloak.js - About 2 hrs to fix

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

      data() {
      return {
      ready: false,
      authenticated: false,
      userName: null,
      Severity: Minor
      Found in app/frontend/src/plugins/keycloak.js - About 1 hr to fix

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

        function updateWatchVariables(isAuthenticated = false) {
        watch.authenticated = isAuthenticated;
        watch.loginFn = keycloak.login;
        watch.login = keycloak.login;
        watch.createLoginUrl = keycloak.createLoginUrl;
        Severity: Minor
        Found in app/frontend/src/plugins/keycloak.js - About 1 hr to fix

          Function exports has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

          module.exports = function(service, e) {
          if (e.response) {
          // Handle raw data
          let data;
          if (typeof e.response.data === 'string' || e.response.data instanceof String) {
          Severity: Minor
          Found in app/src/components/errorToProblem.js - About 45 mins to fix

          Function assertOptions has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
          Open

          function assertOptions(options) {
          const { config, init, onReady, onInitError } = options;
          if (typeof config !== 'string' && !_isObject(config)) {
          return { hasError: true, error: `'config' option must be a string or an object. Found: '${config}'` };
          }
          Severity: Minor
          Found in app/frontend/src/plugins/keycloak.js - About 35 mins to fix

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

          const { data, status } = await this.axios.get(url, {
          headers: {
          'Content-Type': 'application/json'
          }
          });
          Severity: Minor
          Found in app/src/components/cdogsService.js and 1 other location - About 30 mins to fix
          app/src/components/cdogsService.js on lines 80..84

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

          const { data, status } = await this.axios.get(url, {
          headers: {
          'Content-Type': 'application/json'
          }
          });
          Severity: Minor
          Found in app/src/components/cdogsService.js and 1 other location - About 30 mins to fix
          app/src/components/cdogsService.js on lines 30..34

          Avoid too many return statements within this function.
          Open

          return {
          hasError: false,
          error: null
          };
          Severity: Major
          Found in app/frontend/src/plugins/keycloak.js - About 30 mins to fix

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

            hasResourceRoles: (_state, getters) => (resource, roles) => {
            if (!getters.authenticated) return false;
            if (!roles.length) return true; // No roles to check against
             
            if (getters.resourceAccess[resource]) {
            Severity: Minor
            Found in app/frontend/src/store/modules/auth.js - About 25 mins to fix

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

            login({ commit, getters }, idpHint = undefined) {
            if (getters.keycloakReady) {
            // Use existing redirect uri if available
            if (!getters.redirectUri) commit('SET_REDIRECTURI', location.toString());
             
             
            Severity: Minor
            Found in app/frontend/src/store/modules/auth.js - About 25 mins to fix
            Severity
            Category
            Status
            Source
            Language