examples/comparison/gorm4/autogenerated_gorm4.go
// Code generated by go-queryset. DO NOT EDIT.package gorm4 import ( "errors" "fmt" "strings" "time" "github.com/jinzhu/gorm") // ===== BEGIN of all query sets // ===== BEGIN of query set UserQuerySet // UserQuerySet is an queryset type for User`UserQuerySet` has 68 methods (exceeds 20 allowed). Consider refactoring.type UserQuerySet struct { db *gorm.DB} // NewUserQuerySet constructs new UserQuerySetfunc NewUserQuerySet(db *gorm.DB) UserQuerySet { return UserQuerySet{ db: db.Model(&User{}), }} func (qs UserQuerySet) w(db *gorm.DB) UserQuerySet { return NewUserQuerySet(db)} func (qs UserQuerySet) Select(fields ...UserDBSchemaField) UserQuerySet { names := []string{} for _, f := range fields { names = append(names, f.String()) } return qs.w(qs.db.Select(strings.Join(names, ",")))} // Create is an autogenerated method// nolint: duplfunc (o *User) Create(db *gorm.DB) error { return db.Create(o).Error} // Delete is an autogenerated method// nolint: duplfunc (o *User) Delete(db *gorm.DB) error { return db.Delete(o).Error} // All is an autogenerated method// nolint: duplfunc (qs UserQuerySet) All(ret *[]User) error { return qs.db.Find(ret).Error} // Count is an autogenerated method// nolint: duplfunc (qs UserQuerySet) Count() (int, error) { var count int err := qs.db.Count(&count).Error return count, err} // CreatedAtEq is an autogenerated method// nolint: duplfunc (qs UserQuerySet) CreatedAtEq(createdAt time.Time) UserQuerySet { return qs.w(qs.db.Where("created_at = ?", createdAt))} // CreatedAtGt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) CreatedAtGt(createdAt time.Time) UserQuerySet { return qs.w(qs.db.Where("created_at > ?", createdAt))} // CreatedAtGte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) CreatedAtGte(createdAt time.Time) UserQuerySet { return qs.w(qs.db.Where("created_at >= ?", createdAt))} // CreatedAtLt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) CreatedAtLt(createdAt time.Time) UserQuerySet { return qs.w(qs.db.Where("created_at < ?", createdAt))} // CreatedAtLte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) CreatedAtLte(createdAt time.Time) UserQuerySet { return qs.w(qs.db.Where("created_at <= ?", createdAt))} // CreatedAtNe is an autogenerated method// nolint: duplfunc (qs UserQuerySet) CreatedAtNe(createdAt time.Time) UserQuerySet { return qs.w(qs.db.Where("created_at != ?", createdAt))} // Delete is an autogenerated method// nolint: duplfunc (qs UserQuerySet) Delete() error { return qs.db.Delete(User{}).Error} // DeleteNum is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeleteNum() (int64, error) { db := qs.db.Delete(User{}) return db.RowsAffected, db.Error} // DeleteNumUnscoped is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeleteNumUnscoped() (int64, error) { db := qs.db.Unscoped().Delete(User{}) return db.RowsAffected, db.Error} // DeletedAtEq is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeletedAtEq(deletedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("deleted_at = ?", deletedAt))} // DeletedAtGt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeletedAtGt(deletedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("deleted_at > ?", deletedAt))} // DeletedAtGte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeletedAtGte(deletedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("deleted_at >= ?", deletedAt))} // DeletedAtIsNotNull is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeletedAtIsNotNull() UserQuerySet { return qs.w(qs.db.Where("deleted_at IS NOT NULL"))} // DeletedAtIsNull is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeletedAtIsNull() UserQuerySet { return qs.w(qs.db.Where("deleted_at IS NULL"))} // DeletedAtLt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeletedAtLt(deletedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("deleted_at < ?", deletedAt))} // DeletedAtLte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeletedAtLte(deletedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("deleted_at <= ?", deletedAt))} // DeletedAtNe is an autogenerated method// nolint: duplfunc (qs UserQuerySet) DeletedAtNe(deletedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("deleted_at != ?", deletedAt))} // GetDB is an autogenerated method// nolint: duplfunc (qs UserQuerySet) GetDB() *gorm.DB { return qs.db} // GetUpdater is an autogenerated method// nolint: duplfunc (qs UserQuerySet) GetUpdater() UserUpdater { return NewUserUpdater(qs.db)} // IDEq is an autogenerated method// nolint: duplfunc (qs UserQuerySet) IDEq(ID uint) UserQuerySet { return qs.w(qs.db.Where("id = ?", ID))} // IDGt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) IDGt(ID uint) UserQuerySet { return qs.w(qs.db.Where("id > ?", ID))} // IDGte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) IDGte(ID uint) UserQuerySet { return qs.w(qs.db.Where("id >= ?", ID))} // IDIn is an autogenerated method// nolint: duplSimilar blocks of code found in 6 locations. Consider refactoring.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) } return qs.w(qs.db.Where("id IN (?)", ID))} // IDLt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) IDLt(ID uint) UserQuerySet { return qs.w(qs.db.Where("id < ?", ID))} // IDLte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) IDLte(ID uint) UserQuerySet { return qs.w(qs.db.Where("id <= ?", ID))} // IDNe is an autogenerated method// nolint: duplfunc (qs UserQuerySet) IDNe(ID uint) UserQuerySet { return qs.w(qs.db.Where("id != ?", ID))} // IDNotIn is an autogenerated method// nolint: duplSimilar blocks of code found in 6 locations. Consider refactoring.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) } return qs.w(qs.db.Where("id NOT IN (?)", ID))} // Limit is an autogenerated method// nolint: duplfunc (qs UserQuerySet) Limit(limit int) UserQuerySet { return qs.w(qs.db.Limit(limit))} // Offset is an autogenerated method// nolint: duplfunc (qs UserQuerySet) Offset(offset int) UserQuerySet { return qs.w(qs.db.Offset(offset))} // One is used to retrieve one result. It returns gorm.ErrRecordNotFound// if nothing was fetchedfunc (qs UserQuerySet) One(ret *User) error { return qs.db.First(ret).Error} // OrderAscByCreatedAt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderAscByCreatedAt() UserQuerySet { return qs.w(qs.db.Order("created_at ASC"))} // OrderAscByDeletedAt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderAscByDeletedAt() UserQuerySet { return qs.w(qs.db.Order("deleted_at ASC"))} // OrderAscByID is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderAscByID() UserQuerySet { return qs.w(qs.db.Order("id ASC"))} // OrderAscByRating is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderAscByRating() UserQuerySet { return qs.w(qs.db.Order("rating ASC"))} // OrderAscByRatingMarks is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderAscByRatingMarks() UserQuerySet { return qs.w(qs.db.Order("rating_marks ASC"))} // OrderAscByUpdatedAt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderAscByUpdatedAt() UserQuerySet { return qs.w(qs.db.Order("updated_at ASC"))} // OrderDescByCreatedAt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderDescByCreatedAt() UserQuerySet { return qs.w(qs.db.Order("created_at DESC"))} // OrderDescByDeletedAt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderDescByDeletedAt() UserQuerySet { return qs.w(qs.db.Order("deleted_at DESC"))} // OrderDescByID is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderDescByID() UserQuerySet { return qs.w(qs.db.Order("id DESC"))} // OrderDescByRating is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderDescByRating() UserQuerySet { return qs.w(qs.db.Order("rating DESC"))} // OrderDescByRatingMarks is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderDescByRatingMarks() UserQuerySet { return qs.w(qs.db.Order("rating_marks DESC"))} // OrderDescByUpdatedAt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) OrderDescByUpdatedAt() UserQuerySet { return qs.w(qs.db.Order("updated_at DESC"))} // RatingEq is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingEq(rating int) UserQuerySet { return qs.w(qs.db.Where("rating = ?", rating))} // RatingGt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingGt(rating int) UserQuerySet { return qs.w(qs.db.Where("rating > ?", rating))} // RatingGte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingGte(rating int) UserQuerySet { return qs.w(qs.db.Where("rating >= ?", rating))} // RatingIn is an autogenerated method// nolint: duplSimilar blocks of code found in 6 locations. Consider refactoring.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) } return qs.w(qs.db.Where("rating IN (?)", rating))} // RatingLt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingLt(rating int) UserQuerySet { return qs.w(qs.db.Where("rating < ?", rating))} // RatingLte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingLte(rating int) UserQuerySet { return qs.w(qs.db.Where("rating <= ?", rating))} // RatingMarksEq is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingMarksEq(ratingMarks int) UserQuerySet { return qs.w(qs.db.Where("rating_marks = ?", ratingMarks))} // RatingMarksGt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingMarksGt(ratingMarks int) UserQuerySet { return qs.w(qs.db.Where("rating_marks > ?", ratingMarks))} // RatingMarksGte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingMarksGte(ratingMarks int) UserQuerySet { return qs.w(qs.db.Where("rating_marks >= ?", ratingMarks))} // RatingMarksIn is an autogenerated method// nolint: duplSimilar blocks of code found in 6 locations. Consider refactoring.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) } return qs.w(qs.db.Where("rating_marks IN (?)", ratingMarks))} // RatingMarksLt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingMarksLt(ratingMarks int) UserQuerySet { return qs.w(qs.db.Where("rating_marks < ?", ratingMarks))} // RatingMarksLte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingMarksLte(ratingMarks int) UserQuerySet { return qs.w(qs.db.Where("rating_marks <= ?", ratingMarks))} // RatingMarksNe is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingMarksNe(ratingMarks int) UserQuerySet { return qs.w(qs.db.Where("rating_marks != ?", ratingMarks))} // RatingMarksNotIn is an autogenerated method// nolint: duplSimilar blocks of code found in 6 locations. Consider refactoring.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) } return qs.w(qs.db.Where("rating_marks NOT IN (?)", ratingMarks))} // RatingNe is an autogenerated method// nolint: duplfunc (qs UserQuerySet) RatingNe(rating int) UserQuerySet { return qs.w(qs.db.Where("rating != ?", rating))} // RatingNotIn is an autogenerated method// nolint: duplSimilar blocks of code found in 6 locations. Consider refactoring.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) } return qs.w(qs.db.Where("rating NOT IN (?)", rating))} // UpdatedAtEq is an autogenerated method// nolint: duplfunc (qs UserQuerySet) UpdatedAtEq(updatedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("updated_at = ?", updatedAt))} // UpdatedAtGt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) UpdatedAtGt(updatedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("updated_at > ?", updatedAt))} // UpdatedAtGte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) UpdatedAtGte(updatedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("updated_at >= ?", updatedAt))} // UpdatedAtLt is an autogenerated method// nolint: duplfunc (qs UserQuerySet) UpdatedAtLt(updatedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("updated_at < ?", updatedAt))} // UpdatedAtLte is an autogenerated method// nolint: duplfunc (qs UserQuerySet) UpdatedAtLte(updatedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("updated_at <= ?", updatedAt))} // UpdatedAtNe is an autogenerated method// nolint: duplfunc (qs UserQuerySet) UpdatedAtNe(updatedAt time.Time) UserQuerySet { return qs.w(qs.db.Where("updated_at != ?", updatedAt))} // SetCreatedAt is an autogenerated method// nolint: duplfunc (u UserUpdater) SetCreatedAt(createdAt time.Time) UserUpdater { u.fields[string(UserDBSchema.CreatedAt)] = createdAt return u} // SetDeletedAt is an autogenerated method// nolint: duplfunc (u UserUpdater) SetDeletedAt(deletedAt *time.Time) UserUpdater { u.fields[string(UserDBSchema.DeletedAt)] = deletedAt return u} // SetID is an autogenerated method// nolint: duplfunc (u UserUpdater) SetID(ID uint) UserUpdater { u.fields[string(UserDBSchema.ID)] = ID return u} // SetRating is an autogenerated method// nolint: duplfunc (u UserUpdater) SetRating(rating int) UserUpdater { u.fields[string(UserDBSchema.Rating)] = rating return u} // SetRatingMarks is an autogenerated method// nolint: duplfunc (u UserUpdater) SetRatingMarks(ratingMarks int) UserUpdater { u.fields[string(UserDBSchema.RatingMarks)] = ratingMarks return u} // SetUpdatedAt is an autogenerated method// nolint: duplfunc (u UserUpdater) SetUpdatedAt(updatedAt time.Time) UserUpdater { u.fields[string(UserDBSchema.UpdatedAt)] = updatedAt return u} // Update is an autogenerated method// nolint: duplfunc (u UserUpdater) Update() error { return u.db.Updates(u.fields).Error} // UpdateNum is an autogenerated method// nolint: duplfunc (u UserUpdater) UpdateNum() (int64, error) { db := u.db.Updates(u.fields) return db.RowsAffected, db.Error} // ===== END of query set UserQuerySet // ===== BEGIN of User modifiers // UserDBSchemaField describes database schema field. It requires for method 'Update'type UserDBSchemaField string // String method returns string representation of field.// nolint: duplfunc (f UserDBSchemaField) String() string { return string(f)} // UserDBSchema stores db field names of Uservar UserDBSchema = struct { ID UserDBSchemaField CreatedAt UserDBSchemaField UpdatedAt UserDBSchemaField DeletedAt UserDBSchemaField Rating UserDBSchemaField RatingMarks UserDBSchemaField}{ ID: UserDBSchemaField("id"), CreatedAt: UserDBSchemaField("created_at"), UpdatedAt: UserDBSchemaField("updated_at"), DeletedAt: UserDBSchemaField("deleted_at"), Rating: UserDBSchemaField("rating"), RatingMarks: UserDBSchemaField("rating_marks"),} // Update updates User fields by primary key// nolint: duplfunc (o *User) Update(db *gorm.DB, fields ...UserDBSchemaField) error { dbNameToFieldName := map[string]interface{}{ "id": o.ID, "created_at": o.CreatedAt, "updated_at": o.UpdatedAt, "deleted_at": o.DeletedAt, "rating": o.Rating, "rating_marks": o.RatingMarks, } u := map[string]interface{}{} for _, f := range fields { fs := f.String() u[fs] = dbNameToFieldName[fs] } if err := db.Model(o).Updates(u).Error; err != nil { if err == gorm.ErrRecordNotFound { return err } return fmt.Errorf("can't update User %v fields %v: %s", o, fields, err) } return nil} // UserUpdater is an User updates managertype UserUpdater struct { fields map[string]interface{} db *gorm.DB} // NewUserUpdater creates new User updater// nolint: duplfunc NewUserUpdater(db *gorm.DB) UserUpdater { return UserUpdater{ fields: map[string]interface{}{}, db: db.Model(&User{}), }} // ===== END of User modifiers // ===== END of all query sets