// Code generated by ent, DO NOT EDIT. package user import ( "time" "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" "github.com/hay-kot/homebox/backend/ent/predicate" ) // ID filters vertices based on their ID field. func ID(id uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldID), id)) }) } // IDEQ applies the EQ predicate on the ID field. func IDEQ(id uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldID), id)) }) } // IDNEQ applies the NEQ predicate on the ID field. func IDNEQ(id uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldID), id)) }) } // IDIn applies the In predicate on the ID field. func IDIn(ids ...uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { v := make([]any, len(ids)) for i := range v { v[i] = ids[i] } s.Where(sql.In(s.C(FieldID), v...)) }) } // IDNotIn applies the NotIn predicate on the ID field. func IDNotIn(ids ...uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { v := make([]any, len(ids)) for i := range v { v[i] = ids[i] } s.Where(sql.NotIn(s.C(FieldID), v...)) }) } // IDGT applies the GT predicate on the ID field. func IDGT(id uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GT(s.C(FieldID), id)) }) } // IDGTE applies the GTE predicate on the ID field. func IDGTE(id uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GTE(s.C(FieldID), id)) }) } // IDLT applies the LT predicate on the ID field. func IDLT(id uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LT(s.C(FieldID), id)) }) } // IDLTE applies the LTE predicate on the ID field. func IDLTE(id uuid.UUID) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LTE(s.C(FieldID), id)) }) } // CreatedAt applies equality check predicate on the "created_at" field. It's identical to CreatedAtEQ. func CreatedAt(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldCreatedAt), v)) }) } // UpdatedAt applies equality check predicate on the "updated_at" field. It's identical to UpdatedAtEQ. func UpdatedAt(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldUpdatedAt), v)) }) } // Name applies equality check predicate on the "name" field. It's identical to NameEQ. func Name(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldName), v)) }) } // Email applies equality check predicate on the "email" field. It's identical to EmailEQ. func Email(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldEmail), v)) }) } // Password applies equality check predicate on the "password" field. It's identical to PasswordEQ. func Password(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldPassword), v)) }) } // IsSuperuser applies equality check predicate on the "is_superuser" field. It's identical to IsSuperuserEQ. func IsSuperuser(v bool) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldIsSuperuser), v)) }) } // Superuser applies equality check predicate on the "superuser" field. It's identical to SuperuserEQ. func Superuser(v bool) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldSuperuser), v)) }) } // ActivatedOn applies equality check predicate on the "activated_on" field. It's identical to ActivatedOnEQ. func ActivatedOn(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldActivatedOn), v)) }) } // CreatedAtEQ applies the EQ predicate on the "created_at" field. func CreatedAtEQ(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldCreatedAt), v)) }) } // CreatedAtNEQ applies the NEQ predicate on the "created_at" field. func CreatedAtNEQ(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldCreatedAt), v)) }) } // CreatedAtIn applies the In predicate on the "created_at" field. func CreatedAtIn(vs ...time.Time) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.In(s.C(FieldCreatedAt), v...)) }) } // CreatedAtNotIn applies the NotIn predicate on the "created_at" field. func CreatedAtNotIn(vs ...time.Time) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.NotIn(s.C(FieldCreatedAt), v...)) }) } // CreatedAtGT applies the GT predicate on the "created_at" field. func CreatedAtGT(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GT(s.C(FieldCreatedAt), v)) }) } // CreatedAtGTE applies the GTE predicate on the "created_at" field. func CreatedAtGTE(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GTE(s.C(FieldCreatedAt), v)) }) } // CreatedAtLT applies the LT predicate on the "created_at" field. func CreatedAtLT(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LT(s.C(FieldCreatedAt), v)) }) } // CreatedAtLTE applies the LTE predicate on the "created_at" field. func CreatedAtLTE(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LTE(s.C(FieldCreatedAt), v)) }) } // UpdatedAtEQ applies the EQ predicate on the "updated_at" field. func UpdatedAtEQ(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldUpdatedAt), v)) }) } // UpdatedAtNEQ applies the NEQ predicate on the "updated_at" field. func UpdatedAtNEQ(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldUpdatedAt), v)) }) } // UpdatedAtIn applies the In predicate on the "updated_at" field. func UpdatedAtIn(vs ...time.Time) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.In(s.C(FieldUpdatedAt), v...)) }) } // UpdatedAtNotIn applies the NotIn predicate on the "updated_at" field. func UpdatedAtNotIn(vs ...time.Time) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.NotIn(s.C(FieldUpdatedAt), v...)) }) } // UpdatedAtGT applies the GT predicate on the "updated_at" field. func UpdatedAtGT(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GT(s.C(FieldUpdatedAt), v)) }) } // UpdatedAtGTE applies the GTE predicate on the "updated_at" field. func UpdatedAtGTE(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GTE(s.C(FieldUpdatedAt), v)) }) } // UpdatedAtLT applies the LT predicate on the "updated_at" field. func UpdatedAtLT(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LT(s.C(FieldUpdatedAt), v)) }) } // UpdatedAtLTE applies the LTE predicate on the "updated_at" field. func UpdatedAtLTE(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LTE(s.C(FieldUpdatedAt), v)) }) } // NameEQ applies the EQ predicate on the "name" field. func NameEQ(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldName), v)) }) } // NameNEQ applies the NEQ predicate on the "name" field. func NameNEQ(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldName), v)) }) } // NameIn applies the In predicate on the "name" field. func NameIn(vs ...string) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.In(s.C(FieldName), v...)) }) } // NameNotIn applies the NotIn predicate on the "name" field. func NameNotIn(vs ...string) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.NotIn(s.C(FieldName), v...)) }) } // NameGT applies the GT predicate on the "name" field. func NameGT(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GT(s.C(FieldName), v)) }) } // NameGTE applies the GTE predicate on the "name" field. func NameGTE(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GTE(s.C(FieldName), v)) }) } // NameLT applies the LT predicate on the "name" field. func NameLT(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LT(s.C(FieldName), v)) }) } // NameLTE applies the LTE predicate on the "name" field. func NameLTE(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LTE(s.C(FieldName), v)) }) } // NameContains applies the Contains predicate on the "name" field. func NameContains(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.Contains(s.C(FieldName), v)) }) } // NameHasPrefix applies the HasPrefix predicate on the "name" field. func NameHasPrefix(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.HasPrefix(s.C(FieldName), v)) }) } // NameHasSuffix applies the HasSuffix predicate on the "name" field. func NameHasSuffix(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.HasSuffix(s.C(FieldName), v)) }) } // NameEqualFold applies the EqualFold predicate on the "name" field. func NameEqualFold(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EqualFold(s.C(FieldName), v)) }) } // NameContainsFold applies the ContainsFold predicate on the "name" field. func NameContainsFold(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.ContainsFold(s.C(FieldName), v)) }) } // EmailEQ applies the EQ predicate on the "email" field. func EmailEQ(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldEmail), v)) }) } // EmailNEQ applies the NEQ predicate on the "email" field. func EmailNEQ(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldEmail), v)) }) } // EmailIn applies the In predicate on the "email" field. func EmailIn(vs ...string) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.In(s.C(FieldEmail), v...)) }) } // EmailNotIn applies the NotIn predicate on the "email" field. func EmailNotIn(vs ...string) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.NotIn(s.C(FieldEmail), v...)) }) } // EmailGT applies the GT predicate on the "email" field. func EmailGT(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GT(s.C(FieldEmail), v)) }) } // EmailGTE applies the GTE predicate on the "email" field. func EmailGTE(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GTE(s.C(FieldEmail), v)) }) } // EmailLT applies the LT predicate on the "email" field. func EmailLT(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LT(s.C(FieldEmail), v)) }) } // EmailLTE applies the LTE predicate on the "email" field. func EmailLTE(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LTE(s.C(FieldEmail), v)) }) } // EmailContains applies the Contains predicate on the "email" field. func EmailContains(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.Contains(s.C(FieldEmail), v)) }) } // EmailHasPrefix applies the HasPrefix predicate on the "email" field. func EmailHasPrefix(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.HasPrefix(s.C(FieldEmail), v)) }) } // EmailHasSuffix applies the HasSuffix predicate on the "email" field. func EmailHasSuffix(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.HasSuffix(s.C(FieldEmail), v)) }) } // EmailEqualFold applies the EqualFold predicate on the "email" field. func EmailEqualFold(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EqualFold(s.C(FieldEmail), v)) }) } // EmailContainsFold applies the ContainsFold predicate on the "email" field. func EmailContainsFold(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.ContainsFold(s.C(FieldEmail), v)) }) } // PasswordEQ applies the EQ predicate on the "password" field. func PasswordEQ(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldPassword), v)) }) } // PasswordNEQ applies the NEQ predicate on the "password" field. func PasswordNEQ(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldPassword), v)) }) } // PasswordIn applies the In predicate on the "password" field. func PasswordIn(vs ...string) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.In(s.C(FieldPassword), v...)) }) } // PasswordNotIn applies the NotIn predicate on the "password" field. func PasswordNotIn(vs ...string) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.NotIn(s.C(FieldPassword), v...)) }) } // PasswordGT applies the GT predicate on the "password" field. func PasswordGT(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GT(s.C(FieldPassword), v)) }) } // PasswordGTE applies the GTE predicate on the "password" field. func PasswordGTE(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GTE(s.C(FieldPassword), v)) }) } // PasswordLT applies the LT predicate on the "password" field. func PasswordLT(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LT(s.C(FieldPassword), v)) }) } // PasswordLTE applies the LTE predicate on the "password" field. func PasswordLTE(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LTE(s.C(FieldPassword), v)) }) } // PasswordContains applies the Contains predicate on the "password" field. func PasswordContains(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.Contains(s.C(FieldPassword), v)) }) } // PasswordHasPrefix applies the HasPrefix predicate on the "password" field. func PasswordHasPrefix(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.HasPrefix(s.C(FieldPassword), v)) }) } // PasswordHasSuffix applies the HasSuffix predicate on the "password" field. func PasswordHasSuffix(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.HasSuffix(s.C(FieldPassword), v)) }) } // PasswordEqualFold applies the EqualFold predicate on the "password" field. func PasswordEqualFold(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EqualFold(s.C(FieldPassword), v)) }) } // PasswordContainsFold applies the ContainsFold predicate on the "password" field. func PasswordContainsFold(v string) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.ContainsFold(s.C(FieldPassword), v)) }) } // IsSuperuserEQ applies the EQ predicate on the "is_superuser" field. func IsSuperuserEQ(v bool) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldIsSuperuser), v)) }) } // IsSuperuserNEQ applies the NEQ predicate on the "is_superuser" field. func IsSuperuserNEQ(v bool) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldIsSuperuser), v)) }) } // RoleEQ applies the EQ predicate on the "role" field. func RoleEQ(v Role) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldRole), v)) }) } // RoleNEQ applies the NEQ predicate on the "role" field. func RoleNEQ(v Role) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldRole), v)) }) } // RoleIn applies the In predicate on the "role" field. func RoleIn(vs ...Role) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.In(s.C(FieldRole), v...)) }) } // RoleNotIn applies the NotIn predicate on the "role" field. func RoleNotIn(vs ...Role) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.NotIn(s.C(FieldRole), v...)) }) } // SuperuserEQ applies the EQ predicate on the "superuser" field. func SuperuserEQ(v bool) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldSuperuser), v)) }) } // SuperuserNEQ applies the NEQ predicate on the "superuser" field. func SuperuserNEQ(v bool) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldSuperuser), v)) }) } // ActivatedOnEQ applies the EQ predicate on the "activated_on" field. func ActivatedOnEQ(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.EQ(s.C(FieldActivatedOn), v)) }) } // ActivatedOnNEQ applies the NEQ predicate on the "activated_on" field. func ActivatedOnNEQ(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NEQ(s.C(FieldActivatedOn), v)) }) } // ActivatedOnIn applies the In predicate on the "activated_on" field. func ActivatedOnIn(vs ...time.Time) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.In(s.C(FieldActivatedOn), v...)) }) } // ActivatedOnNotIn applies the NotIn predicate on the "activated_on" field. func ActivatedOnNotIn(vs ...time.Time) predicate.User { v := make([]any, len(vs)) for i := range v { v[i] = vs[i] } return predicate.User(func(s *sql.Selector) { s.Where(sql.NotIn(s.C(FieldActivatedOn), v...)) }) } // ActivatedOnGT applies the GT predicate on the "activated_on" field. func ActivatedOnGT(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GT(s.C(FieldActivatedOn), v)) }) } // ActivatedOnGTE applies the GTE predicate on the "activated_on" field. func ActivatedOnGTE(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.GTE(s.C(FieldActivatedOn), v)) }) } // ActivatedOnLT applies the LT predicate on the "activated_on" field. func ActivatedOnLT(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LT(s.C(FieldActivatedOn), v)) }) } // ActivatedOnLTE applies the LTE predicate on the "activated_on" field. func ActivatedOnLTE(v time.Time) predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.LTE(s.C(FieldActivatedOn), v)) }) } // ActivatedOnIsNil applies the IsNil predicate on the "activated_on" field. func ActivatedOnIsNil() predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.IsNull(s.C(FieldActivatedOn))) }) } // ActivatedOnNotNil applies the NotNil predicate on the "activated_on" field. func ActivatedOnNotNil() predicate.User { return predicate.User(func(s *sql.Selector) { s.Where(sql.NotNull(s.C(FieldActivatedOn))) }) } // HasGroup applies the HasEdge predicate on the "group" edge. func HasGroup() predicate.User { return predicate.User(func(s *sql.Selector) { step := sqlgraph.NewStep( sqlgraph.From(Table, FieldID), sqlgraph.To(GroupTable, FieldID), sqlgraph.Edge(sqlgraph.M2O, true, GroupTable, GroupColumn), ) sqlgraph.HasNeighbors(s, step) }) } // HasGroupWith applies the HasEdge predicate on the "group" edge with a given conditions (other predicates). func HasGroupWith(preds ...predicate.Group) predicate.User { return predicate.User(func(s *sql.Selector) { step := sqlgraph.NewStep( sqlgraph.From(Table, FieldID), sqlgraph.To(GroupInverseTable, FieldID), sqlgraph.Edge(sqlgraph.M2O, true, GroupTable, GroupColumn), ) sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) } }) }) } // HasAuthTokens applies the HasEdge predicate on the "auth_tokens" edge. func HasAuthTokens() predicate.User { return predicate.User(func(s *sql.Selector) { step := sqlgraph.NewStep( sqlgraph.From(Table, FieldID), sqlgraph.To(AuthTokensTable, FieldID), sqlgraph.Edge(sqlgraph.O2M, false, AuthTokensTable, AuthTokensColumn), ) sqlgraph.HasNeighbors(s, step) }) } // HasAuthTokensWith applies the HasEdge predicate on the "auth_tokens" edge with a given conditions (other predicates). func HasAuthTokensWith(preds ...predicate.AuthTokens) predicate.User { return predicate.User(func(s *sql.Selector) { step := sqlgraph.NewStep( sqlgraph.From(Table, FieldID), sqlgraph.To(AuthTokensInverseTable, FieldID), sqlgraph.Edge(sqlgraph.O2M, false, AuthTokensTable, AuthTokensColumn), ) sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) } }) }) } // And groups predicates with the AND operator between them. func And(predicates ...predicate.User) predicate.User { return predicate.User(func(s *sql.Selector) { s1 := s.Clone().SetP(nil) for _, p := range predicates { p(s1) } s.Where(s1.P()) }) } // Or groups predicates with the OR operator between them. func Or(predicates ...predicate.User) predicate.User { return predicate.User(func(s *sql.Selector) { s1 := s.Clone().SetP(nil) for i, p := range predicates { if i > 0 { s1.Or() } p(s1) } s.Where(s1.P()) }) } // Not applies the not operator on the given predicate. func Not(p predicate.User) predicate.User { return predicate.User(func(s *sql.Selector) { p(s.Not()) }) }