ory-am/hydra

View on GitHub
driver/registry_sql.go

Summary

Maintainability
D
2 days
Test Coverage

RegistrySQL has 63 methods (exceeds 20 allowed). Consider refactoring.
Open

type RegistrySQL struct {
    l               *logrusx.Logger
    al              *logrusx.Logger
    conf            *config.DefaultProvider
    ch              *client.Handler
Severity: Major
Found in driver/registry_sql.go - About 1 day to fix

    File registry_sql.go has 630 lines of code (exceeds 500 allowed). Consider refactoring.
    Open

    // Copyright © 2022 Ory Corp
    // SPDX-License-Identifier: Apache-2.0
    
    package driver
    
    
    Severity: Minor
    Found in driver/registry_sql.go - About 5 hrs to fix

      Method RegistrySQL.Init has a Cognitive Complexity of 32 (exceeds 20 allowed). Consider refactoring.
      Open

      func (m *RegistrySQL) Init(
          ctx context.Context,
          skipNetworkInit bool,
          migrate bool,
          ctxer contextx.Contextualizer,
      Severity: Minor
      Found in driver/registry_sql.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 RegistrySQL.Init has 74 lines of code (exceeds 50 allowed). Consider refactoring.
      Open

      func (m *RegistrySQL) Init(
          ctx context.Context,
          skipNetworkInit bool,
          migrate bool,
          ctxer contextx.Contextualizer,
      Severity: Minor
      Found in driver/registry_sql.go - About 1 hr to fix

        Method RegistrySQL.Init has 8 return statements (exceeds 4 allowed).
        Open

        func (m *RegistrySQL) Init(
            ctx context.Context,
            skipNetworkInit bool,
            migrate bool,
            ctxer contextx.Contextualizer,
        Severity: Major
        Found in driver/registry_sql.go - About 50 mins to fix

          Method RegistrySQL.Init has 6 arguments (exceeds 4 allowed). Consider refactoring.
          Open

              ctx context.Context,
              skipNetworkInit bool,
              migrate bool,
              ctxer contextx.Contextualizer,
              extraMigrations []fs.FS,
          Severity: Minor
          Found in driver/registry_sql.go - About 45 mins to fix

            Method RegistrySQL.HealthHandler has 6 return statements (exceeds 4 allowed).
            Open

            func (m *RegistrySQL) HealthHandler() *healthx.Handler {
                if m.hh == nil {
                    m.hh = healthx.NewHandler(m.Writer(), m.buildVersion, healthx.ReadyCheckers{
                        "database": func(_ *http.Request) error {
                            return m.Ping()
            Severity: Major
            Found in driver/registry_sql.go - About 40 mins to fix

              There are no issues that match your filters.

              Category
              Status