jirfag/go-queryset

View on GitHub

Showing 13 of 13 total issues

UserQuerySet has 68 methods (exceeds 20 allowed). Consider refactoring.
Open

type UserQuerySet struct {
db *gorm.DB
}
Severity: Major
Found in examples/comparison/gorm4/autogenerated_gorm4.go - About 1 day to fix

    Method InfoGenerator.GenFieldInfo has 63 lines of code (exceeds 50 allowed). Consider refactoring.
    Open

    func (g InfoGenerator) GenFieldInfo(f Field) *Info {
    tagSetting := parseTagSetting(f.Tag())
    if tagSetting["-"] != "" { // skipped by tag field
    return nil
    }
    Severity: Minor
    Found in internal/queryset/field/field.go - About 1 hr to fix

      Method InfoGenerator.GenFieldInfo has 8 return statements (exceeds 4 allowed).
      Open

      func (g InfoGenerator) GenFieldInfo(f Field) *Info {
      tagSetting := parseTagSetting(f.Tag())
      if tagSetting["-"] != "" { // skipped by tag field
      return nil
      }
      Severity: Major
      Found in internal/queryset/field/field.go - About 50 mins to fix

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

        func (qs UserQuerySet) IDNotIn(ID ...uint) UserQuerySet {
        if len(ID) == 0 {
        qs.db.AddError(errors.New("must at least pass one ID in IDNotIn"))
        return qs.w(qs.db)
        }
        Severity: Major
        Found in examples/comparison/gorm4/autogenerated_gorm4.go and 5 other locations - About 45 mins to fix
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 204..210
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 350..356
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 390..396
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 418..424
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 434..440

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

        func (qs UserQuerySet) RatingMarksIn(ratingMarks ...int) UserQuerySet {
        if len(ratingMarks) == 0 {
        qs.db.AddError(errors.New("must at least pass one ratingMarks in RatingMarksIn"))
        return qs.w(qs.db)
        }
        Severity: Major
        Found in examples/comparison/gorm4/autogenerated_gorm4.go and 5 other locations - About 45 mins to fix
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 204..210
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 232..238
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 350..356
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 418..424
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 434..440

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

        func (qs UserQuerySet) RatingMarksNotIn(ratingMarks ...int) UserQuerySet {
        if len(ratingMarks) == 0 {
        qs.db.AddError(errors.New("must at least pass one ratingMarks in RatingMarksNotIn"))
        return qs.w(qs.db)
        }
        Severity: Major
        Found in examples/comparison/gorm4/autogenerated_gorm4.go and 5 other locations - About 45 mins to fix
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 204..210
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 232..238
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 350..356
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 390..396
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 434..440

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

        func (qs UserQuerySet) IDIn(ID ...uint) UserQuerySet {
        if len(ID) == 0 {
        qs.db.AddError(errors.New("must at least pass one ID in IDIn"))
        return qs.w(qs.db)
        }
        Severity: Major
        Found in examples/comparison/gorm4/autogenerated_gorm4.go and 5 other locations - About 45 mins to fix
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 232..238
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 350..356
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 390..396
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 418..424
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 434..440

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

        func (qs UserQuerySet) RatingIn(rating ...int) UserQuerySet {
        if len(rating) == 0 {
        qs.db.AddError(errors.New("must at least pass one rating in RatingIn"))
        return qs.w(qs.db)
        }
        Severity: Major
        Found in examples/comparison/gorm4/autogenerated_gorm4.go and 5 other locations - About 45 mins to fix
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 204..210
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 232..238
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 390..396
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 418..424
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 434..440

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

        func (qs UserQuerySet) RatingNotIn(rating ...int) UserQuerySet {
        if len(rating) == 0 {
        qs.db.AddError(errors.New("must at least pass one rating in RatingNotIn"))
        return qs.w(qs.db)
        }
        Severity: Major
        Found in examples/comparison/gorm4/autogenerated_gorm4.go and 5 other locations - About 45 mins to fix
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 204..210
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 232..238
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 350..356
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 390..396
        examples/comparison/gorm4/autogenerated_gorm4.go on lines 418..424

        Method Generator.writeQuerySetsToOutput has 6 return statements (exceeds 4 allowed).
        Open

        func (g Generator) writeQuerySetsToOutput(r io.Reader, packageName, outFile string) error {
        const hdrTmpl = `%s
        package %s
         
        import (
        Severity: Major
        Found in internal/queryset/generator/generator.go - About 40 mins to fix

          Method Structs.ParseFile has 5 return statements (exceeds 4 allowed).
          Open

          func (p Structs) ParseFile(ctx context.Context, filePath string) (*Result, error) {
          absFilePath, err := filepath.Abs(filePath)
          if err != nil {
          return nil, errors.Wrapf(err, "can't get abs path for %s", filePath)
          }
          Severity: Major
          Found in internal/parser/parser.go - About 35 mins to fix

            Method Generator.Generate has 5 return statements (exceeds 4 allowed).
            Open

            func (g Generator) Generate(ctx context.Context, inFilePath, outFilePath string) error {
            parsedFile, err := g.StructsParser.ParseFile(ctx, inFilePath)
            if err != nil {
            return errors.Wrapf(err, "can't parse file %s to get structs", inFilePath)
            }
            Severity: Major
            Found in internal/queryset/generator/generator.go - About 35 mins to fix

              Method methodsBuilder.getQuerySetMethodsForField has 5 return statements (exceeds 4 allowed).
              Open

              func (b *methodsBuilder) getQuerySetMethodsForField(f field.Info) []methods.Method {
              fctx := b.sctx.FieldCtx(f)
              basicTypeMethods := []methods.Method{
              methods.NewBinaryFilterMethod(fctx.WithOperationName("eq")),
              methods.NewBinaryFilterMethod(fctx.WithOperationName("ne")),
              Severity: Major
              Found in internal/queryset/generator/methodsbuilder.go - About 35 mins to fix
                Severity
                Category
                Status
                Source
                Language