SUSE/stratos

View on GitHub

Showing 1,395 of 1,395 total issues

Method portalProxy.SetupMiddleware has a Cognitive Complexity of 20 (exceeds 8 allowed). Consider refactoring.
Open

func (p *portalProxy) SetupMiddleware() echo.MiddlewareFunc {

    return func(h echo.HandlerFunc) echo.HandlerFunc {

        if !setupComplete {
Severity: Minor
Found in src/jetstream/setup_console.go - About 2 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

Method portalProxy.doRequest has a Cognitive Complexity of 20 (exceeds 8 allowed). Consider refactoring.
Open

func (p *portalProxy) doRequest(cnsiRequest *interfaces.CNSIRequest, done chan<- *interfaces.CNSIRequest) {
    log.Debugf("doRequest for URL: %s", cnsiRequest.URL.String())
    var body io.Reader
    var res *http.Response
    var req *http.Request
Severity: Minor
Found in src/jetstream/passthrough.go - About 2 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 ngOnInit has a Cognitive Complexity of 20 (exceeds 8 allowed). Consider refactoring.
Open

  ngOnInit() {
    this.cardTwoFetching$ = this.applicationService.application$.pipe(
      combineLatest(
        this.applicationService.appSummary$
      ),

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 ngOnInit has a Cognitive Complexity of 20 (exceeds 8 allowed). Consider refactoring.
Open

  public ngOnInit() {
    const contentElement = this.content.nativeElement;
    const containerElement = this.container.nativeElement;

    this.stopped$ = new BehaviorSubject<boolean>(false);

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 KubeDashboardProxy has 81 lines of code (exceeds 50 allowed). Consider refactoring.
Open

func KubeDashboardProxy(c echo.Context, p interfaces.PortalProxy, config *rest.Config) error {
    log.Debugf("KubeDashboardProxy request for: %s", c.Request().RequestURI)

    cnsiGUID := c.Param("guid")
    prefix := "/pp/v1/apps/kubedash/ui/" + cnsiGUID + "/"
Severity: Major
Found in src/jetstream/plugins/kubernetes/dashboard/proxy.go - About 2 hrs to fix

    Function getAllUsers has 56 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      private getAllUsers(endpointGuid: string): Observable<PaginationObservables<APIResource<CfUser>>> {
        if (!this.allUsers$) {
          this.allUsers$ = waitForCFPermissions(this.store, endpointGuid).pipe(
            switchMap(cf => {
              const isAdmin = cf.global.isAdmin;

      Function ngOnInit has 56 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        ngOnInit() {
          this.spaceGuid = this.row.metadata.guid;
          this.entityConfig = new ComponentEntityMonitorConfig(this.spaceGuid, cfEntityFactory(spaceEntityType));
          this.orgGuid = this.cfOrgService.orgGuid;
          this.favorite = this.userFavoriteManager.getFavorite(this.row, spaceEntityType, CF_ENDPOINT_TYPE);

        Function validationLoop has 56 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        function validationLoop(config: ValidateLoopConfig): ValidateEntityResult[] {
          const { cfGuid, entities, parentRelation, allEntities, allPagination, newEntities, action } = config;
        
          if (!entities) {
            return [];

          File steppers.component.ts has 260 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          import {
            AfterContentInit,
            Component,
            ContentChildren,
            Input,

            Function getFolderSource has 80 lines of code (exceeds 50 allowed). Consider refactoring.
            Open

            func getFolderSource(clientWebSocket *websocket.Conn, tempDir string, msg SocketMessage) (StratosProject, string, error) {
                // The msg data is JSON for the Folder info
                info := FolderSourceInfo{
                    WaitAfterUpload: false,
                }
            Severity: Major
            Found in src/jetstream/plugins/cfapppush/deploy.go - About 2 hrs to fix

              Method MetricsSpecification.Connect has 80 lines of code (exceeds 50 allowed). Consider refactoring.
              Open

              func (m *MetricsSpecification) Connect(ec echo.Context, cnsiRecord interfaces.CNSIRecord, userId string) (*interfaces.TokenRecord, bool, error) {
                  log.Debug("Metrics Connect...")
              
                  params := new(interfaces.LoginToCNSIParams)
                  err := interfaces.BindOnce(params, ec)
              Severity: Major
              Found in src/jetstream/plugins/metrics/main.go - About 2 hrs to fix

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

                  constructor(
                    private perms: CurrentUserPermissionsService,
                    private scmService: GitSCMService
                  ) {
                    const scms: { [deployId: string]: GitSCM; } = {

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

                    constructor(private store: Store<AppState>, private activatedRoute: ActivatedRoute) {
                      // Determine the starting state of the filter by repo section
                      stratosEntityCatalog.endpoint.store.getAll.getPaginationService().entities$.pipe(
                        filter(entities => !!entities),
                        first()

                    File autoscaler-transform-metric.ts has 258 lines of code (exceeds 250 allowed). Consider refactoring.
                    Open

                    import moment from 'moment-timezone';
                    
                    import { PaginationResponse } from '../../../../cloud-foundry/src/store/types/cf-api.types';
                    import {
                      AppAutoscalerMetricBasicInfo,

                      cfV2Actor has 21 methods (exceeds 20 allowed). Consider refactoring.
                      Open

                      type cfV2Actor struct {
                          wrapped         pushaction.V2Actor
                          sent            bool
                          msgSender       DeployAppMessageSender
                          clientWebsocket *websocket.Conn
                      Severity: Minor
                      Found in src/jetstream/plugins/cfapppush/push_actor.go - About 2 hrs to fix

                        Method Analysis.doRunReport has 79 lines of code (exceeds 50 allowed). Consider refactoring.
                        Open

                        func (c *Analysis) doRunReport(ec echo.Context, analyzer, endpointID, userID string, dbStore store.AnalysisStore, report *store.AnalysisRecord) error {
                        
                            // Get Kube Config
                            k8s := c.portalProxy.GetPlugin("kubernetes")
                            if k8s == nil {
                        Severity: Major
                        Found in src/jetstream/plugins/analysis/run.go - About 2 hrs to fix

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

                            constructor(
                              store: Store<AppState>,
                              listConfig?: IListConfig<APIResource>,
                              transformEntities?: any[],
                              paginationKey = CfAppsDataSource.paginationKey,

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

                            export function orgSpacePostProcess(
                              store: Store<GeneralEntityAppState>,
                              action: GetOrganization | GetSpace,
                              apiResponse: APIResponse,
                              allEntities: GeneralRequestDataState): ValidateEntityResult {

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

                                constructor(
                                  catalogEntity: StratosBaseCatalogEntity,
                                  { endpointGuid, paginationKey = catalogEntity.entityKey + '-list', extraArgs }: GetMultipleActionConfig,
                                  store: Store<any>,
                                ) {

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

                                  private validate(endpoints: EndpointModel[], cluster: KubeConfigFileCluster, clusters: KubeConfigFileCluster[]) {
                                    cluster._invalid = false;
                                    let reset = true;
                                
                                    const found = endpoints.find(item => item.name === cluster.name);
                                  Severity
                                  Category
                                  Status
                                  Source
                                  Language