// Code generated by ent, DO NOT EDIT. package ent import ( "context" "errors" "fmt" "sync" "time" "entgo.io/ent" "entgo.io/ent/dialect/sql" "kra/internal/data/ent/admin" "kra/internal/data/ent/predicate" ) const ( // Operation types. OpCreate = ent.OpCreate OpDelete = ent.OpDelete OpDeleteOne = ent.OpDeleteOne OpUpdate = ent.OpUpdate OpUpdateOne = ent.OpUpdateOne // Node types. TypeAdmin = "Admin" ) // AdminMutation represents an operation that mutates the Admin nodes in the graph. type AdminMutation struct { config op Op typ string id *int64 name *string email *string avatar *string access *string password *string create_time *time.Time update_time *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*Admin, error) predicates []predicate.Admin } var _ ent.Mutation = (*AdminMutation)(nil) // adminOption allows management of the mutation configuration using functional options. type adminOption func(*AdminMutation) // newAdminMutation creates new mutation for the Admin entity. func newAdminMutation(c config, op Op, opts ...adminOption) *AdminMutation { m := &AdminMutation{ config: c, op: op, typ: TypeAdmin, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withAdminID sets the ID field of the mutation. func withAdminID(id int64) adminOption { return func(m *AdminMutation) { var ( err error once sync.Once value *Admin ) m.oldValue = func(ctx context.Context) (*Admin, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().Admin.Get(ctx, id) } }) return value, err } m.id = &id } } // withAdmin sets the old Admin of the mutation. func withAdmin(node *Admin) adminOption { return func(m *AdminMutation) { m.oldValue = func(context.Context) (*Admin, 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 AdminMutation) 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 AdminMutation) 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 } // SetID sets the value of the id field. Note that this // operation is only accepted on creation of Admin entities. func (m *AdminMutation) SetID(id int64) { m.id = &id } // 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 *AdminMutation) ID() (id int64, 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 *AdminMutation) IDs(ctx context.Context) ([]int64, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []int64{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().Admin.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 *AdminMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *AdminMutation) 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 Admin entity. // If the Admin 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 *AdminMutation) 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 *AdminMutation) ResetName() { m.name = nil } // SetEmail sets the "email" field. func (m *AdminMutation) SetEmail(s string) { m.email = &s } // Email returns the value of the "email" field in the mutation. func (m *AdminMutation) Email() (r string, exists bool) { v := m.email if v == nil { return } return *v, true } // OldEmail returns the old "email" field's value of the Admin entity. // If the Admin 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 *AdminMutation) OldEmail(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEmail is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEmail requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEmail: %w", err) } return oldValue.Email, nil } // ResetEmail resets all changes to the "email" field. func (m *AdminMutation) ResetEmail() { m.email = nil } // SetAvatar sets the "avatar" field. func (m *AdminMutation) SetAvatar(s string) { m.avatar = &s } // Avatar returns the value of the "avatar" field in the mutation. func (m *AdminMutation) Avatar() (r string, exists bool) { v := m.avatar if v == nil { return } return *v, true } // OldAvatar returns the old "avatar" field's value of the Admin entity. // If the Admin 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 *AdminMutation) OldAvatar(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAvatar is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAvatar requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAvatar: %w", err) } return oldValue.Avatar, nil } // ResetAvatar resets all changes to the "avatar" field. func (m *AdminMutation) ResetAvatar() { m.avatar = nil } // SetAccess sets the "access" field. func (m *AdminMutation) SetAccess(s string) { m.access = &s } // Access returns the value of the "access" field in the mutation. func (m *AdminMutation) Access() (r string, exists bool) { v := m.access if v == nil { return } return *v, true } // OldAccess returns the old "access" field's value of the Admin entity. // If the Admin 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 *AdminMutation) OldAccess(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAccess is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAccess requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAccess: %w", err) } return oldValue.Access, nil } // ResetAccess resets all changes to the "access" field. func (m *AdminMutation) ResetAccess() { m.access = nil } // SetPassword sets the "password" field. func (m *AdminMutation) SetPassword(s string) { m.password = &s } // Password returns the value of the "password" field in the mutation. func (m *AdminMutation) 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 Admin entity. // If the Admin 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 *AdminMutation) 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 } // ResetPassword resets all changes to the "password" field. func (m *AdminMutation) ResetPassword() { m.password = nil } // SetCreateTime sets the "create_time" field. func (m *AdminMutation) SetCreateTime(t time.Time) { m.create_time = &t } // CreateTime returns the value of the "create_time" field in the mutation. func (m *AdminMutation) CreateTime() (r time.Time, exists bool) { v := m.create_time if v == nil { return } return *v, true } // OldCreateTime returns the old "create_time" field's value of the Admin entity. // If the Admin 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 *AdminMutation) OldCreateTime(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCreateTime is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCreateTime requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCreateTime: %w", err) } return oldValue.CreateTime, nil } // ResetCreateTime resets all changes to the "create_time" field. func (m *AdminMutation) ResetCreateTime() { m.create_time = nil } // SetUpdateTime sets the "update_time" field. func (m *AdminMutation) SetUpdateTime(t time.Time) { m.update_time = &t } // UpdateTime returns the value of the "update_time" field in the mutation. func (m *AdminMutation) UpdateTime() (r time.Time, exists bool) { v := m.update_time if v == nil { return } return *v, true } // OldUpdateTime returns the old "update_time" field's value of the Admin entity. // If the Admin 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 *AdminMutation) OldUpdateTime(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldUpdateTime is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldUpdateTime requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldUpdateTime: %w", err) } return oldValue.UpdateTime, nil } // ResetUpdateTime resets all changes to the "update_time" field. func (m *AdminMutation) ResetUpdateTime() { m.update_time = nil } // Where appends a list predicates to the AdminMutation builder. func (m *AdminMutation) Where(ps ...predicate.Admin) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the AdminMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *AdminMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.Admin, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *AdminMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *AdminMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (Admin). func (m *AdminMutation) 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 *AdminMutation) Fields() []string { fields := make([]string, 0, 7) if m.name != nil { fields = append(fields, admin.FieldName) } if m.email != nil { fields = append(fields, admin.FieldEmail) } if m.avatar != nil { fields = append(fields, admin.FieldAvatar) } if m.access != nil { fields = append(fields, admin.FieldAccess) } if m.password != nil { fields = append(fields, admin.FieldPassword) } if m.create_time != nil { fields = append(fields, admin.FieldCreateTime) } if m.update_time != nil { fields = append(fields, admin.FieldUpdateTime) } 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 *AdminMutation) Field(name string) (ent.Value, bool) { switch name { case admin.FieldName: return m.Name() case admin.FieldEmail: return m.Email() case admin.FieldAvatar: return m.Avatar() case admin.FieldAccess: return m.Access() case admin.FieldPassword: return m.Password() case admin.FieldCreateTime: return m.CreateTime() case admin.FieldUpdateTime: return m.UpdateTime() } 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 *AdminMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case admin.FieldName: return m.OldName(ctx) case admin.FieldEmail: return m.OldEmail(ctx) case admin.FieldAvatar: return m.OldAvatar(ctx) case admin.FieldAccess: return m.OldAccess(ctx) case admin.FieldPassword: return m.OldPassword(ctx) case admin.FieldCreateTime: return m.OldCreateTime(ctx) case admin.FieldUpdateTime: return m.OldUpdateTime(ctx) } return nil, fmt.Errorf("unknown Admin 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 *AdminMutation) SetField(name string, value ent.Value) error { switch name { case admin.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case admin.FieldEmail: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEmail(v) return nil case admin.FieldAvatar: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAvatar(v) return nil case admin.FieldAccess: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAccess(v) return nil case admin.FieldPassword: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPassword(v) return nil case admin.FieldCreateTime: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreateTime(v) return nil case admin.FieldUpdateTime: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdateTime(v) return nil } return fmt.Errorf("unknown Admin field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *AdminMutation) 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 *AdminMutation) 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 *AdminMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown Admin numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *AdminMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *AdminMutation) 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 *AdminMutation) ClearField(name string) error { return fmt.Errorf("unknown Admin 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 *AdminMutation) ResetField(name string) error { switch name { case admin.FieldName: m.ResetName() return nil case admin.FieldEmail: m.ResetEmail() return nil case admin.FieldAvatar: m.ResetAvatar() return nil case admin.FieldAccess: m.ResetAccess() return nil case admin.FieldPassword: m.ResetPassword() return nil case admin.FieldCreateTime: m.ResetCreateTime() return nil case admin.FieldUpdateTime: m.ResetUpdateTime() return nil } return fmt.Errorf("unknown Admin field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *AdminMutation) AddedEdges() []string { edges := make([]string, 0, 0) return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *AdminMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *AdminMutation) RemovedEdges() []string { edges := make([]string, 0, 0) return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *AdminMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *AdminMutation) ClearedEdges() []string { edges := make([]string, 0, 0) return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *AdminMutation) EdgeCleared(name string) bool { 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 *AdminMutation) ClearEdge(name string) error { return fmt.Errorf("unknown Admin 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 *AdminMutation) ResetEdge(name string) error { return fmt.Errorf("unknown Admin edge %s", name) }