cloudfoundry-incubator/stratos

View on GitHub

Showing 650 of 1,370 total issues

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

function updateMetricsInfo(state: IRequestEntityTypeState<EndpointModel>, action: MetricsAPIActionSuccess) {
  if (action.queryType === MetricAPIQueryTypes.TARGETS) {
    const existingEndpoint = state[action.endpointGuid];
    return {
      ...state,

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

      private connectEndpoint(action: KubeConfigImportAction, pData: ConnectEndpointData): Observable<IActionMonitorComponentState> {
        const config: ConnectEndpointConfig = {
          name: action.cluster.name,
          guid: action.depends.cluster._guid || action.cluster._guid,
          type: KUBERNETES_ENDPOINT_TYPE,

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

        editModeChanged(mode) {
          this.mode = mode.value;
      
          if (this.mode === EditorMode.CodeEditor) {
            // Form -> Editor

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

          constructor(
            private store: Store<AppState>,
          ) {
            this.userGuid$ = this.store.select(s => s.auth).pipe(
              filter((auth: AuthState) => !!(auth && auth.sessionData)),
        Severity: Minor
        Found in src/frontend/packages/core/src/core/user-profile.service.ts - About 1 hr to fix

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

            reconnect() {
              this.isConnecting = true;
              this.errorMessage = undefined;
              this.xterm.reset();
              this.msgSubscription = this.sshStream

            Method Analysis.doRunReport has 10 return statements (exceeds 4 allowed).
            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 1 hr to fix

              Function KubeDashboardLogin has 10 return statements (exceeds 4 allowed).
              Open

              func KubeDashboardLogin(c echo.Context, p interfaces.PortalProxy) error {
                  log.Debug("kubeDashboardLogin request")
              
                  endpointGUID := c.Param("guid")
                  userGUID := c.Get("user_id").(string)
              Severity: Major
              Found in src/jetstream/plugins/kubernetes/dashboard/login.go - About 1 hr to fix

                Method portalProxy.DoRegisterEndpoint has 10 return statements (exceeds 4 allowed).
                Open

                func (p *portalProxy) DoRegisterEndpoint(cnsiName string, apiEndpoint string, skipSSLValidation bool, clientId string, clientSecret string, userId string, ssoAllowed bool, subType string, createSystemEndpoint bool, fetchInfo interfaces.InfoFunc) (interfaces.CNSIRecord, error) {
                    log.Debug("DoRegisterEndpoint")
                
                    if len(cnsiName) == 0 || len(apiEndpoint) == 0 {
                        return interfaces.CNSIRecord{}, interfaces.NewHTTPShadowError(
                Severity: Major
                Found in src/jetstream/cnsi.go - About 1 hr to fix

                  Method PgsqlTokenRepository.SaveCNSIToken has 10 return statements (exceeds 4 allowed).
                  Open

                  func (p *PgsqlTokenRepository) SaveCNSIToken(cnsiGUID string, userGUID string, tr interfaces.TokenRecord, encryptionKey []byte) error {
                      log.Debug("SaveCNSIToken")
                      if cnsiGUID == "" {
                          msg := "Unable to save CNSI Token without a valid CNSI GUID."
                          log.Debug(msg)
                  Severity: Major
                  Found in src/jetstream/repository/tokens/pgsql_tokens.go - About 1 hr to fix

                    Method PgsqlTokenRepository.UpdateTokenAuth has 10 return statements (exceeds 4 allowed).
                    Open

                    func (p *PgsqlTokenRepository) UpdateTokenAuth(userGUID string, tr interfaces.TokenRecord, encryptionKey []byte) error {
                        log.Debug("UpdateTokenAuth")
                    
                        if userGUID == "" {
                            msg := "Unable to save Token without a valid User GUID."
                    Severity: Major
                    Found in src/jetstream/repository/tokens/pgsql_tokens.go - About 1 hr to fix

                      Function setRole has 8 arguments (exceeds 4 allowed). Consider refactoring.
                      Open

                        existingState: UsersRolesState,
                        orgGuid: string,
                        orgName: string,
                        spaceGuid: string,
                        spaceName: string,

                        Function handleSpaceRoleChange has 8 arguments (exceeds 4 allowed). Consider refactoring.
                        Open

                          state: IAllCfRolesState,
                          endpointGuid: string,
                          cf: ICfRolesState,
                          orgGuid: string,
                          spaceGuid: string,

                          Function setSpaceRole has 8 arguments (exceeds 4 allowed). Consider refactoring.
                          Open

                            orgRoles: IUserPermissionInOrg,
                            orgGuid: string,
                            orgName: string,
                            spaceGuid: string,
                            spaceName: string,

                            Function flattenPagination has 8 arguments (exceeds 4 allowed). Consider refactoring.
                            Open

                              actionDispatcher: ActionDispatcher,
                              firstRequest: Observable<C>,
                              flattener: PaginationFlattener<T, C>,
                              maxCount?: number,
                              entityType?: string,

                              Method UaaUserInfo.uaa has 9 return statements (exceeds 4 allowed).
                              Open

                              func (userInfo *UaaUserInfo) uaa(target string, body []byte) (int, []byte, *http.Header, error) {
                                  log.Debug("uaa request")
                              
                                  // Check session
                                  _, err := userInfo.portalProxy.GetSessionInt64Value(userInfo.echo, "exp")
                              Severity: Major
                              Found in src/jetstream/plugins/userinfo/uaa_user.go - About 55 mins to fix

                                Method KubeTerminal.Start has 9 return statements (exceeds 4 allowed).
                                Open

                                func (k *KubeTerminal) Start(c echo.Context) error {
                                    log.Debug("Kube Terminal start request")
                                
                                    endpointGUID := c.Param("guid")
                                    userGUID := c.Get("user_id").(string)
                                Severity: Major
                                Found in src/jetstream/plugins/kubernetes/terminal/start.go - About 55 mins to fix

                                  Method Analysis.checkStatus has 9 return statements (exceeds 4 allowed).
                                  Open

                                  func (c *Analysis) checkStatus() error {
                                      log.Debug("Checking status....")
                                      p := c.portalProxy
                                      // Create a record in the reports datastore
                                      dbStore, err := store.NewAnalysisDBStore(p.GetDatabaseConnection())
                                  Severity: Major
                                  Found in src/jetstream/plugins/analysis/status.go - About 55 mins to fix

                                    Method cnsiTokenBackup.restoreBackup has 9 return statements (exceeds 4 allowed).
                                    Open

                                    func (ctb *cnsiTokenBackup) restoreBackup(backup *RestoreRequest) error {
                                        log.Debug("restoreBackup")
                                    
                                        data := &BackupContent{}
                                        if err := json.Unmarshal([]byte(backup.Data), data); err != nil {
                                    Severity: Major
                                    Found in src/jetstream/plugins/backup/backup_restore.go - About 55 mins to fix

                                      Function makePrometheusRequestURI has a Cognitive Complexity of 12 (exceeds 8 allowed). Consider refactoring.
                                      Open

                                      func makePrometheusRequestURI(c echo.Context, prometheusOp string, modify string) *url.URL {
                                          uri := getEchoURL(c)
                                          uri.Path = "/api/v1/" + prometheusOp
                                          values := uri.Query()
                                          query := values.Get("query")
                                      Severity: Minor
                                      Found in src/jetstream/plugins/metrics/cloud_foundry.go - 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

                                      Method Monocular.cleanCacheFiles has a Cognitive Complexity of 12 (exceeds 8 allowed). Consider refactoring.
                                      Open

                                      func (m *Monocular) cleanCacheFiles(endpointID string, allCharts []store.ChartStoreRecord) error {
                                      
                                          // Build map of the valid chart folder names
                                          validFiles := make(map[string]bool)
                                          for _, chart := range allCharts {
                                      Severity: Minor
                                      Found in src/jetstream/plugins/monocular/cache.go - 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

                                      Severity
                                      Category
                                      Status
                                      Source
                                      Language