NGO-DB/ndb-core

View on GitHub

Showing 136 of 308 total issues

Entity has 25 functions (exceeds 20 allowed). Consider refactoring.
Open

export class Entity {
  /**
   * The entity's type.
   * In classes extending Entity this is usually overridden by the class annotation `@DatabaseEntity('NewEntity')`.
   * The type needs to be used as routing path in lower case. The routing path can be defined in the configuration file.
Severity: Minor
Found in src/app/core/entity/model/entity.ts - About 2 hrs to fix

    File ability.service.spec.ts has 284 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    import { fakeAsync, TestBed, tick, waitForAsync } from "@angular/core/testing";
    
    import { AbilityService } from "./ability.service";
    import { BehaviorSubject, Subject } from "rxjs";
    import { Child } from "../../../child-dev-project/children/model/child";
    Severity: Minor
    Found in src/app/core/permissions/ability/ability.service.spec.ts - About 2 hrs to fix

      Function generate has 70 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        async generate<T extends Entity>(
          filterConfigs: FilterConfig[],
          entityConstructor: EntityConstructor<T>,
          data: T[],
          onlyShowUsedOptions = false,
      Severity: Major
      Found in src/app/core/filter/filter-generator/filter-generator.service.ts - About 2 hrs to fix

        BasicAutocompleteComponent has 24 functions (exceeds 20 allowed). Consider refactoring.
        Open

        @Component({
          selector: "app-basic-autocomplete",
          templateUrl: "basic-autocomplete.component.html",
          styleUrls: ["./basic-autocomplete.component.scss"],
          providers: [

          File entities-table.component.ts has 276 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          import {
            Component,
            EventEmitter,
            Input,
            Output,

            File admin-entity-field.component.ts has 274 lines of code (exceeds 250 allowed). Consider refactoring.
            Open

            import {
              Component,
              Inject,
              Input,
              OnChanges,

              File entity-actions.service.spec.ts has 271 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              import { fakeAsync, TestBed, tick } from "@angular/core/testing";
              import { EntityActionsService } from "./entity-actions.service";
              import { EntityMapperService } from "../entity-mapper/entity-mapper.service";
              import {
                MatSnackBar,
              Severity: Minor
              Found in src/app/core/entity/entity-actions/entity-actions.service.spec.ts - About 2 hrs to fix

                PouchDatabase has 23 functions (exceeds 20 allowed). Consider refactoring.
                Open

                @Injectable()
                export class PouchDatabase extends Database {
                  /**
                   * Small helper function which creates a database with in-memory PouchDB initialized
                   */
                Severity: Minor
                Found in src/app/core/database/pouch-database.ts - About 2 hrs to fix

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

                    async delete<E extends Entity>(
                      entityParam: E | E[],
                      navigate: boolean = false,
                    ): Promise<boolean> {
                      let textForDeleteEntity = "";
                  Severity: Major
                  Found in src/app/core/entity/entity-actions/entity-actions.service.ts - About 2 hrs to fix

                    CustomFormControlDirective has 22 functions (exceeds 20 allowed). Consider refactoring.
                    Open

                    @Directive()
                    export abstract class CustomFormControlDirective<T>
                      implements ControlValueAccessor, MatFormFieldControl<T>, OnDestroy, DoCheck
                    {
                      static nextId = 0;

                      File entity-list.component.ts has 263 lines of code (exceeds 250 allowed). Consider refactoring.
                      Open

                      import {
                        Component,
                        EventEmitter,
                        Input,
                        OnChanges,
                      Severity: Minor
                      Found in src/app/core/entity-list/entity-list/entity-list.component.ts - About 2 hrs to fix

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

                          async anonymize<E extends Entity>(entityParam: E | E[]) {
                            let entities = Array.isArray(entityParam) ? entityParam : [entityParam];
                            let textForAnonymizeEntity = "";
                        
                            if (entities.length > 1) {
                        Severity: Major
                        Found in src/app/core/entity/entity-actions/entity-actions.service.ts - About 2 hrs to fix

                          EntitiesTableComponent has 21 functions (exceeds 20 allowed). Consider refactoring.
                          Open

                          @UntilDestroy()
                          @Component({
                            selector: "app-entities-table",
                            standalone: true,
                            imports: [

                            QueryService has 21 functions (exceeds 20 allowed). Consider refactoring.
                            Open

                            @Injectable({
                              providedIn: "root",
                            })
                            export class QueryService {
                              private entities: { [type: string]: { [id: string]: Entity } } = {};
                            Severity: Minor
                            Found in src/app/core/export/query.service.ts - About 2 hrs to fix

                              File session-manager.service.spec.ts has 252 lines of code (exceeds 250 allowed). Consider refactoring.
                              Open

                              /*
                               *     This file is part of ndb-core.
                               *
                               *     ndb-core is free software: you can redistribute it and/or modify
                               *     it under the terms of the GNU General Public License as published by
                              Severity: Minor
                              Found in src/app/core/session/session-service/session-manager.service.spec.ts - About 2 hrs to fix

                                File attendance.service.ts has 251 lines of code (exceeds 250 allowed). Consider refactoring.
                                Open

                                import { Injectable } from "@angular/core";
                                import { EntityMapperService } from "../../core/entity/entity-mapper/entity-mapper.service";
                                import moment from "moment";
                                import { RecurringActivity } from "./model/recurring-activity";
                                import { ActivityAttendance } from "./model/activity-attendance";
                                Severity: Minor
                                Found in src/app/child-dev-project/attendance/attendance.service.ts - About 2 hrs to fix

                                  File pouch-database.ts has 251 lines of code (exceeds 250 allowed). Consider refactoring.
                                  Open

                                  /*
                                   *     This file is part of ndb-core.
                                   *
                                   *     ndb-core is free software: you can redistribute it and/or modify
                                   *     it under the terms of the GNU General Public License as published by
                                  Severity: Minor
                                  Found in src/app/core/database/pouch-database.ts - About 2 hrs to fix

                                    Function generateFormFieldStory has 46 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                    export function generateFormFieldStory<T>(
                                      editComponent,
                                      defaultValue,
                                      withTooltip = true,
                                      additionalSchema = {},
                                    Severity: Minor
                                    Found in src/app/core/entity/default-datatype/edit-component-story-utils.ts - About 1 hr to fix

                                      Function createNotesIndex has 44 lines of code (exceeds 25 allowed). Consider refactoring.
                                      Open

                                        private async createNotesIndex(): Promise<any> {
                                          const designDoc = {
                                            _id: "_design/notes_index",
                                            views: {
                                              note_child_by_date: {
                                      Severity: Minor
                                      Found in src/app/child-dev-project/children/children.service.ts - About 1 hr to fix

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

                                          private calculateAggregations(
                                            aggregations: Aggregation[] = [],
                                            data?: any[],
                                            additionalValues: GroupByDescription[] = [],
                                          ): ReportRow[] {
                                        Severity: Minor
                                        Found in src/app/features/reporting/data-aggregation.service.ts - About 1 hr to fix
                                          Severity
                                          Category
                                          Status
                                          Source
                                          Language