123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944 |
- // Code generated by entc, DO NOT EDIT.
- package ent
- import (
- "context"
- "errors"
- "fmt"
- "sync"
- "time"
- "code.osinet.fr/fgm/go__ent_demo/ent/car"
- "code.osinet.fr/fgm/go__ent_demo/ent/group"
- "code.osinet.fr/fgm/go__ent_demo/ent/predicate"
- "code.osinet.fr/fgm/go__ent_demo/ent/user"
- "entgo.io/ent"
- )
- const (
- // Operation types.
- OpCreate = ent.OpCreate
- OpDelete = ent.OpDelete
- OpDeleteOne = ent.OpDeleteOne
- OpUpdate = ent.OpUpdate
- OpUpdateOne = ent.OpUpdateOne
- // Node types.
- TypeCar = "Car"
- TypeGroup = "Group"
- TypeUser = "User"
- )
- // CarMutation represents an operation that mutates the Car nodes in the graph.
- type CarMutation struct {
- config
- op Op
- typ string
- id *int
- model *string
- registered_at *time.Time
- clearedFields map[string]struct{}
- owner *int
- clearedowner bool
- done bool
- oldValue func(context.Context) (*Car, error)
- predicates []predicate.Car
- }
- var _ ent.Mutation = (*CarMutation)(nil)
- // carOption allows management of the mutation configuration using functional options.
- type carOption func(*CarMutation)
- // newCarMutation creates new mutation for the Car entity.
- func newCarMutation(c config, op Op, opts ...carOption) *CarMutation {
- m := &CarMutation{
- config: c,
- op: op,
- typ: TypeCar,
- clearedFields: make(map[string]struct{}),
- }
- for _, opt := range opts {
- opt(m)
- }
- return m
- }
- // withCarID sets the ID field of the mutation.
- func withCarID(id int) carOption {
- return func(m *CarMutation) {
- var (
- err error
- once sync.Once
- value *Car
- )
- m.oldValue = func(ctx context.Context) (*Car, error) {
- once.Do(func() {
- if m.done {
- err = errors.New("querying old values post mutation is not allowed")
- } else {
- value, err = m.Client().Car.Get(ctx, id)
- }
- })
- return value, err
- }
- m.id = &id
- }
- }
- // withCar sets the old Car of the mutation.
- func withCar(node *Car) carOption {
- return func(m *CarMutation) {
- m.oldValue = func(context.Context) (*Car, error) {
- return node, nil
- }
- m.id = &node.ID
- }
- }
- // Client returns a new `ent.Client` from the mutation. If the mutation was
- // executed in a transaction (ent.Tx), a transactional client is returned.
- func (m CarMutation) Client() *Client {
- client := &Client{config: m.config}
- client.init()
- return client
- }
- // Tx returns an `ent.Tx` for mutations that were executed in transactions;
- // it returns an error otherwise.
- func (m CarMutation) Tx() (*Tx, error) {
- if _, ok := m.driver.(*txDriver); !ok {
- return nil, errors.New("ent: mutation is not running in a transaction")
- }
- tx := &Tx{config: m.config}
- tx.init()
- return tx, nil
- }
- // ID returns the ID value in the mutation. Note that the ID is only available
- // if it was provided to the builder or after it was returned from the database.
- func (m *CarMutation) ID() (id int, exists bool) {
- if m.id == nil {
- return
- }
- return *m.id, true
- }
- // IDs queries the database and returns the entity ids that match the mutation's predicate.
- // That means, if the mutation is applied within a transaction with an isolation level such
- // as sql.LevelSerializable, the returned ids match the ids of the rows that will be updated
- // or updated by the mutation.
- func (m *CarMutation) IDs(ctx context.Context) ([]int, error) {
- switch {
- case m.op.Is(OpUpdateOne | OpDeleteOne):
- id, exists := m.ID()
- if exists {
- return []int{id}, nil
- }
- fallthrough
- case m.op.Is(OpUpdate | OpDelete):
- return m.Client().Car.Query().Where(m.predicates...).IDs(ctx)
- default:
- return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
- }
- }
- // SetModel sets the "model" field.
- func (m *CarMutation) SetModel(s string) {
- m.model = &s
- }
- // Model returns the value of the "model" field in the mutation.
- func (m *CarMutation) Model() (r string, exists bool) {
- v := m.model
- if v == nil {
- return
- }
- return *v, true
- }
- // OldModel returns the old "model" field's value of the Car entity.
- // If the Car object wasn't provided to the builder, the object is fetched from the database.
- // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
- func (m *CarMutation) OldModel(ctx context.Context) (v string, err error) {
- if !m.op.Is(OpUpdateOne) {
- return v, errors.New("OldModel is only allowed on UpdateOne operations")
- }
- if m.id == nil || m.oldValue == nil {
- return v, errors.New("OldModel requires an ID field in the mutation")
- }
- oldValue, err := m.oldValue(ctx)
- if err != nil {
- return v, fmt.Errorf("querying old value for OldModel: %w", err)
- }
- return oldValue.Model, nil
- }
- // ResetModel resets all changes to the "model" field.
- func (m *CarMutation) ResetModel() {
- m.model = nil
- }
- // SetRegisteredAt sets the "registered_at" field.
- func (m *CarMutation) SetRegisteredAt(t time.Time) {
- m.registered_at = &t
- }
- // RegisteredAt returns the value of the "registered_at" field in the mutation.
- func (m *CarMutation) RegisteredAt() (r time.Time, exists bool) {
- v := m.registered_at
- if v == nil {
- return
- }
- return *v, true
- }
- // OldRegisteredAt returns the old "registered_at" field's value of the Car entity.
- // If the Car object wasn't provided to the builder, the object is fetched from the database.
- // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
- func (m *CarMutation) OldRegisteredAt(ctx context.Context) (v time.Time, err error) {
- if !m.op.Is(OpUpdateOne) {
- return v, errors.New("OldRegisteredAt is only allowed on UpdateOne operations")
- }
- if m.id == nil || m.oldValue == nil {
- return v, errors.New("OldRegisteredAt requires an ID field in the mutation")
- }
- oldValue, err := m.oldValue(ctx)
- if err != nil {
- return v, fmt.Errorf("querying old value for OldRegisteredAt: %w", err)
- }
- return oldValue.RegisteredAt, nil
- }
- // ResetRegisteredAt resets all changes to the "registered_at" field.
- func (m *CarMutation) ResetRegisteredAt() {
- m.registered_at = nil
- }
- // SetOwnerID sets the "owner" edge to the User entity by id.
- func (m *CarMutation) SetOwnerID(id int) {
- m.owner = &id
- }
- // ClearOwner clears the "owner" edge to the User entity.
- func (m *CarMutation) ClearOwner() {
- m.clearedowner = true
- }
- // OwnerCleared reports if the "owner" edge to the User entity was cleared.
- func (m *CarMutation) OwnerCleared() bool {
- return m.clearedowner
- }
- // OwnerID returns the "owner" edge ID in the mutation.
- func (m *CarMutation) OwnerID() (id int, exists bool) {
- if m.owner != nil {
- return *m.owner, true
- }
- return
- }
- // OwnerIDs returns the "owner" edge IDs in the mutation.
- // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
- // OwnerID instead. It exists only for internal usage by the builders.
- func (m *CarMutation) OwnerIDs() (ids []int) {
- if id := m.owner; id != nil {
- ids = append(ids, *id)
- }
- return
- }
- // ResetOwner resets all changes to the "owner" edge.
- func (m *CarMutation) ResetOwner() {
- m.owner = nil
- m.clearedowner = false
- }
- // Where appends a list predicates to the CarMutation builder.
- func (m *CarMutation) Where(ps ...predicate.Car) {
- m.predicates = append(m.predicates, ps...)
- }
- // Op returns the operation name.
- func (m *CarMutation) Op() Op {
- return m.op
- }
- // Type returns the node type of this mutation (Car).
- func (m *CarMutation) Type() string {
- return m.typ
- }
- // Fields returns all fields that were changed during this mutation. Note that in
- // order to get all numeric fields that were incremented/decremented, call
- // AddedFields().
- func (m *CarMutation) Fields() []string {
- fields := make([]string, 0, 2)
- if m.model != nil {
- fields = append(fields, car.FieldModel)
- }
- if m.registered_at != nil {
- fields = append(fields, car.FieldRegisteredAt)
- }
- return fields
- }
- // Field returns the value of a field with the given name. The second boolean
- // return value indicates that this field was not set, or was not defined in the
- // schema.
- func (m *CarMutation) Field(name string) (ent.Value, bool) {
- switch name {
- case car.FieldModel:
- return m.Model()
- case car.FieldRegisteredAt:
- return m.RegisteredAt()
- }
- return nil, false
- }
- // OldField returns the old value of the field from the database. An error is
- // returned if the mutation operation is not UpdateOne, or the query to the
- // database failed.
- func (m *CarMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
- switch name {
- case car.FieldModel:
- return m.OldModel(ctx)
- case car.FieldRegisteredAt:
- return m.OldRegisteredAt(ctx)
- }
- return nil, fmt.Errorf("unknown Car field %s", name)
- }
- // SetField sets the value of a field with the given name. It returns an error if
- // the field is not defined in the schema, or if the type mismatched the field
- // type.
- func (m *CarMutation) SetField(name string, value ent.Value) error {
- switch name {
- case car.FieldModel:
- v, ok := value.(string)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.SetModel(v)
- return nil
- case car.FieldRegisteredAt:
- v, ok := value.(time.Time)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.SetRegisteredAt(v)
- return nil
- }
- return fmt.Errorf("unknown Car field %s", name)
- }
- // AddedFields returns all numeric fields that were incremented/decremented during
- // this mutation.
- func (m *CarMutation) AddedFields() []string {
- return nil
- }
- // AddedField returns the numeric value that was incremented/decremented on a field
- // with the given name. The second boolean return value indicates that this field
- // was not set, or was not defined in the schema.
- func (m *CarMutation) AddedField(name string) (ent.Value, bool) {
- return nil, false
- }
- // AddField adds the value to the field with the given name. It returns an error if
- // the field is not defined in the schema, or if the type mismatched the field
- // type.
- func (m *CarMutation) AddField(name string, value ent.Value) error {
- switch name {
- }
- return fmt.Errorf("unknown Car numeric field %s", name)
- }
- // ClearedFields returns all nullable fields that were cleared during this
- // mutation.
- func (m *CarMutation) ClearedFields() []string {
- return nil
- }
- // FieldCleared returns a boolean indicating if a field with the given name was
- // cleared in this mutation.
- func (m *CarMutation) FieldCleared(name string) bool {
- _, ok := m.clearedFields[name]
- return ok
- }
- // ClearField clears the value of the field with the given name. It returns an
- // error if the field is not defined in the schema.
- func (m *CarMutation) ClearField(name string) error {
- return fmt.Errorf("unknown Car nullable field %s", name)
- }
- // ResetField resets all changes in the mutation for the field with the given name.
- // It returns an error if the field is not defined in the schema.
- func (m *CarMutation) ResetField(name string) error {
- switch name {
- case car.FieldModel:
- m.ResetModel()
- return nil
- case car.FieldRegisteredAt:
- m.ResetRegisteredAt()
- return nil
- }
- return fmt.Errorf("unknown Car field %s", name)
- }
- // AddedEdges returns all edge names that were set/added in this mutation.
- func (m *CarMutation) AddedEdges() []string {
- edges := make([]string, 0, 1)
- if m.owner != nil {
- edges = append(edges, car.EdgeOwner)
- }
- return edges
- }
- // AddedIDs returns all IDs (to other nodes) that were added for the given edge
- // name in this mutation.
- func (m *CarMutation) AddedIDs(name string) []ent.Value {
- switch name {
- case car.EdgeOwner:
- if id := m.owner; id != nil {
- return []ent.Value{*id}
- }
- }
- return nil
- }
- // RemovedEdges returns all edge names that were removed in this mutation.
- func (m *CarMutation) RemovedEdges() []string {
- edges := make([]string, 0, 1)
- return edges
- }
- // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with
- // the given name in this mutation.
- func (m *CarMutation) RemovedIDs(name string) []ent.Value {
- switch name {
- }
- return nil
- }
- // ClearedEdges returns all edge names that were cleared in this mutation.
- func (m *CarMutation) ClearedEdges() []string {
- edges := make([]string, 0, 1)
- if m.clearedowner {
- edges = append(edges, car.EdgeOwner)
- }
- return edges
- }
- // EdgeCleared returns a boolean which indicates if the edge with the given name
- // was cleared in this mutation.
- func (m *CarMutation) EdgeCleared(name string) bool {
- switch name {
- case car.EdgeOwner:
- return m.clearedowner
- }
- return false
- }
- // ClearEdge clears the value of the edge with the given name. It returns an error
- // if that edge is not defined in the schema.
- func (m *CarMutation) ClearEdge(name string) error {
- switch name {
- case car.EdgeOwner:
- m.ClearOwner()
- return nil
- }
- return fmt.Errorf("unknown Car unique edge %s", name)
- }
- // ResetEdge resets all changes to the edge with the given name in this mutation.
- // It returns an error if the edge is not defined in the schema.
- func (m *CarMutation) ResetEdge(name string) error {
- switch name {
- case car.EdgeOwner:
- m.ResetOwner()
- return nil
- }
- return fmt.Errorf("unknown Car edge %s", name)
- }
- // GroupMutation represents an operation that mutates the Group nodes in the graph.
- type GroupMutation struct {
- config
- op Op
- typ string
- id *int
- name *string
- clearedFields map[string]struct{}
- users map[int]struct{}
- removedusers map[int]struct{}
- clearedusers bool
- done bool
- oldValue func(context.Context) (*Group, error)
- predicates []predicate.Group
- }
- var _ ent.Mutation = (*GroupMutation)(nil)
- // groupOption allows management of the mutation configuration using functional options.
- type groupOption func(*GroupMutation)
- // newGroupMutation creates new mutation for the Group entity.
- func newGroupMutation(c config, op Op, opts ...groupOption) *GroupMutation {
- m := &GroupMutation{
- config: c,
- op: op,
- typ: TypeGroup,
- clearedFields: make(map[string]struct{}),
- }
- for _, opt := range opts {
- opt(m)
- }
- return m
- }
- // withGroupID sets the ID field of the mutation.
- func withGroupID(id int) groupOption {
- return func(m *GroupMutation) {
- var (
- err error
- once sync.Once
- value *Group
- )
- m.oldValue = func(ctx context.Context) (*Group, error) {
- once.Do(func() {
- if m.done {
- err = errors.New("querying old values post mutation is not allowed")
- } else {
- value, err = m.Client().Group.Get(ctx, id)
- }
- })
- return value, err
- }
- m.id = &id
- }
- }
- // withGroup sets the old Group of the mutation.
- func withGroup(node *Group) groupOption {
- return func(m *GroupMutation) {
- m.oldValue = func(context.Context) (*Group, error) {
- return node, nil
- }
- m.id = &node.ID
- }
- }
- // Client returns a new `ent.Client` from the mutation. If the mutation was
- // executed in a transaction (ent.Tx), a transactional client is returned.
- func (m GroupMutation) Client() *Client {
- client := &Client{config: m.config}
- client.init()
- return client
- }
- // Tx returns an `ent.Tx` for mutations that were executed in transactions;
- // it returns an error otherwise.
- func (m GroupMutation) Tx() (*Tx, error) {
- if _, ok := m.driver.(*txDriver); !ok {
- return nil, errors.New("ent: mutation is not running in a transaction")
- }
- tx := &Tx{config: m.config}
- tx.init()
- return tx, nil
- }
- // ID returns the ID value in the mutation. Note that the ID is only available
- // if it was provided to the builder or after it was returned from the database.
- func (m *GroupMutation) ID() (id int, exists bool) {
- if m.id == nil {
- return
- }
- return *m.id, true
- }
- // IDs queries the database and returns the entity ids that match the mutation's predicate.
- // That means, if the mutation is applied within a transaction with an isolation level such
- // as sql.LevelSerializable, the returned ids match the ids of the rows that will be updated
- // or updated by the mutation.
- func (m *GroupMutation) IDs(ctx context.Context) ([]int, error) {
- switch {
- case m.op.Is(OpUpdateOne | OpDeleteOne):
- id, exists := m.ID()
- if exists {
- return []int{id}, nil
- }
- fallthrough
- case m.op.Is(OpUpdate | OpDelete):
- return m.Client().Group.Query().Where(m.predicates...).IDs(ctx)
- default:
- return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
- }
- }
- // SetName sets the "name" field.
- func (m *GroupMutation) SetName(s string) {
- m.name = &s
- }
- // Name returns the value of the "name" field in the mutation.
- func (m *GroupMutation) Name() (r string, exists bool) {
- v := m.name
- if v == nil {
- return
- }
- return *v, true
- }
- // OldName returns the old "name" field's value of the Group entity.
- // If the Group object wasn't provided to the builder, the object is fetched from the database.
- // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
- func (m *GroupMutation) OldName(ctx context.Context) (v string, err error) {
- if !m.op.Is(OpUpdateOne) {
- return v, errors.New("OldName is only allowed on UpdateOne operations")
- }
- if m.id == nil || m.oldValue == nil {
- return v, errors.New("OldName requires an ID field in the mutation")
- }
- oldValue, err := m.oldValue(ctx)
- if err != nil {
- return v, fmt.Errorf("querying old value for OldName: %w", err)
- }
- return oldValue.Name, nil
- }
- // ResetName resets all changes to the "name" field.
- func (m *GroupMutation) ResetName() {
- m.name = nil
- }
- // AddUserIDs adds the "users" edge to the User entity by ids.
- func (m *GroupMutation) AddUserIDs(ids ...int) {
- if m.users == nil {
- m.users = make(map[int]struct{})
- }
- for i := range ids {
- m.users[ids[i]] = struct{}{}
- }
- }
- // ClearUsers clears the "users" edge to the User entity.
- func (m *GroupMutation) ClearUsers() {
- m.clearedusers = true
- }
- // UsersCleared reports if the "users" edge to the User entity was cleared.
- func (m *GroupMutation) UsersCleared() bool {
- return m.clearedusers
- }
- // RemoveUserIDs removes the "users" edge to the User entity by IDs.
- func (m *GroupMutation) RemoveUserIDs(ids ...int) {
- if m.removedusers == nil {
- m.removedusers = make(map[int]struct{})
- }
- for i := range ids {
- delete(m.users, ids[i])
- m.removedusers[ids[i]] = struct{}{}
- }
- }
- // RemovedUsers returns the removed IDs of the "users" edge to the User entity.
- func (m *GroupMutation) RemovedUsersIDs() (ids []int) {
- for id := range m.removedusers {
- ids = append(ids, id)
- }
- return
- }
- // UsersIDs returns the "users" edge IDs in the mutation.
- func (m *GroupMutation) UsersIDs() (ids []int) {
- for id := range m.users {
- ids = append(ids, id)
- }
- return
- }
- // ResetUsers resets all changes to the "users" edge.
- func (m *GroupMutation) ResetUsers() {
- m.users = nil
- m.clearedusers = false
- m.removedusers = nil
- }
- // Where appends a list predicates to the GroupMutation builder.
- func (m *GroupMutation) Where(ps ...predicate.Group) {
- m.predicates = append(m.predicates, ps...)
- }
- // Op returns the operation name.
- func (m *GroupMutation) Op() Op {
- return m.op
- }
- // Type returns the node type of this mutation (Group).
- func (m *GroupMutation) Type() string {
- return m.typ
- }
- // Fields returns all fields that were changed during this mutation. Note that in
- // order to get all numeric fields that were incremented/decremented, call
- // AddedFields().
- func (m *GroupMutation) Fields() []string {
- fields := make([]string, 0, 1)
- if m.name != nil {
- fields = append(fields, group.FieldName)
- }
- return fields
- }
- // Field returns the value of a field with the given name. The second boolean
- // return value indicates that this field was not set, or was not defined in the
- // schema.
- func (m *GroupMutation) Field(name string) (ent.Value, bool) {
- switch name {
- case group.FieldName:
- return m.Name()
- }
- return nil, false
- }
- // OldField returns the old value of the field from the database. An error is
- // returned if the mutation operation is not UpdateOne, or the query to the
- // database failed.
- func (m *GroupMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
- switch name {
- case group.FieldName:
- return m.OldName(ctx)
- }
- return nil, fmt.Errorf("unknown Group field %s", name)
- }
- // SetField sets the value of a field with the given name. It returns an error if
- // the field is not defined in the schema, or if the type mismatched the field
- // type.
- func (m *GroupMutation) SetField(name string, value ent.Value) error {
- switch name {
- case group.FieldName:
- v, ok := value.(string)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.SetName(v)
- return nil
- }
- return fmt.Errorf("unknown Group field %s", name)
- }
- // AddedFields returns all numeric fields that were incremented/decremented during
- // this mutation.
- func (m *GroupMutation) AddedFields() []string {
- return nil
- }
- // AddedField returns the numeric value that was incremented/decremented on a field
- // with the given name. The second boolean return value indicates that this field
- // was not set, or was not defined in the schema.
- func (m *GroupMutation) AddedField(name string) (ent.Value, bool) {
- return nil, false
- }
- // AddField adds the value to the field with the given name. It returns an error if
- // the field is not defined in the schema, or if the type mismatched the field
- // type.
- func (m *GroupMutation) AddField(name string, value ent.Value) error {
- switch name {
- }
- return fmt.Errorf("unknown Group numeric field %s", name)
- }
- // ClearedFields returns all nullable fields that were cleared during this
- // mutation.
- func (m *GroupMutation) ClearedFields() []string {
- return nil
- }
- // FieldCleared returns a boolean indicating if a field with the given name was
- // cleared in this mutation.
- func (m *GroupMutation) FieldCleared(name string) bool {
- _, ok := m.clearedFields[name]
- return ok
- }
- // ClearField clears the value of the field with the given name. It returns an
- // error if the field is not defined in the schema.
- func (m *GroupMutation) ClearField(name string) error {
- return fmt.Errorf("unknown Group nullable field %s", name)
- }
- // ResetField resets all changes in the mutation for the field with the given name.
- // It returns an error if the field is not defined in the schema.
- func (m *GroupMutation) ResetField(name string) error {
- switch name {
- case group.FieldName:
- m.ResetName()
- return nil
- }
- return fmt.Errorf("unknown Group field %s", name)
- }
- // AddedEdges returns all edge names that were set/added in this mutation.
- func (m *GroupMutation) AddedEdges() []string {
- edges := make([]string, 0, 1)
- if m.users != nil {
- edges = append(edges, group.EdgeUsers)
- }
- return edges
- }
- // AddedIDs returns all IDs (to other nodes) that were added for the given edge
- // name in this mutation.
- func (m *GroupMutation) AddedIDs(name string) []ent.Value {
- switch name {
- case group.EdgeUsers:
- ids := make([]ent.Value, 0, len(m.users))
- for id := range m.users {
- ids = append(ids, id)
- }
- return ids
- }
- return nil
- }
- // RemovedEdges returns all edge names that were removed in this mutation.
- func (m *GroupMutation) RemovedEdges() []string {
- edges := make([]string, 0, 1)
- if m.removedusers != nil {
- edges = append(edges, group.EdgeUsers)
- }
- return edges
- }
- // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with
- // the given name in this mutation.
- func (m *GroupMutation) RemovedIDs(name string) []ent.Value {
- switch name {
- case group.EdgeUsers:
- ids := make([]ent.Value, 0, len(m.removedusers))
- for id := range m.removedusers {
- ids = append(ids, id)
- }
- return ids
- }
- return nil
- }
- // ClearedEdges returns all edge names that were cleared in this mutation.
- func (m *GroupMutation) ClearedEdges() []string {
- edges := make([]string, 0, 1)
- if m.clearedusers {
- edges = append(edges, group.EdgeUsers)
- }
- return edges
- }
- // EdgeCleared returns a boolean which indicates if the edge with the given name
- // was cleared in this mutation.
- func (m *GroupMutation) EdgeCleared(name string) bool {
- switch name {
- case group.EdgeUsers:
- return m.clearedusers
- }
- return false
- }
- // ClearEdge clears the value of the edge with the given name. It returns an error
- // if that edge is not defined in the schema.
- func (m *GroupMutation) ClearEdge(name string) error {
- switch name {
- }
- return fmt.Errorf("unknown Group unique edge %s", name)
- }
- // ResetEdge resets all changes to the edge with the given name in this mutation.
- // It returns an error if the edge is not defined in the schema.
- func (m *GroupMutation) ResetEdge(name string) error {
- switch name {
- case group.EdgeUsers:
- m.ResetUsers()
- return nil
- }
- return fmt.Errorf("unknown Group edge %s", name)
- }
- // UserMutation represents an operation that mutates the User nodes in the graph.
- type UserMutation struct {
- config
- op Op
- typ string
- id *int
- age *int
- addage *int
- name *string
- password *string
- size *user.Size
- clearedFields map[string]struct{}
- cars map[int]struct{}
- removedcars map[int]struct{}
- clearedcars bool
- groups map[int]struct{}
- removedgroups map[int]struct{}
- clearedgroups bool
- spouse *int
- clearedspouse bool
- followers map[int]struct{}
- removedfollowers map[int]struct{}
- clearedfollowers bool
- following map[int]struct{}
- removedfollowing map[int]struct{}
- clearedfollowing bool
- friends map[int]struct{}
- removedfriends map[int]struct{}
- clearedfriends bool
- done bool
- oldValue func(context.Context) (*User, error)
- predicates []predicate.User
- }
- var _ ent.Mutation = (*UserMutation)(nil)
- // userOption allows management of the mutation configuration using functional options.
- type userOption func(*UserMutation)
- // newUserMutation creates new mutation for the User entity.
- func newUserMutation(c config, op Op, opts ...userOption) *UserMutation {
- m := &UserMutation{
- config: c,
- op: op,
- typ: TypeUser,
- clearedFields: make(map[string]struct{}),
- }
- for _, opt := range opts {
- opt(m)
- }
- return m
- }
- // withUserID sets the ID field of the mutation.
- func withUserID(id int) userOption {
- return func(m *UserMutation) {
- var (
- err error
- once sync.Once
- value *User
- )
- m.oldValue = func(ctx context.Context) (*User, error) {
- once.Do(func() {
- if m.done {
- err = errors.New("querying old values post mutation is not allowed")
- } else {
- value, err = m.Client().User.Get(ctx, id)
- }
- })
- return value, err
- }
- m.id = &id
- }
- }
- // withUser sets the old User of the mutation.
- func withUser(node *User) userOption {
- return func(m *UserMutation) {
- m.oldValue = func(context.Context) (*User, error) {
- return node, nil
- }
- m.id = &node.ID
- }
- }
- // Client returns a new `ent.Client` from the mutation. If the mutation was
- // executed in a transaction (ent.Tx), a transactional client is returned.
- func (m UserMutation) Client() *Client {
- client := &Client{config: m.config}
- client.init()
- return client
- }
- // Tx returns an `ent.Tx` for mutations that were executed in transactions;
- // it returns an error otherwise.
- func (m UserMutation) Tx() (*Tx, error) {
- if _, ok := m.driver.(*txDriver); !ok {
- return nil, errors.New("ent: mutation is not running in a transaction")
- }
- tx := &Tx{config: m.config}
- tx.init()
- return tx, nil
- }
- // ID returns the ID value in the mutation. Note that the ID is only available
- // if it was provided to the builder or after it was returned from the database.
- func (m *UserMutation) ID() (id int, exists bool) {
- if m.id == nil {
- return
- }
- return *m.id, true
- }
- // IDs queries the database and returns the entity ids that match the mutation's predicate.
- // That means, if the mutation is applied within a transaction with an isolation level such
- // as sql.LevelSerializable, the returned ids match the ids of the rows that will be updated
- // or updated by the mutation.
- func (m *UserMutation) IDs(ctx context.Context) ([]int, error) {
- switch {
- case m.op.Is(OpUpdateOne | OpDeleteOne):
- id, exists := m.ID()
- if exists {
- return []int{id}, nil
- }
- fallthrough
- case m.op.Is(OpUpdate | OpDelete):
- return m.Client().User.Query().Where(m.predicates...).IDs(ctx)
- default:
- return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
- }
- }
- // SetAge sets the "age" field.
- func (m *UserMutation) SetAge(i int) {
- m.age = &i
- m.addage = nil
- }
- // Age returns the value of the "age" field in the mutation.
- func (m *UserMutation) Age() (r int, exists bool) {
- v := m.age
- if v == nil {
- return
- }
- return *v, true
- }
- // OldAge returns the old "age" field's value of the User entity.
- // If the User object wasn't provided to the builder, the object is fetched from the database.
- // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
- func (m *UserMutation) OldAge(ctx context.Context) (v int, err error) {
- if !m.op.Is(OpUpdateOne) {
- return v, errors.New("OldAge is only allowed on UpdateOne operations")
- }
- if m.id == nil || m.oldValue == nil {
- return v, errors.New("OldAge requires an ID field in the mutation")
- }
- oldValue, err := m.oldValue(ctx)
- if err != nil {
- return v, fmt.Errorf("querying old value for OldAge: %w", err)
- }
- return oldValue.Age, nil
- }
- // AddAge adds i to the "age" field.
- func (m *UserMutation) AddAge(i int) {
- if m.addage != nil {
- *m.addage += i
- } else {
- m.addage = &i
- }
- }
- // AddedAge returns the value that was added to the "age" field in this mutation.
- func (m *UserMutation) AddedAge() (r int, exists bool) {
- v := m.addage
- if v == nil {
- return
- }
- return *v, true
- }
- // ResetAge resets all changes to the "age" field.
- func (m *UserMutation) ResetAge() {
- m.age = nil
- m.addage = nil
- }
- // SetName sets the "name" field.
- func (m *UserMutation) SetName(s string) {
- m.name = &s
- }
- // Name returns the value of the "name" field in the mutation.
- func (m *UserMutation) Name() (r string, exists bool) {
- v := m.name
- if v == nil {
- return
- }
- return *v, true
- }
- // OldName returns the old "name" field's value of the User entity.
- // If the User object wasn't provided to the builder, the object is fetched from the database.
- // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
- func (m *UserMutation) OldName(ctx context.Context) (v string, err error) {
- if !m.op.Is(OpUpdateOne) {
- return v, errors.New("OldName is only allowed on UpdateOne operations")
- }
- if m.id == nil || m.oldValue == nil {
- return v, errors.New("OldName requires an ID field in the mutation")
- }
- oldValue, err := m.oldValue(ctx)
- if err != nil {
- return v, fmt.Errorf("querying old value for OldName: %w", err)
- }
- return oldValue.Name, nil
- }
- // ResetName resets all changes to the "name" field.
- func (m *UserMutation) ResetName() {
- m.name = nil
- }
- // SetPassword sets the "password" field.
- func (m *UserMutation) SetPassword(s string) {
- m.password = &s
- }
- // Password returns the value of the "password" field in the mutation.
- func (m *UserMutation) Password() (r string, exists bool) {
- v := m.password
- if v == nil {
- return
- }
- return *v, true
- }
- // OldPassword returns the old "password" field's value of the User entity.
- // If the User object wasn't provided to the builder, the object is fetched from the database.
- // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
- func (m *UserMutation) OldPassword(ctx context.Context) (v string, err error) {
- if !m.op.Is(OpUpdateOne) {
- return v, errors.New("OldPassword is only allowed on UpdateOne operations")
- }
- if m.id == nil || m.oldValue == nil {
- return v, errors.New("OldPassword requires an ID field in the mutation")
- }
- oldValue, err := m.oldValue(ctx)
- if err != nil {
- return v, fmt.Errorf("querying old value for OldPassword: %w", err)
- }
- return oldValue.Password, nil
- }
- // ClearPassword clears the value of the "password" field.
- func (m *UserMutation) ClearPassword() {
- m.password = nil
- m.clearedFields[user.FieldPassword] = struct{}{}
- }
- // PasswordCleared returns if the "password" field was cleared in this mutation.
- func (m *UserMutation) PasswordCleared() bool {
- _, ok := m.clearedFields[user.FieldPassword]
- return ok
- }
- // ResetPassword resets all changes to the "password" field.
- func (m *UserMutation) ResetPassword() {
- m.password = nil
- delete(m.clearedFields, user.FieldPassword)
- }
- // SetSize sets the "size" field.
- func (m *UserMutation) SetSize(u user.Size) {
- m.size = &u
- }
- // Size returns the value of the "size" field in the mutation.
- func (m *UserMutation) Size() (r user.Size, exists bool) {
- v := m.size
- if v == nil {
- return
- }
- return *v, true
- }
- // OldSize returns the old "size" field's value of the User entity.
- // If the User object wasn't provided to the builder, the object is fetched from the database.
- // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
- func (m *UserMutation) OldSize(ctx context.Context) (v user.Size, err error) {
- if !m.op.Is(OpUpdateOne) {
- return v, errors.New("OldSize is only allowed on UpdateOne operations")
- }
- if m.id == nil || m.oldValue == nil {
- return v, errors.New("OldSize requires an ID field in the mutation")
- }
- oldValue, err := m.oldValue(ctx)
- if err != nil {
- return v, fmt.Errorf("querying old value for OldSize: %w", err)
- }
- return oldValue.Size, nil
- }
- // ResetSize resets all changes to the "size" field.
- func (m *UserMutation) ResetSize() {
- m.size = nil
- }
- // SetSpouseID sets the "spouse_id" field.
- func (m *UserMutation) SetSpouseID(i int) {
- m.spouse = &i
- }
- // SpouseID returns the value of the "spouse_id" field in the mutation.
- func (m *UserMutation) SpouseID() (r int, exists bool) {
- v := m.spouse
- if v == nil {
- return
- }
- return *v, true
- }
- // OldSpouseID returns the old "spouse_id" field's value of the User entity.
- // If the User object wasn't provided to the builder, the object is fetched from the database.
- // An error is returned if the mutation operation is not UpdateOne, or the database query fails.
- func (m *UserMutation) OldSpouseID(ctx context.Context) (v int, err error) {
- if !m.op.Is(OpUpdateOne) {
- return v, errors.New("OldSpouseID is only allowed on UpdateOne operations")
- }
- if m.id == nil || m.oldValue == nil {
- return v, errors.New("OldSpouseID requires an ID field in the mutation")
- }
- oldValue, err := m.oldValue(ctx)
- if err != nil {
- return v, fmt.Errorf("querying old value for OldSpouseID: %w", err)
- }
- return oldValue.SpouseID, nil
- }
- // ClearSpouseID clears the value of the "spouse_id" field.
- func (m *UserMutation) ClearSpouseID() {
- m.spouse = nil
- m.clearedFields[user.FieldSpouseID] = struct{}{}
- }
- // SpouseIDCleared returns if the "spouse_id" field was cleared in this mutation.
- func (m *UserMutation) SpouseIDCleared() bool {
- _, ok := m.clearedFields[user.FieldSpouseID]
- return ok
- }
- // ResetSpouseID resets all changes to the "spouse_id" field.
- func (m *UserMutation) ResetSpouseID() {
- m.spouse = nil
- delete(m.clearedFields, user.FieldSpouseID)
- }
- // AddCarIDs adds the "cars" edge to the Car entity by ids.
- func (m *UserMutation) AddCarIDs(ids ...int) {
- if m.cars == nil {
- m.cars = make(map[int]struct{})
- }
- for i := range ids {
- m.cars[ids[i]] = struct{}{}
- }
- }
- // ClearCars clears the "cars" edge to the Car entity.
- func (m *UserMutation) ClearCars() {
- m.clearedcars = true
- }
- // CarsCleared reports if the "cars" edge to the Car entity was cleared.
- func (m *UserMutation) CarsCleared() bool {
- return m.clearedcars
- }
- // RemoveCarIDs removes the "cars" edge to the Car entity by IDs.
- func (m *UserMutation) RemoveCarIDs(ids ...int) {
- if m.removedcars == nil {
- m.removedcars = make(map[int]struct{})
- }
- for i := range ids {
- delete(m.cars, ids[i])
- m.removedcars[ids[i]] = struct{}{}
- }
- }
- // RemovedCars returns the removed IDs of the "cars" edge to the Car entity.
- func (m *UserMutation) RemovedCarsIDs() (ids []int) {
- for id := range m.removedcars {
- ids = append(ids, id)
- }
- return
- }
- // CarsIDs returns the "cars" edge IDs in the mutation.
- func (m *UserMutation) CarsIDs() (ids []int) {
- for id := range m.cars {
- ids = append(ids, id)
- }
- return
- }
- // ResetCars resets all changes to the "cars" edge.
- func (m *UserMutation) ResetCars() {
- m.cars = nil
- m.clearedcars = false
- m.removedcars = nil
- }
- // AddGroupIDs adds the "groups" edge to the Group entity by ids.
- func (m *UserMutation) AddGroupIDs(ids ...int) {
- if m.groups == nil {
- m.groups = make(map[int]struct{})
- }
- for i := range ids {
- m.groups[ids[i]] = struct{}{}
- }
- }
- // ClearGroups clears the "groups" edge to the Group entity.
- func (m *UserMutation) ClearGroups() {
- m.clearedgroups = true
- }
- // GroupsCleared reports if the "groups" edge to the Group entity was cleared.
- func (m *UserMutation) GroupsCleared() bool {
- return m.clearedgroups
- }
- // RemoveGroupIDs removes the "groups" edge to the Group entity by IDs.
- func (m *UserMutation) RemoveGroupIDs(ids ...int) {
- if m.removedgroups == nil {
- m.removedgroups = make(map[int]struct{})
- }
- for i := range ids {
- delete(m.groups, ids[i])
- m.removedgroups[ids[i]] = struct{}{}
- }
- }
- // RemovedGroups returns the removed IDs of the "groups" edge to the Group entity.
- func (m *UserMutation) RemovedGroupsIDs() (ids []int) {
- for id := range m.removedgroups {
- ids = append(ids, id)
- }
- return
- }
- // GroupsIDs returns the "groups" edge IDs in the mutation.
- func (m *UserMutation) GroupsIDs() (ids []int) {
- for id := range m.groups {
- ids = append(ids, id)
- }
- return
- }
- // ResetGroups resets all changes to the "groups" edge.
- func (m *UserMutation) ResetGroups() {
- m.groups = nil
- m.clearedgroups = false
- m.removedgroups = nil
- }
- // ClearSpouse clears the "spouse" edge to the User entity.
- func (m *UserMutation) ClearSpouse() {
- m.clearedspouse = true
- }
- // SpouseCleared reports if the "spouse" edge to the User entity was cleared.
- func (m *UserMutation) SpouseCleared() bool {
- return m.SpouseIDCleared() || m.clearedspouse
- }
- // SpouseIDs returns the "spouse" edge IDs in the mutation.
- // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
- // SpouseID instead. It exists only for internal usage by the builders.
- func (m *UserMutation) SpouseIDs() (ids []int) {
- if id := m.spouse; id != nil {
- ids = append(ids, *id)
- }
- return
- }
- // ResetSpouse resets all changes to the "spouse" edge.
- func (m *UserMutation) ResetSpouse() {
- m.spouse = nil
- m.clearedspouse = false
- }
- // AddFollowerIDs adds the "followers" edge to the User entity by ids.
- func (m *UserMutation) AddFollowerIDs(ids ...int) {
- if m.followers == nil {
- m.followers = make(map[int]struct{})
- }
- for i := range ids {
- m.followers[ids[i]] = struct{}{}
- }
- }
- // ClearFollowers clears the "followers" edge to the User entity.
- func (m *UserMutation) ClearFollowers() {
- m.clearedfollowers = true
- }
- // FollowersCleared reports if the "followers" edge to the User entity was cleared.
- func (m *UserMutation) FollowersCleared() bool {
- return m.clearedfollowers
- }
- // RemoveFollowerIDs removes the "followers" edge to the User entity by IDs.
- func (m *UserMutation) RemoveFollowerIDs(ids ...int) {
- if m.removedfollowers == nil {
- m.removedfollowers = make(map[int]struct{})
- }
- for i := range ids {
- delete(m.followers, ids[i])
- m.removedfollowers[ids[i]] = struct{}{}
- }
- }
- // RemovedFollowers returns the removed IDs of the "followers" edge to the User entity.
- func (m *UserMutation) RemovedFollowersIDs() (ids []int) {
- for id := range m.removedfollowers {
- ids = append(ids, id)
- }
- return
- }
- // FollowersIDs returns the "followers" edge IDs in the mutation.
- func (m *UserMutation) FollowersIDs() (ids []int) {
- for id := range m.followers {
- ids = append(ids, id)
- }
- return
- }
- // ResetFollowers resets all changes to the "followers" edge.
- func (m *UserMutation) ResetFollowers() {
- m.followers = nil
- m.clearedfollowers = false
- m.removedfollowers = nil
- }
- // AddFollowingIDs adds the "following" edge to the User entity by ids.
- func (m *UserMutation) AddFollowingIDs(ids ...int) {
- if m.following == nil {
- m.following = make(map[int]struct{})
- }
- for i := range ids {
- m.following[ids[i]] = struct{}{}
- }
- }
- // ClearFollowing clears the "following" edge to the User entity.
- func (m *UserMutation) ClearFollowing() {
- m.clearedfollowing = true
- }
- // FollowingCleared reports if the "following" edge to the User entity was cleared.
- func (m *UserMutation) FollowingCleared() bool {
- return m.clearedfollowing
- }
- // RemoveFollowingIDs removes the "following" edge to the User entity by IDs.
- func (m *UserMutation) RemoveFollowingIDs(ids ...int) {
- if m.removedfollowing == nil {
- m.removedfollowing = make(map[int]struct{})
- }
- for i := range ids {
- delete(m.following, ids[i])
- m.removedfollowing[ids[i]] = struct{}{}
- }
- }
- // RemovedFollowing returns the removed IDs of the "following" edge to the User entity.
- func (m *UserMutation) RemovedFollowingIDs() (ids []int) {
- for id := range m.removedfollowing {
- ids = append(ids, id)
- }
- return
- }
- // FollowingIDs returns the "following" edge IDs in the mutation.
- func (m *UserMutation) FollowingIDs() (ids []int) {
- for id := range m.following {
- ids = append(ids, id)
- }
- return
- }
- // ResetFollowing resets all changes to the "following" edge.
- func (m *UserMutation) ResetFollowing() {
- m.following = nil
- m.clearedfollowing = false
- m.removedfollowing = nil
- }
- // AddFriendIDs adds the "friends" edge to the User entity by ids.
- func (m *UserMutation) AddFriendIDs(ids ...int) {
- if m.friends == nil {
- m.friends = make(map[int]struct{})
- }
- for i := range ids {
- m.friends[ids[i]] = struct{}{}
- }
- }
- // ClearFriends clears the "friends" edge to the User entity.
- func (m *UserMutation) ClearFriends() {
- m.clearedfriends = true
- }
- // FriendsCleared reports if the "friends" edge to the User entity was cleared.
- func (m *UserMutation) FriendsCleared() bool {
- return m.clearedfriends
- }
- // RemoveFriendIDs removes the "friends" edge to the User entity by IDs.
- func (m *UserMutation) RemoveFriendIDs(ids ...int) {
- if m.removedfriends == nil {
- m.removedfriends = make(map[int]struct{})
- }
- for i := range ids {
- delete(m.friends, ids[i])
- m.removedfriends[ids[i]] = struct{}{}
- }
- }
- // RemovedFriends returns the removed IDs of the "friends" edge to the User entity.
- func (m *UserMutation) RemovedFriendsIDs() (ids []int) {
- for id := range m.removedfriends {
- ids = append(ids, id)
- }
- return
- }
- // FriendsIDs returns the "friends" edge IDs in the mutation.
- func (m *UserMutation) FriendsIDs() (ids []int) {
- for id := range m.friends {
- ids = append(ids, id)
- }
- return
- }
- // ResetFriends resets all changes to the "friends" edge.
- func (m *UserMutation) ResetFriends() {
- m.friends = nil
- m.clearedfriends = false
- m.removedfriends = nil
- }
- // Where appends a list predicates to the UserMutation builder.
- func (m *UserMutation) Where(ps ...predicate.User) {
- m.predicates = append(m.predicates, ps...)
- }
- // Op returns the operation name.
- func (m *UserMutation) Op() Op {
- return m.op
- }
- // Type returns the node type of this mutation (User).
- func (m *UserMutation) Type() string {
- return m.typ
- }
- // Fields returns all fields that were changed during this mutation. Note that in
- // order to get all numeric fields that were incremented/decremented, call
- // AddedFields().
- func (m *UserMutation) Fields() []string {
- fields := make([]string, 0, 5)
- if m.age != nil {
- fields = append(fields, user.FieldAge)
- }
- if m.name != nil {
- fields = append(fields, user.FieldName)
- }
- if m.password != nil {
- fields = append(fields, user.FieldPassword)
- }
- if m.size != nil {
- fields = append(fields, user.FieldSize)
- }
- if m.spouse != nil {
- fields = append(fields, user.FieldSpouseID)
- }
- return fields
- }
- // Field returns the value of a field with the given name. The second boolean
- // return value indicates that this field was not set, or was not defined in the
- // schema.
- func (m *UserMutation) Field(name string) (ent.Value, bool) {
- switch name {
- case user.FieldAge:
- return m.Age()
- case user.FieldName:
- return m.Name()
- case user.FieldPassword:
- return m.Password()
- case user.FieldSize:
- return m.Size()
- case user.FieldSpouseID:
- return m.SpouseID()
- }
- return nil, false
- }
- // OldField returns the old value of the field from the database. An error is
- // returned if the mutation operation is not UpdateOne, or the query to the
- // database failed.
- func (m *UserMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
- switch name {
- case user.FieldAge:
- return m.OldAge(ctx)
- case user.FieldName:
- return m.OldName(ctx)
- case user.FieldPassword:
- return m.OldPassword(ctx)
- case user.FieldSize:
- return m.OldSize(ctx)
- case user.FieldSpouseID:
- return m.OldSpouseID(ctx)
- }
- return nil, fmt.Errorf("unknown User field %s", name)
- }
- // SetField sets the value of a field with the given name. It returns an error if
- // the field is not defined in the schema, or if the type mismatched the field
- // type.
- func (m *UserMutation) SetField(name string, value ent.Value) error {
- switch name {
- case user.FieldAge:
- v, ok := value.(int)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.SetAge(v)
- return nil
- case user.FieldName:
- v, ok := value.(string)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.SetName(v)
- return nil
- case user.FieldPassword:
- v, ok := value.(string)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.SetPassword(v)
- return nil
- case user.FieldSize:
- v, ok := value.(user.Size)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.SetSize(v)
- return nil
- case user.FieldSpouseID:
- v, ok := value.(int)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.SetSpouseID(v)
- return nil
- }
- return fmt.Errorf("unknown User field %s", name)
- }
- // AddedFields returns all numeric fields that were incremented/decremented during
- // this mutation.
- func (m *UserMutation) AddedFields() []string {
- var fields []string
- if m.addage != nil {
- fields = append(fields, user.FieldAge)
- }
- return fields
- }
- // AddedField returns the numeric value that was incremented/decremented on a field
- // with the given name. The second boolean return value indicates that this field
- // was not set, or was not defined in the schema.
- func (m *UserMutation) AddedField(name string) (ent.Value, bool) {
- switch name {
- case user.FieldAge:
- return m.AddedAge()
- }
- return nil, false
- }
- // AddField adds the value to the field with the given name. It returns an error if
- // the field is not defined in the schema, or if the type mismatched the field
- // type.
- func (m *UserMutation) AddField(name string, value ent.Value) error {
- switch name {
- case user.FieldAge:
- v, ok := value.(int)
- if !ok {
- return fmt.Errorf("unexpected type %T for field %s", value, name)
- }
- m.AddAge(v)
- return nil
- }
- return fmt.Errorf("unknown User numeric field %s", name)
- }
- // ClearedFields returns all nullable fields that were cleared during this
- // mutation.
- func (m *UserMutation) ClearedFields() []string {
- var fields []string
- if m.FieldCleared(user.FieldPassword) {
- fields = append(fields, user.FieldPassword)
- }
- if m.FieldCleared(user.FieldSpouseID) {
- fields = append(fields, user.FieldSpouseID)
- }
- return fields
- }
- // FieldCleared returns a boolean indicating if a field with the given name was
- // cleared in this mutation.
- func (m *UserMutation) FieldCleared(name string) bool {
- _, ok := m.clearedFields[name]
- return ok
- }
- // ClearField clears the value of the field with the given name. It returns an
- // error if the field is not defined in the schema.
- func (m *UserMutation) ClearField(name string) error {
- switch name {
- case user.FieldPassword:
- m.ClearPassword()
- return nil
- case user.FieldSpouseID:
- m.ClearSpouseID()
- return nil
- }
- return fmt.Errorf("unknown User nullable field %s", name)
- }
- // ResetField resets all changes in the mutation for the field with the given name.
- // It returns an error if the field is not defined in the schema.
- func (m *UserMutation) ResetField(name string) error {
- switch name {
- case user.FieldAge:
- m.ResetAge()
- return nil
- case user.FieldName:
- m.ResetName()
- return nil
- case user.FieldPassword:
- m.ResetPassword()
- return nil
- case user.FieldSize:
- m.ResetSize()
- return nil
- case user.FieldSpouseID:
- m.ResetSpouseID()
- return nil
- }
- return fmt.Errorf("unknown User field %s", name)
- }
- // AddedEdges returns all edge names that were set/added in this mutation.
- func (m *UserMutation) AddedEdges() []string {
- edges := make([]string, 0, 6)
- if m.cars != nil {
- edges = append(edges, user.EdgeCars)
- }
- if m.groups != nil {
- edges = append(edges, user.EdgeGroups)
- }
- if m.spouse != nil {
- edges = append(edges, user.EdgeSpouse)
- }
- if m.followers != nil {
- edges = append(edges, user.EdgeFollowers)
- }
- if m.following != nil {
- edges = append(edges, user.EdgeFollowing)
- }
- if m.friends != nil {
- edges = append(edges, user.EdgeFriends)
- }
- return edges
- }
- // AddedIDs returns all IDs (to other nodes) that were added for the given edge
- // name in this mutation.
- func (m *UserMutation) AddedIDs(name string) []ent.Value {
- switch name {
- case user.EdgeCars:
- ids := make([]ent.Value, 0, len(m.cars))
- for id := range m.cars {
- ids = append(ids, id)
- }
- return ids
- case user.EdgeGroups:
- ids := make([]ent.Value, 0, len(m.groups))
- for id := range m.groups {
- ids = append(ids, id)
- }
- return ids
- case user.EdgeSpouse:
- if id := m.spouse; id != nil {
- return []ent.Value{*id}
- }
- case user.EdgeFollowers:
- ids := make([]ent.Value, 0, len(m.followers))
- for id := range m.followers {
- ids = append(ids, id)
- }
- return ids
- case user.EdgeFollowing:
- ids := make([]ent.Value, 0, len(m.following))
- for id := range m.following {
- ids = append(ids, id)
- }
- return ids
- case user.EdgeFriends:
- ids := make([]ent.Value, 0, len(m.friends))
- for id := range m.friends {
- ids = append(ids, id)
- }
- return ids
- }
- return nil
- }
- // RemovedEdges returns all edge names that were removed in this mutation.
- func (m *UserMutation) RemovedEdges() []string {
- edges := make([]string, 0, 6)
- if m.removedcars != nil {
- edges = append(edges, user.EdgeCars)
- }
- if m.removedgroups != nil {
- edges = append(edges, user.EdgeGroups)
- }
- if m.removedfollowers != nil {
- edges = append(edges, user.EdgeFollowers)
- }
- if m.removedfollowing != nil {
- edges = append(edges, user.EdgeFollowing)
- }
- if m.removedfriends != nil {
- edges = append(edges, user.EdgeFriends)
- }
- return edges
- }
- // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with
- // the given name in this mutation.
- func (m *UserMutation) RemovedIDs(name string) []ent.Value {
- switch name {
- case user.EdgeCars:
- ids := make([]ent.Value, 0, len(m.removedcars))
- for id := range m.removedcars {
- ids = append(ids, id)
- }
- return ids
- case user.EdgeGroups:
- ids := make([]ent.Value, 0, len(m.removedgroups))
- for id := range m.removedgroups {
- ids = append(ids, id)
- }
- return ids
- case user.EdgeFollowers:
- ids := make([]ent.Value, 0, len(m.removedfollowers))
- for id := range m.removedfollowers {
- ids = append(ids, id)
- }
- return ids
- case user.EdgeFollowing:
- ids := make([]ent.Value, 0, len(m.removedfollowing))
- for id := range m.removedfollowing {
- ids = append(ids, id)
- }
- return ids
- case user.EdgeFriends:
- ids := make([]ent.Value, 0, len(m.removedfriends))
- for id := range m.removedfriends {
- ids = append(ids, id)
- }
- return ids
- }
- return nil
- }
- // ClearedEdges returns all edge names that were cleared in this mutation.
- func (m *UserMutation) ClearedEdges() []string {
- edges := make([]string, 0, 6)
- if m.clearedcars {
- edges = append(edges, user.EdgeCars)
- }
- if m.clearedgroups {
- edges = append(edges, user.EdgeGroups)
- }
- if m.clearedspouse {
- edges = append(edges, user.EdgeSpouse)
- }
- if m.clearedfollowers {
- edges = append(edges, user.EdgeFollowers)
- }
- if m.clearedfollowing {
- edges = append(edges, user.EdgeFollowing)
- }
- if m.clearedfriends {
- edges = append(edges, user.EdgeFriends)
- }
- return edges
- }
- // EdgeCleared returns a boolean which indicates if the edge with the given name
- // was cleared in this mutation.
- func (m *UserMutation) EdgeCleared(name string) bool {
- switch name {
- case user.EdgeCars:
- return m.clearedcars
- case user.EdgeGroups:
- return m.clearedgroups
- case user.EdgeSpouse:
- return m.clearedspouse
- case user.EdgeFollowers:
- return m.clearedfollowers
- case user.EdgeFollowing:
- return m.clearedfollowing
- case user.EdgeFriends:
- return m.clearedfriends
- }
- return false
- }
- // ClearEdge clears the value of the edge with the given name. It returns an error
- // if that edge is not defined in the schema.
- func (m *UserMutation) ClearEdge(name string) error {
- switch name {
- case user.EdgeSpouse:
- m.ClearSpouse()
- return nil
- }
- return fmt.Errorf("unknown User unique edge %s", name)
- }
- // ResetEdge resets all changes to the edge with the given name in this mutation.
- // It returns an error if the edge is not defined in the schema.
- func (m *UserMutation) ResetEdge(name string) error {
- switch name {
- case user.EdgeCars:
- m.ResetCars()
- return nil
- case user.EdgeGroups:
- m.ResetGroups()
- return nil
- case user.EdgeSpouse:
- m.ResetSpouse()
- return nil
- case user.EdgeFollowers:
- m.ResetFollowers()
- return nil
- case user.EdgeFollowing:
- m.ResetFollowing()
- return nil
- case user.EdgeFriends:
- m.ResetFriends()
- return nil
- }
- return fmt.Errorf("unknown User edge %s", name)
- }
|