You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10694 lines
311 KiB
Go

// Code generated by ent, DO NOT EDIT.
package ent
import (
"context"
"errors"
"fmt"
"sync"
"time"
"entgo.io/ent"
"entgo.io/ent/dialect/sql"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/department"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/dictionary"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/dictionarydetail"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/district"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/loginrecord"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/oauthprovider"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/predicate"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/role"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/token"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/user"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/usermeta"
"git.noahlan.cn/n-admin/n-admin-server/rpc/core/ent/usersocial"
"git.noahlan.cn/noahlan/ntool-biz/core/orm/nent/types"
)
const (
// Operation types.
OpCreate = ent.OpCreate
OpDelete = ent.OpDelete
OpDeleteOne = ent.OpDeleteOne
OpUpdate = ent.OpUpdate
OpUpdateOne = ent.OpUpdateOne
// Node types.
TypeDepartment = "Department"
TypeDictionary = "Dictionary"
TypeDictionaryDetail = "DictionaryDetail"
TypeDistrict = "District"
TypeLoginRecord = "LoginRecord"
TypeOauthProvider = "OauthProvider"
TypeRole = "Role"
TypeToken = "Token"
TypeUser = "User"
TypeUserMeta = "UserMeta"
TypeUserSocial = "UserSocial"
)
// DepartmentMutation represents an operation that mutates the Department nodes in the graph.
type DepartmentMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
status *types.Status
version *int64
addversion *int64
name *string
remark *string
clearedFields map[string]struct{}
parent *int64
clearedparent bool
children map[int64]struct{}
removedchildren map[int64]struct{}
clearedchildren bool
users map[int64]struct{}
removedusers map[int64]struct{}
clearedusers bool
leader *int64
clearedleader bool
done bool
oldValue func(context.Context) (*Department, error)
predicates []predicate.Department
}
var _ ent.Mutation = (*DepartmentMutation)(nil)
// departmentOption allows management of the mutation configuration using functional options.
type departmentOption func(*DepartmentMutation)
// newDepartmentMutation creates new mutation for the Department entity.
func newDepartmentMutation(c config, op Op, opts ...departmentOption) *DepartmentMutation {
m := &DepartmentMutation{
config: c,
op: op,
typ: TypeDepartment,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withDepartmentID sets the ID field of the mutation.
func withDepartmentID(id int64) departmentOption {
return func(m *DepartmentMutation) {
var (
err error
once sync.Once
value *Department
)
m.oldValue = func(ctx context.Context) (*Department, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().Department.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withDepartment sets the old Department of the mutation.
func withDepartment(node *Department) departmentOption {
return func(m *DepartmentMutation) {
m.oldValue = func(context.Context) (*Department, 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 DepartmentMutation) 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 DepartmentMutation) 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 Department entities.
func (m *DepartmentMutation) 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 *DepartmentMutation) 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 *DepartmentMutation) 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().Department.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *DepartmentMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *DepartmentMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the Department entity.
// If the Department 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 *DepartmentMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *DepartmentMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *DepartmentMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *DepartmentMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the Department entity.
// If the Department 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 *DepartmentMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *DepartmentMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetStatus sets the "status" field.
func (m *DepartmentMutation) SetStatus(t types.Status) {
m.status = &t
}
// Status returns the value of the "status" field in the mutation.
func (m *DepartmentMutation) Status() (r types.Status, exists bool) {
v := m.status
if v == nil {
return
}
return *v, true
}
// OldStatus returns the old "status" field's value of the Department entity.
// If the Department 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 *DepartmentMutation) OldStatus(ctx context.Context) (v types.Status, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldStatus is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldStatus requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldStatus: %w", err)
}
return oldValue.Status, nil
}
// ResetStatus resets all changes to the "status" field.
func (m *DepartmentMutation) ResetStatus() {
m.status = nil
}
// SetVersion sets the "version" field.
func (m *DepartmentMutation) SetVersion(i int64) {
m.version = &i
m.addversion = nil
}
// Version returns the value of the "version" field in the mutation.
func (m *DepartmentMutation) Version() (r int64, exists bool) {
v := m.version
if v == nil {
return
}
return *v, true
}
// OldVersion returns the old "version" field's value of the Department entity.
// If the Department 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 *DepartmentMutation) OldVersion(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldVersion is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldVersion requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldVersion: %w", err)
}
return oldValue.Version, nil
}
// AddVersion adds i to the "version" field.
func (m *DepartmentMutation) AddVersion(i int64) {
if m.addversion != nil {
*m.addversion += i
} else {
m.addversion = &i
}
}
// AddedVersion returns the value that was added to the "version" field in this mutation.
func (m *DepartmentMutation) AddedVersion() (r int64, exists bool) {
v := m.addversion
if v == nil {
return
}
return *v, true
}
// ResetVersion resets all changes to the "version" field.
func (m *DepartmentMutation) ResetVersion() {
m.version = nil
m.addversion = nil
}
// SetName sets the "name" field.
func (m *DepartmentMutation) SetName(s string) {
m.name = &s
}
// Name returns the value of the "name" field in the mutation.
func (m *DepartmentMutation) 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 Department entity.
// If the Department 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 *DepartmentMutation) 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 *DepartmentMutation) ResetName() {
m.name = nil
}
// SetLeaderID sets the "leader_id" field.
func (m *DepartmentMutation) SetLeaderID(i int64) {
m.leader = &i
}
// LeaderID returns the value of the "leader_id" field in the mutation.
func (m *DepartmentMutation) LeaderID() (r int64, exists bool) {
v := m.leader
if v == nil {
return
}
return *v, true
}
// OldLeaderID returns the old "leader_id" field's value of the Department entity.
// If the Department 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 *DepartmentMutation) OldLeaderID(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLeaderID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLeaderID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLeaderID: %w", err)
}
return oldValue.LeaderID, nil
}
// ClearLeaderID clears the value of the "leader_id" field.
func (m *DepartmentMutation) ClearLeaderID() {
m.leader = nil
m.clearedFields[department.FieldLeaderID] = struct{}{}
}
// LeaderIDCleared returns if the "leader_id" field was cleared in this mutation.
func (m *DepartmentMutation) LeaderIDCleared() bool {
_, ok := m.clearedFields[department.FieldLeaderID]
return ok
}
// ResetLeaderID resets all changes to the "leader_id" field.
func (m *DepartmentMutation) ResetLeaderID() {
m.leader = nil
delete(m.clearedFields, department.FieldLeaderID)
}
// SetRemark sets the "remark" field.
func (m *DepartmentMutation) SetRemark(s string) {
m.remark = &s
}
// Remark returns the value of the "remark" field in the mutation.
func (m *DepartmentMutation) Remark() (r string, exists bool) {
v := m.remark
if v == nil {
return
}
return *v, true
}
// OldRemark returns the old "remark" field's value of the Department entity.
// If the Department 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 *DepartmentMutation) OldRemark(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldRemark is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldRemark requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldRemark: %w", err)
}
return oldValue.Remark, nil
}
// ClearRemark clears the value of the "remark" field.
func (m *DepartmentMutation) ClearRemark() {
m.remark = nil
m.clearedFields[department.FieldRemark] = struct{}{}
}
// RemarkCleared returns if the "remark" field was cleared in this mutation.
func (m *DepartmentMutation) RemarkCleared() bool {
_, ok := m.clearedFields[department.FieldRemark]
return ok
}
// ResetRemark resets all changes to the "remark" field.
func (m *DepartmentMutation) ResetRemark() {
m.remark = nil
delete(m.clearedFields, department.FieldRemark)
}
// SetParentID sets the "parent_id" field.
func (m *DepartmentMutation) SetParentID(i int64) {
m.parent = &i
}
// ParentID returns the value of the "parent_id" field in the mutation.
func (m *DepartmentMutation) ParentID() (r int64, exists bool) {
v := m.parent
if v == nil {
return
}
return *v, true
}
// OldParentID returns the old "parent_id" field's value of the Department entity.
// If the Department 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 *DepartmentMutation) OldParentID(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldParentID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldParentID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldParentID: %w", err)
}
return oldValue.ParentID, nil
}
// ClearParentID clears the value of the "parent_id" field.
func (m *DepartmentMutation) ClearParentID() {
m.parent = nil
m.clearedFields[department.FieldParentID] = struct{}{}
}
// ParentIDCleared returns if the "parent_id" field was cleared in this mutation.
func (m *DepartmentMutation) ParentIDCleared() bool {
_, ok := m.clearedFields[department.FieldParentID]
return ok
}
// ResetParentID resets all changes to the "parent_id" field.
func (m *DepartmentMutation) ResetParentID() {
m.parent = nil
delete(m.clearedFields, department.FieldParentID)
}
// ClearParent clears the "parent" edge to the Department entity.
func (m *DepartmentMutation) ClearParent() {
m.clearedparent = true
}
// ParentCleared reports if the "parent" edge to the Department entity was cleared.
func (m *DepartmentMutation) ParentCleared() bool {
return m.ParentIDCleared() || m.clearedparent
}
// ParentIDs returns the "parent" edge IDs in the mutation.
// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
// ParentID instead. It exists only for internal usage by the builders.
func (m *DepartmentMutation) ParentIDs() (ids []int64) {
if id := m.parent; id != nil {
ids = append(ids, *id)
}
return
}
// ResetParent resets all changes to the "parent" edge.
func (m *DepartmentMutation) ResetParent() {
m.parent = nil
m.clearedparent = false
}
// AddChildIDs adds the "children" edge to the Department entity by ids.
func (m *DepartmentMutation) AddChildIDs(ids ...int64) {
if m.children == nil {
m.children = make(map[int64]struct{})
}
for i := range ids {
m.children[ids[i]] = struct{}{}
}
}
// ClearChildren clears the "children" edge to the Department entity.
func (m *DepartmentMutation) ClearChildren() {
m.clearedchildren = true
}
// ChildrenCleared reports if the "children" edge to the Department entity was cleared.
func (m *DepartmentMutation) ChildrenCleared() bool {
return m.clearedchildren
}
// RemoveChildIDs removes the "children" edge to the Department entity by IDs.
func (m *DepartmentMutation) RemoveChildIDs(ids ...int64) {
if m.removedchildren == nil {
m.removedchildren = make(map[int64]struct{})
}
for i := range ids {
delete(m.children, ids[i])
m.removedchildren[ids[i]] = struct{}{}
}
}
// RemovedChildren returns the removed IDs of the "children" edge to the Department entity.
func (m *DepartmentMutation) RemovedChildrenIDs() (ids []int64) {
for id := range m.removedchildren {
ids = append(ids, id)
}
return
}
// ChildrenIDs returns the "children" edge IDs in the mutation.
func (m *DepartmentMutation) ChildrenIDs() (ids []int64) {
for id := range m.children {
ids = append(ids, id)
}
return
}
// ResetChildren resets all changes to the "children" edge.
func (m *DepartmentMutation) ResetChildren() {
m.children = nil
m.clearedchildren = false
m.removedchildren = nil
}
// AddUserIDs adds the "users" edge to the User entity by ids.
func (m *DepartmentMutation) AddUserIDs(ids ...int64) {
if m.users == nil {
m.users = make(map[int64]struct{})
}
for i := range ids {
m.users[ids[i]] = struct{}{}
}
}
// ClearUsers clears the "users" edge to the User entity.
func (m *DepartmentMutation) ClearUsers() {
m.clearedusers = true
}
// UsersCleared reports if the "users" edge to the User entity was cleared.
func (m *DepartmentMutation) UsersCleared() bool {
return m.clearedusers
}
// RemoveUserIDs removes the "users" edge to the User entity by IDs.
func (m *DepartmentMutation) RemoveUserIDs(ids ...int64) {
if m.removedusers == nil {
m.removedusers = make(map[int64]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 *DepartmentMutation) RemovedUsersIDs() (ids []int64) {
for id := range m.removedusers {
ids = append(ids, id)
}
return
}
// UsersIDs returns the "users" edge IDs in the mutation.
func (m *DepartmentMutation) UsersIDs() (ids []int64) {
for id := range m.users {
ids = append(ids, id)
}
return
}
// ResetUsers resets all changes to the "users" edge.
func (m *DepartmentMutation) ResetUsers() {
m.users = nil
m.clearedusers = false
m.removedusers = nil
}
// ClearLeader clears the "leader" edge to the User entity.
func (m *DepartmentMutation) ClearLeader() {
m.clearedleader = true
}
// LeaderCleared reports if the "leader" edge to the User entity was cleared.
func (m *DepartmentMutation) LeaderCleared() bool {
return m.LeaderIDCleared() || m.clearedleader
}
// LeaderIDs returns the "leader" edge IDs in the mutation.
// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
// LeaderID instead. It exists only for internal usage by the builders.
func (m *DepartmentMutation) LeaderIDs() (ids []int64) {
if id := m.leader; id != nil {
ids = append(ids, *id)
}
return
}
// ResetLeader resets all changes to the "leader" edge.
func (m *DepartmentMutation) ResetLeader() {
m.leader = nil
m.clearedleader = false
}
// Where appends a list predicates to the DepartmentMutation builder.
func (m *DepartmentMutation) Where(ps ...predicate.Department) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the DepartmentMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *DepartmentMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.Department, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *DepartmentMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *DepartmentMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (Department).
func (m *DepartmentMutation) 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 *DepartmentMutation) Fields() []string {
fields := make([]string, 0, 8)
if m.created_at != nil {
fields = append(fields, department.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, department.FieldUpdatedAt)
}
if m.status != nil {
fields = append(fields, department.FieldStatus)
}
if m.version != nil {
fields = append(fields, department.FieldVersion)
}
if m.name != nil {
fields = append(fields, department.FieldName)
}
if m.leader != nil {
fields = append(fields, department.FieldLeaderID)
}
if m.remark != nil {
fields = append(fields, department.FieldRemark)
}
if m.parent != nil {
fields = append(fields, department.FieldParentID)
}
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 *DepartmentMutation) Field(name string) (ent.Value, bool) {
switch name {
case department.FieldCreatedAt:
return m.CreatedAt()
case department.FieldUpdatedAt:
return m.UpdatedAt()
case department.FieldStatus:
return m.Status()
case department.FieldVersion:
return m.Version()
case department.FieldName:
return m.Name()
case department.FieldLeaderID:
return m.LeaderID()
case department.FieldRemark:
return m.Remark()
case department.FieldParentID:
return m.ParentID()
}
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 *DepartmentMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case department.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case department.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case department.FieldStatus:
return m.OldStatus(ctx)
case department.FieldVersion:
return m.OldVersion(ctx)
case department.FieldName:
return m.OldName(ctx)
case department.FieldLeaderID:
return m.OldLeaderID(ctx)
case department.FieldRemark:
return m.OldRemark(ctx)
case department.FieldParentID:
return m.OldParentID(ctx)
}
return nil, fmt.Errorf("unknown Department 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 *DepartmentMutation) SetField(name string, value ent.Value) error {
switch name {
case department.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case department.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case department.FieldStatus:
v, ok := value.(types.Status)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetStatus(v)
return nil
case department.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetVersion(v)
return nil
case department.FieldName:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetName(v)
return nil
case department.FieldLeaderID:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLeaderID(v)
return nil
case department.FieldRemark:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetRemark(v)
return nil
case department.FieldParentID:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetParentID(v)
return nil
}
return fmt.Errorf("unknown Department field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *DepartmentMutation) AddedFields() []string {
var fields []string
if m.addversion != nil {
fields = append(fields, department.FieldVersion)
}
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 *DepartmentMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case department.FieldVersion:
return m.AddedVersion()
}
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 *DepartmentMutation) AddField(name string, value ent.Value) error {
switch name {
case department.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddVersion(v)
return nil
}
return fmt.Errorf("unknown Department numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *DepartmentMutation) ClearedFields() []string {
var fields []string
if m.FieldCleared(department.FieldLeaderID) {
fields = append(fields, department.FieldLeaderID)
}
if m.FieldCleared(department.FieldRemark) {
fields = append(fields, department.FieldRemark)
}
if m.FieldCleared(department.FieldParentID) {
fields = append(fields, department.FieldParentID)
}
return fields
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *DepartmentMutation) 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 *DepartmentMutation) ClearField(name string) error {
switch name {
case department.FieldLeaderID:
m.ClearLeaderID()
return nil
case department.FieldRemark:
m.ClearRemark()
return nil
case department.FieldParentID:
m.ClearParentID()
return nil
}
return fmt.Errorf("unknown Department 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 *DepartmentMutation) ResetField(name string) error {
switch name {
case department.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case department.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case department.FieldStatus:
m.ResetStatus()
return nil
case department.FieldVersion:
m.ResetVersion()
return nil
case department.FieldName:
m.ResetName()
return nil
case department.FieldLeaderID:
m.ResetLeaderID()
return nil
case department.FieldRemark:
m.ResetRemark()
return nil
case department.FieldParentID:
m.ResetParentID()
return nil
}
return fmt.Errorf("unknown Department field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *DepartmentMutation) AddedEdges() []string {
edges := make([]string, 0, 4)
if m.parent != nil {
edges = append(edges, department.EdgeParent)
}
if m.children != nil {
edges = append(edges, department.EdgeChildren)
}
if m.users != nil {
edges = append(edges, department.EdgeUsers)
}
if m.leader != nil {
edges = append(edges, department.EdgeLeader)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *DepartmentMutation) AddedIDs(name string) []ent.Value {
switch name {
case department.EdgeParent:
if id := m.parent; id != nil {
return []ent.Value{*id}
}
case department.EdgeChildren:
ids := make([]ent.Value, 0, len(m.children))
for id := range m.children {
ids = append(ids, id)
}
return ids
case department.EdgeUsers:
ids := make([]ent.Value, 0, len(m.users))
for id := range m.users {
ids = append(ids, id)
}
return ids
case department.EdgeLeader:
if id := m.leader; id != nil {
return []ent.Value{*id}
}
}
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *DepartmentMutation) RemovedEdges() []string {
edges := make([]string, 0, 4)
if m.removedchildren != nil {
edges = append(edges, department.EdgeChildren)
}
if m.removedusers != nil {
edges = append(edges, department.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 *DepartmentMutation) RemovedIDs(name string) []ent.Value {
switch name {
case department.EdgeChildren:
ids := make([]ent.Value, 0, len(m.removedchildren))
for id := range m.removedchildren {
ids = append(ids, id)
}
return ids
case department.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 *DepartmentMutation) ClearedEdges() []string {
edges := make([]string, 0, 4)
if m.clearedparent {
edges = append(edges, department.EdgeParent)
}
if m.clearedchildren {
edges = append(edges, department.EdgeChildren)
}
if m.clearedusers {
edges = append(edges, department.EdgeUsers)
}
if m.clearedleader {
edges = append(edges, department.EdgeLeader)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *DepartmentMutation) EdgeCleared(name string) bool {
switch name {
case department.EdgeParent:
return m.clearedparent
case department.EdgeChildren:
return m.clearedchildren
case department.EdgeUsers:
return m.clearedusers
case department.EdgeLeader:
return m.clearedleader
}
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 *DepartmentMutation) ClearEdge(name string) error {
switch name {
case department.EdgeParent:
m.ClearParent()
return nil
case department.EdgeLeader:
m.ClearLeader()
return nil
}
return fmt.Errorf("unknown Department 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 *DepartmentMutation) ResetEdge(name string) error {
switch name {
case department.EdgeParent:
m.ResetParent()
return nil
case department.EdgeChildren:
m.ResetChildren()
return nil
case department.EdgeUsers:
m.ResetUsers()
return nil
case department.EdgeLeader:
m.ResetLeader()
return nil
}
return fmt.Errorf("unknown Department edge %s", name)
}
// DictionaryMutation represents an operation that mutates the Dictionary nodes in the graph.
type DictionaryMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
status *types.Status
version *int64
addversion *int64
title *string
name *string
description *string
clearedFields map[string]struct{}
details map[int64]struct{}
removeddetails map[int64]struct{}
cleareddetails bool
done bool
oldValue func(context.Context) (*Dictionary, error)
predicates []predicate.Dictionary
}
var _ ent.Mutation = (*DictionaryMutation)(nil)
// dictionaryOption allows management of the mutation configuration using functional options.
type dictionaryOption func(*DictionaryMutation)
// newDictionaryMutation creates new mutation for the Dictionary entity.
func newDictionaryMutation(c config, op Op, opts ...dictionaryOption) *DictionaryMutation {
m := &DictionaryMutation{
config: c,
op: op,
typ: TypeDictionary,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withDictionaryID sets the ID field of the mutation.
func withDictionaryID(id int64) dictionaryOption {
return func(m *DictionaryMutation) {
var (
err error
once sync.Once
value *Dictionary
)
m.oldValue = func(ctx context.Context) (*Dictionary, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().Dictionary.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withDictionary sets the old Dictionary of the mutation.
func withDictionary(node *Dictionary) dictionaryOption {
return func(m *DictionaryMutation) {
m.oldValue = func(context.Context) (*Dictionary, 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 DictionaryMutation) 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 DictionaryMutation) 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 Dictionary entities.
func (m *DictionaryMutation) 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 *DictionaryMutation) 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 *DictionaryMutation) 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().Dictionary.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *DictionaryMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *DictionaryMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the Dictionary entity.
// If the Dictionary 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 *DictionaryMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *DictionaryMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *DictionaryMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *DictionaryMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the Dictionary entity.
// If the Dictionary 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 *DictionaryMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *DictionaryMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetStatus sets the "status" field.
func (m *DictionaryMutation) SetStatus(t types.Status) {
m.status = &t
}
// Status returns the value of the "status" field in the mutation.
func (m *DictionaryMutation) Status() (r types.Status, exists bool) {
v := m.status
if v == nil {
return
}
return *v, true
}
// OldStatus returns the old "status" field's value of the Dictionary entity.
// If the Dictionary 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 *DictionaryMutation) OldStatus(ctx context.Context) (v types.Status, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldStatus is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldStatus requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldStatus: %w", err)
}
return oldValue.Status, nil
}
// ResetStatus resets all changes to the "status" field.
func (m *DictionaryMutation) ResetStatus() {
m.status = nil
}
// SetVersion sets the "version" field.
func (m *DictionaryMutation) SetVersion(i int64) {
m.version = &i
m.addversion = nil
}
// Version returns the value of the "version" field in the mutation.
func (m *DictionaryMutation) Version() (r int64, exists bool) {
v := m.version
if v == nil {
return
}
return *v, true
}
// OldVersion returns the old "version" field's value of the Dictionary entity.
// If the Dictionary 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 *DictionaryMutation) OldVersion(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldVersion is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldVersion requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldVersion: %w", err)
}
return oldValue.Version, nil
}
// AddVersion adds i to the "version" field.
func (m *DictionaryMutation) AddVersion(i int64) {
if m.addversion != nil {
*m.addversion += i
} else {
m.addversion = &i
}
}
// AddedVersion returns the value that was added to the "version" field in this mutation.
func (m *DictionaryMutation) AddedVersion() (r int64, exists bool) {
v := m.addversion
if v == nil {
return
}
return *v, true
}
// ResetVersion resets all changes to the "version" field.
func (m *DictionaryMutation) ResetVersion() {
m.version = nil
m.addversion = nil
}
// SetTitle sets the "title" field.
func (m *DictionaryMutation) SetTitle(s string) {
m.title = &s
}
// Title returns the value of the "title" field in the mutation.
func (m *DictionaryMutation) Title() (r string, exists bool) {
v := m.title
if v == nil {
return
}
return *v, true
}
// OldTitle returns the old "title" field's value of the Dictionary entity.
// If the Dictionary 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 *DictionaryMutation) OldTitle(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldTitle is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldTitle requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldTitle: %w", err)
}
return oldValue.Title, nil
}
// ResetTitle resets all changes to the "title" field.
func (m *DictionaryMutation) ResetTitle() {
m.title = nil
}
// SetName sets the "name" field.
func (m *DictionaryMutation) SetName(s string) {
m.name = &s
}
// Name returns the value of the "name" field in the mutation.
func (m *DictionaryMutation) 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 Dictionary entity.
// If the Dictionary 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 *DictionaryMutation) 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 *DictionaryMutation) ResetName() {
m.name = nil
}
// SetDescription sets the "description" field.
func (m *DictionaryMutation) SetDescription(s string) {
m.description = &s
}
// Description returns the value of the "description" field in the mutation.
func (m *DictionaryMutation) Description() (r string, exists bool) {
v := m.description
if v == nil {
return
}
return *v, true
}
// OldDescription returns the old "description" field's value of the Dictionary entity.
// If the Dictionary 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 *DictionaryMutation) OldDescription(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldDescription is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldDescription requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldDescription: %w", err)
}
return oldValue.Description, nil
}
// ClearDescription clears the value of the "description" field.
func (m *DictionaryMutation) ClearDescription() {
m.description = nil
m.clearedFields[dictionary.FieldDescription] = struct{}{}
}
// DescriptionCleared returns if the "description" field was cleared in this mutation.
func (m *DictionaryMutation) DescriptionCleared() bool {
_, ok := m.clearedFields[dictionary.FieldDescription]
return ok
}
// ResetDescription resets all changes to the "description" field.
func (m *DictionaryMutation) ResetDescription() {
m.description = nil
delete(m.clearedFields, dictionary.FieldDescription)
}
// AddDetailIDs adds the "details" edge to the DictionaryDetail entity by ids.
func (m *DictionaryMutation) AddDetailIDs(ids ...int64) {
if m.details == nil {
m.details = make(map[int64]struct{})
}
for i := range ids {
m.details[ids[i]] = struct{}{}
}
}
// ClearDetails clears the "details" edge to the DictionaryDetail entity.
func (m *DictionaryMutation) ClearDetails() {
m.cleareddetails = true
}
// DetailsCleared reports if the "details" edge to the DictionaryDetail entity was cleared.
func (m *DictionaryMutation) DetailsCleared() bool {
return m.cleareddetails
}
// RemoveDetailIDs removes the "details" edge to the DictionaryDetail entity by IDs.
func (m *DictionaryMutation) RemoveDetailIDs(ids ...int64) {
if m.removeddetails == nil {
m.removeddetails = make(map[int64]struct{})
}
for i := range ids {
delete(m.details, ids[i])
m.removeddetails[ids[i]] = struct{}{}
}
}
// RemovedDetails returns the removed IDs of the "details" edge to the DictionaryDetail entity.
func (m *DictionaryMutation) RemovedDetailsIDs() (ids []int64) {
for id := range m.removeddetails {
ids = append(ids, id)
}
return
}
// DetailsIDs returns the "details" edge IDs in the mutation.
func (m *DictionaryMutation) DetailsIDs() (ids []int64) {
for id := range m.details {
ids = append(ids, id)
}
return
}
// ResetDetails resets all changes to the "details" edge.
func (m *DictionaryMutation) ResetDetails() {
m.details = nil
m.cleareddetails = false
m.removeddetails = nil
}
// Where appends a list predicates to the DictionaryMutation builder.
func (m *DictionaryMutation) Where(ps ...predicate.Dictionary) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the DictionaryMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *DictionaryMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.Dictionary, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *DictionaryMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *DictionaryMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (Dictionary).
func (m *DictionaryMutation) 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 *DictionaryMutation) Fields() []string {
fields := make([]string, 0, 7)
if m.created_at != nil {
fields = append(fields, dictionary.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, dictionary.FieldUpdatedAt)
}
if m.status != nil {
fields = append(fields, dictionary.FieldStatus)
}
if m.version != nil {
fields = append(fields, dictionary.FieldVersion)
}
if m.title != nil {
fields = append(fields, dictionary.FieldTitle)
}
if m.name != nil {
fields = append(fields, dictionary.FieldName)
}
if m.description != nil {
fields = append(fields, dictionary.FieldDescription)
}
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 *DictionaryMutation) Field(name string) (ent.Value, bool) {
switch name {
case dictionary.FieldCreatedAt:
return m.CreatedAt()
case dictionary.FieldUpdatedAt:
return m.UpdatedAt()
case dictionary.FieldStatus:
return m.Status()
case dictionary.FieldVersion:
return m.Version()
case dictionary.FieldTitle:
return m.Title()
case dictionary.FieldName:
return m.Name()
case dictionary.FieldDescription:
return m.Description()
}
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 *DictionaryMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case dictionary.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case dictionary.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case dictionary.FieldStatus:
return m.OldStatus(ctx)
case dictionary.FieldVersion:
return m.OldVersion(ctx)
case dictionary.FieldTitle:
return m.OldTitle(ctx)
case dictionary.FieldName:
return m.OldName(ctx)
case dictionary.FieldDescription:
return m.OldDescription(ctx)
}
return nil, fmt.Errorf("unknown Dictionary 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 *DictionaryMutation) SetField(name string, value ent.Value) error {
switch name {
case dictionary.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case dictionary.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case dictionary.FieldStatus:
v, ok := value.(types.Status)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetStatus(v)
return nil
case dictionary.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetVersion(v)
return nil
case dictionary.FieldTitle:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetTitle(v)
return nil
case dictionary.FieldName:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetName(v)
return nil
case dictionary.FieldDescription:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetDescription(v)
return nil
}
return fmt.Errorf("unknown Dictionary field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *DictionaryMutation) AddedFields() []string {
var fields []string
if m.addversion != nil {
fields = append(fields, dictionary.FieldVersion)
}
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 *DictionaryMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case dictionary.FieldVersion:
return m.AddedVersion()
}
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 *DictionaryMutation) AddField(name string, value ent.Value) error {
switch name {
case dictionary.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddVersion(v)
return nil
}
return fmt.Errorf("unknown Dictionary numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *DictionaryMutation) ClearedFields() []string {
var fields []string
if m.FieldCleared(dictionary.FieldDescription) {
fields = append(fields, dictionary.FieldDescription)
}
return fields
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *DictionaryMutation) 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 *DictionaryMutation) ClearField(name string) error {
switch name {
case dictionary.FieldDescription:
m.ClearDescription()
return nil
}
return fmt.Errorf("unknown Dictionary 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 *DictionaryMutation) ResetField(name string) error {
switch name {
case dictionary.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case dictionary.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case dictionary.FieldStatus:
m.ResetStatus()
return nil
case dictionary.FieldVersion:
m.ResetVersion()
return nil
case dictionary.FieldTitle:
m.ResetTitle()
return nil
case dictionary.FieldName:
m.ResetName()
return nil
case dictionary.FieldDescription:
m.ResetDescription()
return nil
}
return fmt.Errorf("unknown Dictionary field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *DictionaryMutation) AddedEdges() []string {
edges := make([]string, 0, 1)
if m.details != nil {
edges = append(edges, dictionary.EdgeDetails)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *DictionaryMutation) AddedIDs(name string) []ent.Value {
switch name {
case dictionary.EdgeDetails:
ids := make([]ent.Value, 0, len(m.details))
for id := range m.details {
ids = append(ids, id)
}
return ids
}
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *DictionaryMutation) RemovedEdges() []string {
edges := make([]string, 0, 1)
if m.removeddetails != nil {
edges = append(edges, dictionary.EdgeDetails)
}
return edges
}
// RemovedIDs returns all IDs (to other nodes) that were removed for the edge with
// the given name in this mutation.
func (m *DictionaryMutation) RemovedIDs(name string) []ent.Value {
switch name {
case dictionary.EdgeDetails:
ids := make([]ent.Value, 0, len(m.removeddetails))
for id := range m.removeddetails {
ids = append(ids, id)
}
return ids
}
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *DictionaryMutation) ClearedEdges() []string {
edges := make([]string, 0, 1)
if m.cleareddetails {
edges = append(edges, dictionary.EdgeDetails)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *DictionaryMutation) EdgeCleared(name string) bool {
switch name {
case dictionary.EdgeDetails:
return m.cleareddetails
}
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 *DictionaryMutation) ClearEdge(name string) error {
switch name {
}
return fmt.Errorf("unknown Dictionary 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 *DictionaryMutation) ResetEdge(name string) error {
switch name {
case dictionary.EdgeDetails:
m.ResetDetails()
return nil
}
return fmt.Errorf("unknown Dictionary edge %s", name)
}
// DictionaryDetailMutation represents an operation that mutates the DictionaryDetail nodes in the graph.
type DictionaryDetailMutation struct {
config
op Op
typ string
id *int64
status *types.Status
sort *uint32
addsort *int32
version *int64
addversion *int64
title *string
key *string
value *string
clearedFields map[string]struct{}
dictionary *int64
cleareddictionary bool
done bool
oldValue func(context.Context) (*DictionaryDetail, error)
predicates []predicate.DictionaryDetail
}
var _ ent.Mutation = (*DictionaryDetailMutation)(nil)
// dictionarydetailOption allows management of the mutation configuration using functional options.
type dictionarydetailOption func(*DictionaryDetailMutation)
// newDictionaryDetailMutation creates new mutation for the DictionaryDetail entity.
func newDictionaryDetailMutation(c config, op Op, opts ...dictionarydetailOption) *DictionaryDetailMutation {
m := &DictionaryDetailMutation{
config: c,
op: op,
typ: TypeDictionaryDetail,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withDictionaryDetailID sets the ID field of the mutation.
func withDictionaryDetailID(id int64) dictionarydetailOption {
return func(m *DictionaryDetailMutation) {
var (
err error
once sync.Once
value *DictionaryDetail
)
m.oldValue = func(ctx context.Context) (*DictionaryDetail, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().DictionaryDetail.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withDictionaryDetail sets the old DictionaryDetail of the mutation.
func withDictionaryDetail(node *DictionaryDetail) dictionarydetailOption {
return func(m *DictionaryDetailMutation) {
m.oldValue = func(context.Context) (*DictionaryDetail, 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 DictionaryDetailMutation) 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 DictionaryDetailMutation) 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 DictionaryDetail entities.
func (m *DictionaryDetailMutation) 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 *DictionaryDetailMutation) 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 *DictionaryDetailMutation) 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().DictionaryDetail.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetStatus sets the "status" field.
func (m *DictionaryDetailMutation) SetStatus(t types.Status) {
m.status = &t
}
// Status returns the value of the "status" field in the mutation.
func (m *DictionaryDetailMutation) Status() (r types.Status, exists bool) {
v := m.status
if v == nil {
return
}
return *v, true
}
// OldStatus returns the old "status" field's value of the DictionaryDetail entity.
// If the DictionaryDetail 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 *DictionaryDetailMutation) OldStatus(ctx context.Context) (v types.Status, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldStatus is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldStatus requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldStatus: %w", err)
}
return oldValue.Status, nil
}
// ResetStatus resets all changes to the "status" field.
func (m *DictionaryDetailMutation) ResetStatus() {
m.status = nil
}
// SetSort sets the "sort" field.
func (m *DictionaryDetailMutation) SetSort(u uint32) {
m.sort = &u
m.addsort = nil
}
// Sort returns the value of the "sort" field in the mutation.
func (m *DictionaryDetailMutation) Sort() (r uint32, exists bool) {
v := m.sort
if v == nil {
return
}
return *v, true
}
// OldSort returns the old "sort" field's value of the DictionaryDetail entity.
// If the DictionaryDetail 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 *DictionaryDetailMutation) OldSort(ctx context.Context) (v uint32, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldSort is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldSort requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldSort: %w", err)
}
return oldValue.Sort, nil
}
// AddSort adds u to the "sort" field.
func (m *DictionaryDetailMutation) AddSort(u int32) {
if m.addsort != nil {
*m.addsort += u
} else {
m.addsort = &u
}
}
// AddedSort returns the value that was added to the "sort" field in this mutation.
func (m *DictionaryDetailMutation) AddedSort() (r int32, exists bool) {
v := m.addsort
if v == nil {
return
}
return *v, true
}
// ResetSort resets all changes to the "sort" field.
func (m *DictionaryDetailMutation) ResetSort() {
m.sort = nil
m.addsort = nil
}
// SetVersion sets the "version" field.
func (m *DictionaryDetailMutation) SetVersion(i int64) {
m.version = &i
m.addversion = nil
}
// Version returns the value of the "version" field in the mutation.
func (m *DictionaryDetailMutation) Version() (r int64, exists bool) {
v := m.version
if v == nil {
return
}
return *v, true
}
// OldVersion returns the old "version" field's value of the DictionaryDetail entity.
// If the DictionaryDetail 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 *DictionaryDetailMutation) OldVersion(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldVersion is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldVersion requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldVersion: %w", err)
}
return oldValue.Version, nil
}
// AddVersion adds i to the "version" field.
func (m *DictionaryDetailMutation) AddVersion(i int64) {
if m.addversion != nil {
*m.addversion += i
} else {
m.addversion = &i
}
}
// AddedVersion returns the value that was added to the "version" field in this mutation.
func (m *DictionaryDetailMutation) AddedVersion() (r int64, exists bool) {
v := m.addversion
if v == nil {
return
}
return *v, true
}
// ResetVersion resets all changes to the "version" field.
func (m *DictionaryDetailMutation) ResetVersion() {
m.version = nil
m.addversion = nil
}
// SetTitle sets the "title" field.
func (m *DictionaryDetailMutation) SetTitle(s string) {
m.title = &s
}
// Title returns the value of the "title" field in the mutation.
func (m *DictionaryDetailMutation) Title() (r string, exists bool) {
v := m.title
if v == nil {
return
}
return *v, true
}
// OldTitle returns the old "title" field's value of the DictionaryDetail entity.
// If the DictionaryDetail 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 *DictionaryDetailMutation) OldTitle(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldTitle is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldTitle requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldTitle: %w", err)
}
return oldValue.Title, nil
}
// ResetTitle resets all changes to the "title" field.
func (m *DictionaryDetailMutation) ResetTitle() {
m.title = nil
}
// SetKey sets the "key" field.
func (m *DictionaryDetailMutation) SetKey(s string) {
m.key = &s
}
// Key returns the value of the "key" field in the mutation.
func (m *DictionaryDetailMutation) Key() (r string, exists bool) {
v := m.key
if v == nil {
return
}
return *v, true
}
// OldKey returns the old "key" field's value of the DictionaryDetail entity.
// If the DictionaryDetail 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 *DictionaryDetailMutation) OldKey(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldKey is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldKey requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldKey: %w", err)
}
return oldValue.Key, nil
}
// ResetKey resets all changes to the "key" field.
func (m *DictionaryDetailMutation) ResetKey() {
m.key = nil
}
// SetValue sets the "value" field.
func (m *DictionaryDetailMutation) SetValue(s string) {
m.value = &s
}
// Value returns the value of the "value" field in the mutation.
func (m *DictionaryDetailMutation) Value() (r string, exists bool) {
v := m.value
if v == nil {
return
}
return *v, true
}
// OldValue returns the old "value" field's value of the DictionaryDetail entity.
// If the DictionaryDetail 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 *DictionaryDetailMutation) OldValue(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldValue is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldValue requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldValue: %w", err)
}
return oldValue.Value, nil
}
// ResetValue resets all changes to the "value" field.
func (m *DictionaryDetailMutation) ResetValue() {
m.value = nil
}
// SetDictionaryID sets the "dictionary_id" field.
func (m *DictionaryDetailMutation) SetDictionaryID(i int64) {
m.dictionary = &i
}
// DictionaryID returns the value of the "dictionary_id" field in the mutation.
func (m *DictionaryDetailMutation) DictionaryID() (r int64, exists bool) {
v := m.dictionary
if v == nil {
return
}
return *v, true
}
// OldDictionaryID returns the old "dictionary_id" field's value of the DictionaryDetail entity.
// If the DictionaryDetail 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 *DictionaryDetailMutation) OldDictionaryID(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldDictionaryID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldDictionaryID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldDictionaryID: %w", err)
}
return oldValue.DictionaryID, nil
}
// ResetDictionaryID resets all changes to the "dictionary_id" field.
func (m *DictionaryDetailMutation) ResetDictionaryID() {
m.dictionary = nil
}
// ClearDictionary clears the "dictionary" edge to the Dictionary entity.
func (m *DictionaryDetailMutation) ClearDictionary() {
m.cleareddictionary = true
}
// DictionaryCleared reports if the "dictionary" edge to the Dictionary entity was cleared.
func (m *DictionaryDetailMutation) DictionaryCleared() bool {
return m.cleareddictionary
}
// DictionaryIDs returns the "dictionary" edge IDs in the mutation.
// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
// DictionaryID instead. It exists only for internal usage by the builders.
func (m *DictionaryDetailMutation) DictionaryIDs() (ids []int64) {
if id := m.dictionary; id != nil {
ids = append(ids, *id)
}
return
}
// ResetDictionary resets all changes to the "dictionary" edge.
func (m *DictionaryDetailMutation) ResetDictionary() {
m.dictionary = nil
m.cleareddictionary = false
}
// Where appends a list predicates to the DictionaryDetailMutation builder.
func (m *DictionaryDetailMutation) Where(ps ...predicate.DictionaryDetail) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the DictionaryDetailMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *DictionaryDetailMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.DictionaryDetail, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *DictionaryDetailMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *DictionaryDetailMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (DictionaryDetail).
func (m *DictionaryDetailMutation) 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 *DictionaryDetailMutation) Fields() []string {
fields := make([]string, 0, 7)
if m.status != nil {
fields = append(fields, dictionarydetail.FieldStatus)
}
if m.sort != nil {
fields = append(fields, dictionarydetail.FieldSort)
}
if m.version != nil {
fields = append(fields, dictionarydetail.FieldVersion)
}
if m.title != nil {
fields = append(fields, dictionarydetail.FieldTitle)
}
if m.key != nil {
fields = append(fields, dictionarydetail.FieldKey)
}
if m.value != nil {
fields = append(fields, dictionarydetail.FieldValue)
}
if m.dictionary != nil {
fields = append(fields, dictionarydetail.FieldDictionaryID)
}
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 *DictionaryDetailMutation) Field(name string) (ent.Value, bool) {
switch name {
case dictionarydetail.FieldStatus:
return m.Status()
case dictionarydetail.FieldSort:
return m.Sort()
case dictionarydetail.FieldVersion:
return m.Version()
case dictionarydetail.FieldTitle:
return m.Title()
case dictionarydetail.FieldKey:
return m.Key()
case dictionarydetail.FieldValue:
return m.Value()
case dictionarydetail.FieldDictionaryID:
return m.DictionaryID()
}
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 *DictionaryDetailMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case dictionarydetail.FieldStatus:
return m.OldStatus(ctx)
case dictionarydetail.FieldSort:
return m.OldSort(ctx)
case dictionarydetail.FieldVersion:
return m.OldVersion(ctx)
case dictionarydetail.FieldTitle:
return m.OldTitle(ctx)
case dictionarydetail.FieldKey:
return m.OldKey(ctx)
case dictionarydetail.FieldValue:
return m.OldValue(ctx)
case dictionarydetail.FieldDictionaryID:
return m.OldDictionaryID(ctx)
}
return nil, fmt.Errorf("unknown DictionaryDetail 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 *DictionaryDetailMutation) SetField(name string, value ent.Value) error {
switch name {
case dictionarydetail.FieldStatus:
v, ok := value.(types.Status)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetStatus(v)
return nil
case dictionarydetail.FieldSort:
v, ok := value.(uint32)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetSort(v)
return nil
case dictionarydetail.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetVersion(v)
return nil
case dictionarydetail.FieldTitle:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetTitle(v)
return nil
case dictionarydetail.FieldKey:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetKey(v)
return nil
case dictionarydetail.FieldValue:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetValue(v)
return nil
case dictionarydetail.FieldDictionaryID:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetDictionaryID(v)
return nil
}
return fmt.Errorf("unknown DictionaryDetail field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *DictionaryDetailMutation) AddedFields() []string {
var fields []string
if m.addsort != nil {
fields = append(fields, dictionarydetail.FieldSort)
}
if m.addversion != nil {
fields = append(fields, dictionarydetail.FieldVersion)
}
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 *DictionaryDetailMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case dictionarydetail.FieldSort:
return m.AddedSort()
case dictionarydetail.FieldVersion:
return m.AddedVersion()
}
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 *DictionaryDetailMutation) AddField(name string, value ent.Value) error {
switch name {
case dictionarydetail.FieldSort:
v, ok := value.(int32)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddSort(v)
return nil
case dictionarydetail.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddVersion(v)
return nil
}
return fmt.Errorf("unknown DictionaryDetail numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *DictionaryDetailMutation) ClearedFields() []string {
return nil
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *DictionaryDetailMutation) 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 *DictionaryDetailMutation) ClearField(name string) error {
return fmt.Errorf("unknown DictionaryDetail 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 *DictionaryDetailMutation) ResetField(name string) error {
switch name {
case dictionarydetail.FieldStatus:
m.ResetStatus()
return nil
case dictionarydetail.FieldSort:
m.ResetSort()
return nil
case dictionarydetail.FieldVersion:
m.ResetVersion()
return nil
case dictionarydetail.FieldTitle:
m.ResetTitle()
return nil
case dictionarydetail.FieldKey:
m.ResetKey()
return nil
case dictionarydetail.FieldValue:
m.ResetValue()
return nil
case dictionarydetail.FieldDictionaryID:
m.ResetDictionaryID()
return nil
}
return fmt.Errorf("unknown DictionaryDetail field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *DictionaryDetailMutation) AddedEdges() []string {
edges := make([]string, 0, 1)
if m.dictionary != nil {
edges = append(edges, dictionarydetail.EdgeDictionary)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *DictionaryDetailMutation) AddedIDs(name string) []ent.Value {
switch name {
case dictionarydetail.EdgeDictionary:
if id := m.dictionary; id != nil {
return []ent.Value{*id}
}
}
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *DictionaryDetailMutation) 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 *DictionaryDetailMutation) RemovedIDs(name string) []ent.Value {
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *DictionaryDetailMutation) ClearedEdges() []string {
edges := make([]string, 0, 1)
if m.cleareddictionary {
edges = append(edges, dictionarydetail.EdgeDictionary)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *DictionaryDetailMutation) EdgeCleared(name string) bool {
switch name {
case dictionarydetail.EdgeDictionary:
return m.cleareddictionary
}
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 *DictionaryDetailMutation) ClearEdge(name string) error {
switch name {
case dictionarydetail.EdgeDictionary:
m.ClearDictionary()
return nil
}
return fmt.Errorf("unknown DictionaryDetail 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 *DictionaryDetailMutation) ResetEdge(name string) error {
switch name {
case dictionarydetail.EdgeDictionary:
m.ResetDictionary()
return nil
}
return fmt.Errorf("unknown DictionaryDetail edge %s", name)
}
// DistrictMutation represents an operation that mutates the District nodes in the graph.
type DistrictMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
name *string
short_name *string
code *string
province *string
city *string
area *string
street *string
level *uint32
addlevel *int32
latitude *float64
addlatitude *float64
longitude *float64
addlongitude *float64
clearedFields map[string]struct{}
done bool
oldValue func(context.Context) (*District, error)
predicates []predicate.District
}
var _ ent.Mutation = (*DistrictMutation)(nil)
// districtOption allows management of the mutation configuration using functional options.
type districtOption func(*DistrictMutation)
// newDistrictMutation creates new mutation for the District entity.
func newDistrictMutation(c config, op Op, opts ...districtOption) *DistrictMutation {
m := &DistrictMutation{
config: c,
op: op,
typ: TypeDistrict,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withDistrictID sets the ID field of the mutation.
func withDistrictID(id int64) districtOption {
return func(m *DistrictMutation) {
var (
err error
once sync.Once
value *District
)
m.oldValue = func(ctx context.Context) (*District, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().District.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withDistrict sets the old District of the mutation.
func withDistrict(node *District) districtOption {
return func(m *DistrictMutation) {
m.oldValue = func(context.Context) (*District, 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 DistrictMutation) 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 DistrictMutation) 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 District entities.
func (m *DistrictMutation) 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 *DistrictMutation) 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 *DistrictMutation) 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().District.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *DistrictMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *DistrictMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the District entity.
// If the District 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 *DistrictMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *DistrictMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *DistrictMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *DistrictMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the District entity.
// If the District 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 *DistrictMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *DistrictMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetName sets the "name" field.
func (m *DistrictMutation) SetName(s string) {
m.name = &s
}
// Name returns the value of the "name" field in the mutation.
func (m *DistrictMutation) 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 District entity.
// If the District 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 *DistrictMutation) 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 *DistrictMutation) ResetName() {
m.name = nil
}
// SetShortName sets the "short_name" field.
func (m *DistrictMutation) SetShortName(s string) {
m.short_name = &s
}
// ShortName returns the value of the "short_name" field in the mutation.
func (m *DistrictMutation) ShortName() (r string, exists bool) {
v := m.short_name
if v == nil {
return
}
return *v, true
}
// OldShortName returns the old "short_name" field's value of the District entity.
// If the District 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 *DistrictMutation) OldShortName(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldShortName is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldShortName requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldShortName: %w", err)
}
return oldValue.ShortName, nil
}
// ClearShortName clears the value of the "short_name" field.
func (m *DistrictMutation) ClearShortName() {
m.short_name = nil
m.clearedFields[district.FieldShortName] = struct{}{}
}
// ShortNameCleared returns if the "short_name" field was cleared in this mutation.
func (m *DistrictMutation) ShortNameCleared() bool {
_, ok := m.clearedFields[district.FieldShortName]
return ok
}
// ResetShortName resets all changes to the "short_name" field.
func (m *DistrictMutation) ResetShortName() {
m.short_name = nil
delete(m.clearedFields, district.FieldShortName)
}
// SetCode sets the "code" field.
func (m *DistrictMutation) SetCode(s string) {
m.code = &s
}
// Code returns the value of the "code" field in the mutation.
func (m *DistrictMutation) Code() (r string, exists bool) {
v := m.code
if v == nil {
return
}
return *v, true
}
// OldCode returns the old "code" field's value of the District entity.
// If the District 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 *DistrictMutation) OldCode(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCode is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCode requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCode: %w", err)
}
return oldValue.Code, nil
}
// ResetCode resets all changes to the "code" field.
func (m *DistrictMutation) ResetCode() {
m.code = nil
}
// SetProvince sets the "province" field.
func (m *DistrictMutation) SetProvince(s string) {
m.province = &s
}
// Province returns the value of the "province" field in the mutation.
func (m *DistrictMutation) Province() (r string, exists bool) {
v := m.province
if v == nil {
return
}
return *v, true
}
// OldProvince returns the old "province" field's value of the District entity.
// If the District 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 *DistrictMutation) OldProvince(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldProvince is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldProvince requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldProvince: %w", err)
}
return oldValue.Province, nil
}
// ResetProvince resets all changes to the "province" field.
func (m *DistrictMutation) ResetProvince() {
m.province = nil
}
// SetCity sets the "city" field.
func (m *DistrictMutation) SetCity(s string) {
m.city = &s
}
// City returns the value of the "city" field in the mutation.
func (m *DistrictMutation) City() (r string, exists bool) {
v := m.city
if v == nil {
return
}
return *v, true
}
// OldCity returns the old "city" field's value of the District entity.
// If the District 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 *DistrictMutation) OldCity(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCity is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCity requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCity: %w", err)
}
return oldValue.City, nil
}
// ClearCity clears the value of the "city" field.
func (m *DistrictMutation) ClearCity() {
m.city = nil
m.clearedFields[district.FieldCity] = struct{}{}
}
// CityCleared returns if the "city" field was cleared in this mutation.
func (m *DistrictMutation) CityCleared() bool {
_, ok := m.clearedFields[district.FieldCity]
return ok
}
// ResetCity resets all changes to the "city" field.
func (m *DistrictMutation) ResetCity() {
m.city = nil
delete(m.clearedFields, district.FieldCity)
}
// SetArea sets the "area" field.
func (m *DistrictMutation) SetArea(s string) {
m.area = &s
}
// Area returns the value of the "area" field in the mutation.
func (m *DistrictMutation) Area() (r string, exists bool) {
v := m.area
if v == nil {
return
}
return *v, true
}
// OldArea returns the old "area" field's value of the District entity.
// If the District 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 *DistrictMutation) OldArea(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldArea is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldArea requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldArea: %w", err)
}
return oldValue.Area, nil
}
// ClearArea clears the value of the "area" field.
func (m *DistrictMutation) ClearArea() {
m.area = nil
m.clearedFields[district.FieldArea] = struct{}{}
}
// AreaCleared returns if the "area" field was cleared in this mutation.
func (m *DistrictMutation) AreaCleared() bool {
_, ok := m.clearedFields[district.FieldArea]
return ok
}
// ResetArea resets all changes to the "area" field.
func (m *DistrictMutation) ResetArea() {
m.area = nil
delete(m.clearedFields, district.FieldArea)
}
// SetStreet sets the "street" field.
func (m *DistrictMutation) SetStreet(s string) {
m.street = &s
}
// Street returns the value of the "street" field in the mutation.
func (m *DistrictMutation) Street() (r string, exists bool) {
v := m.street
if v == nil {
return
}
return *v, true
}
// OldStreet returns the old "street" field's value of the District entity.
// If the District 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 *DistrictMutation) OldStreet(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldStreet is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldStreet requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldStreet: %w", err)
}
return oldValue.Street, nil
}
// ClearStreet clears the value of the "street" field.
func (m *DistrictMutation) ClearStreet() {
m.street = nil
m.clearedFields[district.FieldStreet] = struct{}{}
}
// StreetCleared returns if the "street" field was cleared in this mutation.
func (m *DistrictMutation) StreetCleared() bool {
_, ok := m.clearedFields[district.FieldStreet]
return ok
}
// ResetStreet resets all changes to the "street" field.
func (m *DistrictMutation) ResetStreet() {
m.street = nil
delete(m.clearedFields, district.FieldStreet)
}
// SetLevel sets the "level" field.
func (m *DistrictMutation) SetLevel(u uint32) {
m.level = &u
m.addlevel = nil
}
// Level returns the value of the "level" field in the mutation.
func (m *DistrictMutation) Level() (r uint32, exists bool) {
v := m.level
if v == nil {
return
}
return *v, true
}
// OldLevel returns the old "level" field's value of the District entity.
// If the District 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 *DistrictMutation) OldLevel(ctx context.Context) (v uint32, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLevel is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLevel requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLevel: %w", err)
}
return oldValue.Level, nil
}
// AddLevel adds u to the "level" field.
func (m *DistrictMutation) AddLevel(u int32) {
if m.addlevel != nil {
*m.addlevel += u
} else {
m.addlevel = &u
}
}
// AddedLevel returns the value that was added to the "level" field in this mutation.
func (m *DistrictMutation) AddedLevel() (r int32, exists bool) {
v := m.addlevel
if v == nil {
return
}
return *v, true
}
// ResetLevel resets all changes to the "level" field.
func (m *DistrictMutation) ResetLevel() {
m.level = nil
m.addlevel = nil
}
// SetLatitude sets the "latitude" field.
func (m *DistrictMutation) SetLatitude(f float64) {
m.latitude = &f
m.addlatitude = nil
}
// Latitude returns the value of the "latitude" field in the mutation.
func (m *DistrictMutation) Latitude() (r float64, exists bool) {
v := m.latitude
if v == nil {
return
}
return *v, true
}
// OldLatitude returns the old "latitude" field's value of the District entity.
// If the District 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 *DistrictMutation) OldLatitude(ctx context.Context) (v float64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLatitude is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLatitude requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLatitude: %w", err)
}
return oldValue.Latitude, nil
}
// AddLatitude adds f to the "latitude" field.
func (m *DistrictMutation) AddLatitude(f float64) {
if m.addlatitude != nil {
*m.addlatitude += f
} else {
m.addlatitude = &f
}
}
// AddedLatitude returns the value that was added to the "latitude" field in this mutation.
func (m *DistrictMutation) AddedLatitude() (r float64, exists bool) {
v := m.addlatitude
if v == nil {
return
}
return *v, true
}
// ResetLatitude resets all changes to the "latitude" field.
func (m *DistrictMutation) ResetLatitude() {
m.latitude = nil
m.addlatitude = nil
}
// SetLongitude sets the "longitude" field.
func (m *DistrictMutation) SetLongitude(f float64) {
m.longitude = &f
m.addlongitude = nil
}
// Longitude returns the value of the "longitude" field in the mutation.
func (m *DistrictMutation) Longitude() (r float64, exists bool) {
v := m.longitude
if v == nil {
return
}
return *v, true
}
// OldLongitude returns the old "longitude" field's value of the District entity.
// If the District 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 *DistrictMutation) OldLongitude(ctx context.Context) (v float64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLongitude is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLongitude requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLongitude: %w", err)
}
return oldValue.Longitude, nil
}
// AddLongitude adds f to the "longitude" field.
func (m *DistrictMutation) AddLongitude(f float64) {
if m.addlongitude != nil {
*m.addlongitude += f
} else {
m.addlongitude = &f
}
}
// AddedLongitude returns the value that was added to the "longitude" field in this mutation.
func (m *DistrictMutation) AddedLongitude() (r float64, exists bool) {
v := m.addlongitude
if v == nil {
return
}
return *v, true
}
// ResetLongitude resets all changes to the "longitude" field.
func (m *DistrictMutation) ResetLongitude() {
m.longitude = nil
m.addlongitude = nil
}
// Where appends a list predicates to the DistrictMutation builder.
func (m *DistrictMutation) Where(ps ...predicate.District) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the DistrictMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *DistrictMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.District, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *DistrictMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *DistrictMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (District).
func (m *DistrictMutation) 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 *DistrictMutation) Fields() []string {
fields := make([]string, 0, 12)
if m.created_at != nil {
fields = append(fields, district.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, district.FieldUpdatedAt)
}
if m.name != nil {
fields = append(fields, district.FieldName)
}
if m.short_name != nil {
fields = append(fields, district.FieldShortName)
}
if m.code != nil {
fields = append(fields, district.FieldCode)
}
if m.province != nil {
fields = append(fields, district.FieldProvince)
}
if m.city != nil {
fields = append(fields, district.FieldCity)
}
if m.area != nil {
fields = append(fields, district.FieldArea)
}
if m.street != nil {
fields = append(fields, district.FieldStreet)
}
if m.level != nil {
fields = append(fields, district.FieldLevel)
}
if m.latitude != nil {
fields = append(fields, district.FieldLatitude)
}
if m.longitude != nil {
fields = append(fields, district.FieldLongitude)
}
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 *DistrictMutation) Field(name string) (ent.Value, bool) {
switch name {
case district.FieldCreatedAt:
return m.CreatedAt()
case district.FieldUpdatedAt:
return m.UpdatedAt()
case district.FieldName:
return m.Name()
case district.FieldShortName:
return m.ShortName()
case district.FieldCode:
return m.Code()
case district.FieldProvince:
return m.Province()
case district.FieldCity:
return m.City()
case district.FieldArea:
return m.Area()
case district.FieldStreet:
return m.Street()
case district.FieldLevel:
return m.Level()
case district.FieldLatitude:
return m.Latitude()
case district.FieldLongitude:
return m.Longitude()
}
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 *DistrictMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case district.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case district.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case district.FieldName:
return m.OldName(ctx)
case district.FieldShortName:
return m.OldShortName(ctx)
case district.FieldCode:
return m.OldCode(ctx)
case district.FieldProvince:
return m.OldProvince(ctx)
case district.FieldCity:
return m.OldCity(ctx)
case district.FieldArea:
return m.OldArea(ctx)
case district.FieldStreet:
return m.OldStreet(ctx)
case district.FieldLevel:
return m.OldLevel(ctx)
case district.FieldLatitude:
return m.OldLatitude(ctx)
case district.FieldLongitude:
return m.OldLongitude(ctx)
}
return nil, fmt.Errorf("unknown District 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 *DistrictMutation) SetField(name string, value ent.Value) error {
switch name {
case district.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case district.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case district.FieldName:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetName(v)
return nil
case district.FieldShortName:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetShortName(v)
return nil
case district.FieldCode:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCode(v)
return nil
case district.FieldProvince:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetProvince(v)
return nil
case district.FieldCity:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCity(v)
return nil
case district.FieldArea:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetArea(v)
return nil
case district.FieldStreet:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetStreet(v)
return nil
case district.FieldLevel:
v, ok := value.(uint32)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLevel(v)
return nil
case district.FieldLatitude:
v, ok := value.(float64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLatitude(v)
return nil
case district.FieldLongitude:
v, ok := value.(float64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLongitude(v)
return nil
}
return fmt.Errorf("unknown District field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *DistrictMutation) AddedFields() []string {
var fields []string
if m.addlevel != nil {
fields = append(fields, district.FieldLevel)
}
if m.addlatitude != nil {
fields = append(fields, district.FieldLatitude)
}
if m.addlongitude != nil {
fields = append(fields, district.FieldLongitude)
}
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 *DistrictMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case district.FieldLevel:
return m.AddedLevel()
case district.FieldLatitude:
return m.AddedLatitude()
case district.FieldLongitude:
return m.AddedLongitude()
}
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 *DistrictMutation) AddField(name string, value ent.Value) error {
switch name {
case district.FieldLevel:
v, ok := value.(int32)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddLevel(v)
return nil
case district.FieldLatitude:
v, ok := value.(float64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddLatitude(v)
return nil
case district.FieldLongitude:
v, ok := value.(float64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddLongitude(v)
return nil
}
return fmt.Errorf("unknown District numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *DistrictMutation) ClearedFields() []string {
var fields []string
if m.FieldCleared(district.FieldShortName) {
fields = append(fields, district.FieldShortName)
}
if m.FieldCleared(district.FieldCity) {
fields = append(fields, district.FieldCity)
}
if m.FieldCleared(district.FieldArea) {
fields = append(fields, district.FieldArea)
}
if m.FieldCleared(district.FieldStreet) {
fields = append(fields, district.FieldStreet)
}
return fields
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *DistrictMutation) 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 *DistrictMutation) ClearField(name string) error {
switch name {
case district.FieldShortName:
m.ClearShortName()
return nil
case district.FieldCity:
m.ClearCity()
return nil
case district.FieldArea:
m.ClearArea()
return nil
case district.FieldStreet:
m.ClearStreet()
return nil
}
return fmt.Errorf("unknown District 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 *DistrictMutation) ResetField(name string) error {
switch name {
case district.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case district.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case district.FieldName:
m.ResetName()
return nil
case district.FieldShortName:
m.ResetShortName()
return nil
case district.FieldCode:
m.ResetCode()
return nil
case district.FieldProvince:
m.ResetProvince()
return nil
case district.FieldCity:
m.ResetCity()
return nil
case district.FieldArea:
m.ResetArea()
return nil
case district.FieldStreet:
m.ResetStreet()
return nil
case district.FieldLevel:
m.ResetLevel()
return nil
case district.FieldLatitude:
m.ResetLatitude()
return nil
case district.FieldLongitude:
m.ResetLongitude()
return nil
}
return fmt.Errorf("unknown District field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *DistrictMutation) 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 *DistrictMutation) AddedIDs(name string) []ent.Value {
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *DistrictMutation) 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 *DistrictMutation) RemovedIDs(name string) []ent.Value {
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *DistrictMutation) 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 *DistrictMutation) 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 *DistrictMutation) ClearEdge(name string) error {
return fmt.Errorf("unknown District 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 *DistrictMutation) ResetEdge(name string) error {
return fmt.Errorf("unknown District edge %s", name)
}
// LoginRecordMutation represents an operation that mutates the LoginRecord nodes in the graph.
type LoginRecordMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
version *int64
addversion *int64
last_login_at *time.Time
last_login_ipv4 *string
last_login_device *string
last_login_UA *string
login_count *uint64
addlogin_count *int64
clearedFields map[string]struct{}
user *int64
cleareduser bool
done bool
oldValue func(context.Context) (*LoginRecord, error)
predicates []predicate.LoginRecord
}
var _ ent.Mutation = (*LoginRecordMutation)(nil)
// loginrecordOption allows management of the mutation configuration using functional options.
type loginrecordOption func(*LoginRecordMutation)
// newLoginRecordMutation creates new mutation for the LoginRecord entity.
func newLoginRecordMutation(c config, op Op, opts ...loginrecordOption) *LoginRecordMutation {
m := &LoginRecordMutation{
config: c,
op: op,
typ: TypeLoginRecord,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withLoginRecordID sets the ID field of the mutation.
func withLoginRecordID(id int64) loginrecordOption {
return func(m *LoginRecordMutation) {
var (
err error
once sync.Once
value *LoginRecord
)
m.oldValue = func(ctx context.Context) (*LoginRecord, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().LoginRecord.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withLoginRecord sets the old LoginRecord of the mutation.
func withLoginRecord(node *LoginRecord) loginrecordOption {
return func(m *LoginRecordMutation) {
m.oldValue = func(context.Context) (*LoginRecord, 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 LoginRecordMutation) 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 LoginRecordMutation) 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 LoginRecord entities.
func (m *LoginRecordMutation) 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 *LoginRecordMutation) 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 *LoginRecordMutation) 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().LoginRecord.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *LoginRecordMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *LoginRecordMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *LoginRecordMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *LoginRecordMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *LoginRecordMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *LoginRecordMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetVersion sets the "version" field.
func (m *LoginRecordMutation) SetVersion(i int64) {
m.version = &i
m.addversion = nil
}
// Version returns the value of the "version" field in the mutation.
func (m *LoginRecordMutation) Version() (r int64, exists bool) {
v := m.version
if v == nil {
return
}
return *v, true
}
// OldVersion returns the old "version" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldVersion(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldVersion is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldVersion requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldVersion: %w", err)
}
return oldValue.Version, nil
}
// AddVersion adds i to the "version" field.
func (m *LoginRecordMutation) AddVersion(i int64) {
if m.addversion != nil {
*m.addversion += i
} else {
m.addversion = &i
}
}
// AddedVersion returns the value that was added to the "version" field in this mutation.
func (m *LoginRecordMutation) AddedVersion() (r int64, exists bool) {
v := m.addversion
if v == nil {
return
}
return *v, true
}
// ResetVersion resets all changes to the "version" field.
func (m *LoginRecordMutation) ResetVersion() {
m.version = nil
m.addversion = nil
}
// SetUserID sets the "user_id" field.
func (m *LoginRecordMutation) SetUserID(i int64) {
m.user = &i
}
// UserID returns the value of the "user_id" field in the mutation.
func (m *LoginRecordMutation) UserID() (r int64, exists bool) {
v := m.user
if v == nil {
return
}
return *v, true
}
// OldUserID returns the old "user_id" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldUserID(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUserID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUserID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUserID: %w", err)
}
return oldValue.UserID, nil
}
// ResetUserID resets all changes to the "user_id" field.
func (m *LoginRecordMutation) ResetUserID() {
m.user = nil
}
// SetLastLoginAt sets the "last_login_at" field.
func (m *LoginRecordMutation) SetLastLoginAt(t time.Time) {
m.last_login_at = &t
}
// LastLoginAt returns the value of the "last_login_at" field in the mutation.
func (m *LoginRecordMutation) LastLoginAt() (r time.Time, exists bool) {
v := m.last_login_at
if v == nil {
return
}
return *v, true
}
// OldLastLoginAt returns the old "last_login_at" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldLastLoginAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLastLoginAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLastLoginAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLastLoginAt: %w", err)
}
return oldValue.LastLoginAt, nil
}
// ClearLastLoginAt clears the value of the "last_login_at" field.
func (m *LoginRecordMutation) ClearLastLoginAt() {
m.last_login_at = nil
m.clearedFields[loginrecord.FieldLastLoginAt] = struct{}{}
}
// LastLoginAtCleared returns if the "last_login_at" field was cleared in this mutation.
func (m *LoginRecordMutation) LastLoginAtCleared() bool {
_, ok := m.clearedFields[loginrecord.FieldLastLoginAt]
return ok
}
// ResetLastLoginAt resets all changes to the "last_login_at" field.
func (m *LoginRecordMutation) ResetLastLoginAt() {
m.last_login_at = nil
delete(m.clearedFields, loginrecord.FieldLastLoginAt)
}
// SetLastLoginIpv4 sets the "last_login_ipv4" field.
func (m *LoginRecordMutation) SetLastLoginIpv4(s string) {
m.last_login_ipv4 = &s
}
// LastLoginIpv4 returns the value of the "last_login_ipv4" field in the mutation.
func (m *LoginRecordMutation) LastLoginIpv4() (r string, exists bool) {
v := m.last_login_ipv4
if v == nil {
return
}
return *v, true
}
// OldLastLoginIpv4 returns the old "last_login_ipv4" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldLastLoginIpv4(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLastLoginIpv4 is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLastLoginIpv4 requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLastLoginIpv4: %w", err)
}
return oldValue.LastLoginIpv4, nil
}
// ClearLastLoginIpv4 clears the value of the "last_login_ipv4" field.
func (m *LoginRecordMutation) ClearLastLoginIpv4() {
m.last_login_ipv4 = nil
m.clearedFields[loginrecord.FieldLastLoginIpv4] = struct{}{}
}
// LastLoginIpv4Cleared returns if the "last_login_ipv4" field was cleared in this mutation.
func (m *LoginRecordMutation) LastLoginIpv4Cleared() bool {
_, ok := m.clearedFields[loginrecord.FieldLastLoginIpv4]
return ok
}
// ResetLastLoginIpv4 resets all changes to the "last_login_ipv4" field.
func (m *LoginRecordMutation) ResetLastLoginIpv4() {
m.last_login_ipv4 = nil
delete(m.clearedFields, loginrecord.FieldLastLoginIpv4)
}
// SetLastLoginDevice sets the "last_login_device" field.
func (m *LoginRecordMutation) SetLastLoginDevice(s string) {
m.last_login_device = &s
}
// LastLoginDevice returns the value of the "last_login_device" field in the mutation.
func (m *LoginRecordMutation) LastLoginDevice() (r string, exists bool) {
v := m.last_login_device
if v == nil {
return
}
return *v, true
}
// OldLastLoginDevice returns the old "last_login_device" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldLastLoginDevice(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLastLoginDevice is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLastLoginDevice requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLastLoginDevice: %w", err)
}
return oldValue.LastLoginDevice, nil
}
// ClearLastLoginDevice clears the value of the "last_login_device" field.
func (m *LoginRecordMutation) ClearLastLoginDevice() {
m.last_login_device = nil
m.clearedFields[loginrecord.FieldLastLoginDevice] = struct{}{}
}
// LastLoginDeviceCleared returns if the "last_login_device" field was cleared in this mutation.
func (m *LoginRecordMutation) LastLoginDeviceCleared() bool {
_, ok := m.clearedFields[loginrecord.FieldLastLoginDevice]
return ok
}
// ResetLastLoginDevice resets all changes to the "last_login_device" field.
func (m *LoginRecordMutation) ResetLastLoginDevice() {
m.last_login_device = nil
delete(m.clearedFields, loginrecord.FieldLastLoginDevice)
}
// SetLastLoginUA sets the "last_login_UA" field.
func (m *LoginRecordMutation) SetLastLoginUA(s string) {
m.last_login_UA = &s
}
// LastLoginUA returns the value of the "last_login_UA" field in the mutation.
func (m *LoginRecordMutation) LastLoginUA() (r string, exists bool) {
v := m.last_login_UA
if v == nil {
return
}
return *v, true
}
// OldLastLoginUA returns the old "last_login_UA" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldLastLoginUA(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLastLoginUA is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLastLoginUA requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLastLoginUA: %w", err)
}
return oldValue.LastLoginUA, nil
}
// ClearLastLoginUA clears the value of the "last_login_UA" field.
func (m *LoginRecordMutation) ClearLastLoginUA() {
m.last_login_UA = nil
m.clearedFields[loginrecord.FieldLastLoginUA] = struct{}{}
}
// LastLoginUACleared returns if the "last_login_UA" field was cleared in this mutation.
func (m *LoginRecordMutation) LastLoginUACleared() bool {
_, ok := m.clearedFields[loginrecord.FieldLastLoginUA]
return ok
}
// ResetLastLoginUA resets all changes to the "last_login_UA" field.
func (m *LoginRecordMutation) ResetLastLoginUA() {
m.last_login_UA = nil
delete(m.clearedFields, loginrecord.FieldLastLoginUA)
}
// SetLoginCount sets the "login_count" field.
func (m *LoginRecordMutation) SetLoginCount(u uint64) {
m.login_count = &u
m.addlogin_count = nil
}
// LoginCount returns the value of the "login_count" field in the mutation.
func (m *LoginRecordMutation) LoginCount() (r uint64, exists bool) {
v := m.login_count
if v == nil {
return
}
return *v, true
}
// OldLoginCount returns the old "login_count" field's value of the LoginRecord entity.
// If the LoginRecord 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 *LoginRecordMutation) OldLoginCount(ctx context.Context) (v uint64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldLoginCount is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldLoginCount requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldLoginCount: %w", err)
}
return oldValue.LoginCount, nil
}
// AddLoginCount adds u to the "login_count" field.
func (m *LoginRecordMutation) AddLoginCount(u int64) {
if m.addlogin_count != nil {
*m.addlogin_count += u
} else {
m.addlogin_count = &u
}
}
// AddedLoginCount returns the value that was added to the "login_count" field in this mutation.
func (m *LoginRecordMutation) AddedLoginCount() (r int64, exists bool) {
v := m.addlogin_count
if v == nil {
return
}
return *v, true
}
// ResetLoginCount resets all changes to the "login_count" field.
func (m *LoginRecordMutation) ResetLoginCount() {
m.login_count = nil
m.addlogin_count = nil
}
// ClearUser clears the "user" edge to the User entity.
func (m *LoginRecordMutation) ClearUser() {
m.cleareduser = true
}
// UserCleared reports if the "user" edge to the User entity was cleared.
func (m *LoginRecordMutation) UserCleared() bool {
return m.cleareduser
}
// UserIDs returns the "user" edge IDs in the mutation.
// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
// UserID instead. It exists only for internal usage by the builders.
func (m *LoginRecordMutation) UserIDs() (ids []int64) {
if id := m.user; id != nil {
ids = append(ids, *id)
}
return
}
// ResetUser resets all changes to the "user" edge.
func (m *LoginRecordMutation) ResetUser() {
m.user = nil
m.cleareduser = false
}
// Where appends a list predicates to the LoginRecordMutation builder.
func (m *LoginRecordMutation) Where(ps ...predicate.LoginRecord) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the LoginRecordMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *LoginRecordMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.LoginRecord, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *LoginRecordMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *LoginRecordMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (LoginRecord).
func (m *LoginRecordMutation) 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 *LoginRecordMutation) Fields() []string {
fields := make([]string, 0, 9)
if m.created_at != nil {
fields = append(fields, loginrecord.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, loginrecord.FieldUpdatedAt)
}
if m.version != nil {
fields = append(fields, loginrecord.FieldVersion)
}
if m.user != nil {
fields = append(fields, loginrecord.FieldUserID)
}
if m.last_login_at != nil {
fields = append(fields, loginrecord.FieldLastLoginAt)
}
if m.last_login_ipv4 != nil {
fields = append(fields, loginrecord.FieldLastLoginIpv4)
}
if m.last_login_device != nil {
fields = append(fields, loginrecord.FieldLastLoginDevice)
}
if m.last_login_UA != nil {
fields = append(fields, loginrecord.FieldLastLoginUA)
}
if m.login_count != nil {
fields = append(fields, loginrecord.FieldLoginCount)
}
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 *LoginRecordMutation) Field(name string) (ent.Value, bool) {
switch name {
case loginrecord.FieldCreatedAt:
return m.CreatedAt()
case loginrecord.FieldUpdatedAt:
return m.UpdatedAt()
case loginrecord.FieldVersion:
return m.Version()
case loginrecord.FieldUserID:
return m.UserID()
case loginrecord.FieldLastLoginAt:
return m.LastLoginAt()
case loginrecord.FieldLastLoginIpv4:
return m.LastLoginIpv4()
case loginrecord.FieldLastLoginDevice:
return m.LastLoginDevice()
case loginrecord.FieldLastLoginUA:
return m.LastLoginUA()
case loginrecord.FieldLoginCount:
return m.LoginCount()
}
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 *LoginRecordMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case loginrecord.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case loginrecord.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case loginrecord.FieldVersion:
return m.OldVersion(ctx)
case loginrecord.FieldUserID:
return m.OldUserID(ctx)
case loginrecord.FieldLastLoginAt:
return m.OldLastLoginAt(ctx)
case loginrecord.FieldLastLoginIpv4:
return m.OldLastLoginIpv4(ctx)
case loginrecord.FieldLastLoginDevice:
return m.OldLastLoginDevice(ctx)
case loginrecord.FieldLastLoginUA:
return m.OldLastLoginUA(ctx)
case loginrecord.FieldLoginCount:
return m.OldLoginCount(ctx)
}
return nil, fmt.Errorf("unknown LoginRecord 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 *LoginRecordMutation) SetField(name string, value ent.Value) error {
switch name {
case loginrecord.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case loginrecord.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case loginrecord.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetVersion(v)
return nil
case loginrecord.FieldUserID:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUserID(v)
return nil
case loginrecord.FieldLastLoginAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLastLoginAt(v)
return nil
case loginrecord.FieldLastLoginIpv4:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLastLoginIpv4(v)
return nil
case loginrecord.FieldLastLoginDevice:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLastLoginDevice(v)
return nil
case loginrecord.FieldLastLoginUA:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLastLoginUA(v)
return nil
case loginrecord.FieldLoginCount:
v, ok := value.(uint64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetLoginCount(v)
return nil
}
return fmt.Errorf("unknown LoginRecord field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *LoginRecordMutation) AddedFields() []string {
var fields []string
if m.addversion != nil {
fields = append(fields, loginrecord.FieldVersion)
}
if m.addlogin_count != nil {
fields = append(fields, loginrecord.FieldLoginCount)
}
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 *LoginRecordMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case loginrecord.FieldVersion:
return m.AddedVersion()
case loginrecord.FieldLoginCount:
return m.AddedLoginCount()
}
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 *LoginRecordMutation) AddField(name string, value ent.Value) error {
switch name {
case loginrecord.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddVersion(v)
return nil
case loginrecord.FieldLoginCount:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddLoginCount(v)
return nil
}
return fmt.Errorf("unknown LoginRecord numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *LoginRecordMutation) ClearedFields() []string {
var fields []string
if m.FieldCleared(loginrecord.FieldLastLoginAt) {
fields = append(fields, loginrecord.FieldLastLoginAt)
}
if m.FieldCleared(loginrecord.FieldLastLoginIpv4) {
fields = append(fields, loginrecord.FieldLastLoginIpv4)
}
if m.FieldCleared(loginrecord.FieldLastLoginDevice) {
fields = append(fields, loginrecord.FieldLastLoginDevice)
}
if m.FieldCleared(loginrecord.FieldLastLoginUA) {
fields = append(fields, loginrecord.FieldLastLoginUA)
}
return fields
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *LoginRecordMutation) 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 *LoginRecordMutation) ClearField(name string) error {
switch name {
case loginrecord.FieldLastLoginAt:
m.ClearLastLoginAt()
return nil
case loginrecord.FieldLastLoginIpv4:
m.ClearLastLoginIpv4()
return nil
case loginrecord.FieldLastLoginDevice:
m.ClearLastLoginDevice()
return nil
case loginrecord.FieldLastLoginUA:
m.ClearLastLoginUA()
return nil
}
return fmt.Errorf("unknown LoginRecord 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 *LoginRecordMutation) ResetField(name string) error {
switch name {
case loginrecord.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case loginrecord.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case loginrecord.FieldVersion:
m.ResetVersion()
return nil
case loginrecord.FieldUserID:
m.ResetUserID()
return nil
case loginrecord.FieldLastLoginAt:
m.ResetLastLoginAt()
return nil
case loginrecord.FieldLastLoginIpv4:
m.ResetLastLoginIpv4()
return nil
case loginrecord.FieldLastLoginDevice:
m.ResetLastLoginDevice()
return nil
case loginrecord.FieldLastLoginUA:
m.ResetLastLoginUA()
return nil
case loginrecord.FieldLoginCount:
m.ResetLoginCount()
return nil
}
return fmt.Errorf("unknown LoginRecord field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *LoginRecordMutation) AddedEdges() []string {
edges := make([]string, 0, 1)
if m.user != nil {
edges = append(edges, loginrecord.EdgeUser)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *LoginRecordMutation) AddedIDs(name string) []ent.Value {
switch name {
case loginrecord.EdgeUser:
if id := m.user; id != nil {
return []ent.Value{*id}
}
}
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *LoginRecordMutation) 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 *LoginRecordMutation) RemovedIDs(name string) []ent.Value {
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *LoginRecordMutation) ClearedEdges() []string {
edges := make([]string, 0, 1)
if m.cleareduser {
edges = append(edges, loginrecord.EdgeUser)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *LoginRecordMutation) EdgeCleared(name string) bool {
switch name {
case loginrecord.EdgeUser:
return m.cleareduser
}
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 *LoginRecordMutation) ClearEdge(name string) error {
switch name {
case loginrecord.EdgeUser:
m.ClearUser()
return nil
}
return fmt.Errorf("unknown LoginRecord 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 *LoginRecordMutation) ResetEdge(name string) error {
switch name {
case loginrecord.EdgeUser:
m.ResetUser()
return nil
}
return fmt.Errorf("unknown LoginRecord edge %s", name)
}
// OauthProviderMutation represents an operation that mutates the OauthProvider nodes in the graph.
type OauthProviderMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
deleted_at *time.Time
name *string
client_id *string
client_secret *string
redirect_url *string
scopes *string
auth_url *string
token_url *string
info_url *string
description *string
system *bool
init *bool
clearedFields map[string]struct{}
done bool
oldValue func(context.Context) (*OauthProvider, error)
predicates []predicate.OauthProvider
}
var _ ent.Mutation = (*OauthProviderMutation)(nil)
// oauthproviderOption allows management of the mutation configuration using functional options.
type oauthproviderOption func(*OauthProviderMutation)
// newOauthProviderMutation creates new mutation for the OauthProvider entity.
func newOauthProviderMutation(c config, op Op, opts ...oauthproviderOption) *OauthProviderMutation {
m := &OauthProviderMutation{
config: c,
op: op,
typ: TypeOauthProvider,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withOauthProviderID sets the ID field of the mutation.
func withOauthProviderID(id int64) oauthproviderOption {
return func(m *OauthProviderMutation) {
var (
err error
once sync.Once
value *OauthProvider
)
m.oldValue = func(ctx context.Context) (*OauthProvider, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().OauthProvider.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withOauthProvider sets the old OauthProvider of the mutation.
func withOauthProvider(node *OauthProvider) oauthproviderOption {
return func(m *OauthProviderMutation) {
m.oldValue = func(context.Context) (*OauthProvider, 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 OauthProviderMutation) 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 OauthProviderMutation) 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 OauthProvider entities.
func (m *OauthProviderMutation) 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 *OauthProviderMutation) 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 *OauthProviderMutation) 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().OauthProvider.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *OauthProviderMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *OauthProviderMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *OauthProviderMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *OauthProviderMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *OauthProviderMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *OauthProviderMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetDeletedAt sets the "deleted_at" field.
func (m *OauthProviderMutation) SetDeletedAt(t time.Time) {
m.deleted_at = &t
}
// DeletedAt returns the value of the "deleted_at" field in the mutation.
func (m *OauthProviderMutation) DeletedAt() (r time.Time, exists bool) {
v := m.deleted_at
if v == nil {
return
}
return *v, true
}
// OldDeletedAt returns the old "deleted_at" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldDeletedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldDeletedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldDeletedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldDeletedAt: %w", err)
}
return oldValue.DeletedAt, nil
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func (m *OauthProviderMutation) ClearDeletedAt() {
m.deleted_at = nil
m.clearedFields[oauthprovider.FieldDeletedAt] = struct{}{}
}
// DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation.
func (m *OauthProviderMutation) DeletedAtCleared() bool {
_, ok := m.clearedFields[oauthprovider.FieldDeletedAt]
return ok
}
// ResetDeletedAt resets all changes to the "deleted_at" field.
func (m *OauthProviderMutation) ResetDeletedAt() {
m.deleted_at = nil
delete(m.clearedFields, oauthprovider.FieldDeletedAt)
}
// SetName sets the "name" field.
func (m *OauthProviderMutation) SetName(s string) {
m.name = &s
}
// Name returns the value of the "name" field in the mutation.
func (m *OauthProviderMutation) 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 OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) 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 *OauthProviderMutation) ResetName() {
m.name = nil
}
// SetClientID sets the "client_id" field.
func (m *OauthProviderMutation) SetClientID(s string) {
m.client_id = &s
}
// ClientID returns the value of the "client_id" field in the mutation.
func (m *OauthProviderMutation) ClientID() (r string, exists bool) {
v := m.client_id
if v == nil {
return
}
return *v, true
}
// OldClientID returns the old "client_id" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldClientID(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldClientID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldClientID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldClientID: %w", err)
}
return oldValue.ClientID, nil
}
// ResetClientID resets all changes to the "client_id" field.
func (m *OauthProviderMutation) ResetClientID() {
m.client_id = nil
}
// SetClientSecret sets the "client_secret" field.
func (m *OauthProviderMutation) SetClientSecret(s string) {
m.client_secret = &s
}
// ClientSecret returns the value of the "client_secret" field in the mutation.
func (m *OauthProviderMutation) ClientSecret() (r string, exists bool) {
v := m.client_secret
if v == nil {
return
}
return *v, true
}
// OldClientSecret returns the old "client_secret" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldClientSecret(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldClientSecret is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldClientSecret requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldClientSecret: %w", err)
}
return oldValue.ClientSecret, nil
}
// ResetClientSecret resets all changes to the "client_secret" field.
func (m *OauthProviderMutation) ResetClientSecret() {
m.client_secret = nil
}
// SetRedirectURL sets the "redirect_url" field.
func (m *OauthProviderMutation) SetRedirectURL(s string) {
m.redirect_url = &s
}
// RedirectURL returns the value of the "redirect_url" field in the mutation.
func (m *OauthProviderMutation) RedirectURL() (r string, exists bool) {
v := m.redirect_url
if v == nil {
return
}
return *v, true
}
// OldRedirectURL returns the old "redirect_url" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldRedirectURL(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldRedirectURL is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldRedirectURL requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldRedirectURL: %w", err)
}
return oldValue.RedirectURL, nil
}
// ResetRedirectURL resets all changes to the "redirect_url" field.
func (m *OauthProviderMutation) ResetRedirectURL() {
m.redirect_url = nil
}
// SetScopes sets the "scopes" field.
func (m *OauthProviderMutation) SetScopes(s string) {
m.scopes = &s
}
// Scopes returns the value of the "scopes" field in the mutation.
func (m *OauthProviderMutation) Scopes() (r string, exists bool) {
v := m.scopes
if v == nil {
return
}
return *v, true
}
// OldScopes returns the old "scopes" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldScopes(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldScopes is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldScopes requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldScopes: %w", err)
}
return oldValue.Scopes, nil
}
// ResetScopes resets all changes to the "scopes" field.
func (m *OauthProviderMutation) ResetScopes() {
m.scopes = nil
}
// SetAuthURL sets the "auth_url" field.
func (m *OauthProviderMutation) SetAuthURL(s string) {
m.auth_url = &s
}
// AuthURL returns the value of the "auth_url" field in the mutation.
func (m *OauthProviderMutation) AuthURL() (r string, exists bool) {
v := m.auth_url
if v == nil {
return
}
return *v, true
}
// OldAuthURL returns the old "auth_url" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldAuthURL(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldAuthURL is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldAuthURL requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldAuthURL: %w", err)
}
return oldValue.AuthURL, nil
}
// ResetAuthURL resets all changes to the "auth_url" field.
func (m *OauthProviderMutation) ResetAuthURL() {
m.auth_url = nil
}
// SetTokenURL sets the "token_url" field.
func (m *OauthProviderMutation) SetTokenURL(s string) {
m.token_url = &s
}
// TokenURL returns the value of the "token_url" field in the mutation.
func (m *OauthProviderMutation) TokenURL() (r string, exists bool) {
v := m.token_url
if v == nil {
return
}
return *v, true
}
// OldTokenURL returns the old "token_url" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldTokenURL(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldTokenURL is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldTokenURL requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldTokenURL: %w", err)
}
return oldValue.TokenURL, nil
}
// ResetTokenURL resets all changes to the "token_url" field.
func (m *OauthProviderMutation) ResetTokenURL() {
m.token_url = nil
}
// SetInfoURL sets the "info_url" field.
func (m *OauthProviderMutation) SetInfoURL(s string) {
m.info_url = &s
}
// InfoURL returns the value of the "info_url" field in the mutation.
func (m *OauthProviderMutation) InfoURL() (r string, exists bool) {
v := m.info_url
if v == nil {
return
}
return *v, true
}
// OldInfoURL returns the old "info_url" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldInfoURL(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldInfoURL is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldInfoURL requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldInfoURL: %w", err)
}
return oldValue.InfoURL, nil
}
// ResetInfoURL resets all changes to the "info_url" field.
func (m *OauthProviderMutation) ResetInfoURL() {
m.info_url = nil
}
// SetDescription sets the "description" field.
func (m *OauthProviderMutation) SetDescription(s string) {
m.description = &s
}
// Description returns the value of the "description" field in the mutation.
func (m *OauthProviderMutation) Description() (r string, exists bool) {
v := m.description
if v == nil {
return
}
return *v, true
}
// OldDescription returns the old "description" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldDescription(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldDescription is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldDescription requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldDescription: %w", err)
}
return oldValue.Description, nil
}
// ResetDescription resets all changes to the "description" field.
func (m *OauthProviderMutation) ResetDescription() {
m.description = nil
}
// SetSystem sets the "system" field.
func (m *OauthProviderMutation) SetSystem(b bool) {
m.system = &b
}
// System returns the value of the "system" field in the mutation.
func (m *OauthProviderMutation) System() (r bool, exists bool) {
v := m.system
if v == nil {
return
}
return *v, true
}
// OldSystem returns the old "system" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldSystem(ctx context.Context) (v bool, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldSystem is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldSystem requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldSystem: %w", err)
}
return oldValue.System, nil
}
// ResetSystem resets all changes to the "system" field.
func (m *OauthProviderMutation) ResetSystem() {
m.system = nil
}
// SetInit sets the "init" field.
func (m *OauthProviderMutation) SetInit(b bool) {
m.init = &b
}
// Init returns the value of the "init" field in the mutation.
func (m *OauthProviderMutation) Init() (r bool, exists bool) {
v := m.init
if v == nil {
return
}
return *v, true
}
// OldInit returns the old "init" field's value of the OauthProvider entity.
// If the OauthProvider 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 *OauthProviderMutation) OldInit(ctx context.Context) (v bool, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldInit is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldInit requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldInit: %w", err)
}
return oldValue.Init, nil
}
// ResetInit resets all changes to the "init" field.
func (m *OauthProviderMutation) ResetInit() {
m.init = nil
}
// Where appends a list predicates to the OauthProviderMutation builder.
func (m *OauthProviderMutation) Where(ps ...predicate.OauthProvider) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the OauthProviderMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *OauthProviderMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.OauthProvider, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *OauthProviderMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *OauthProviderMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (OauthProvider).
func (m *OauthProviderMutation) 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 *OauthProviderMutation) Fields() []string {
fields := make([]string, 0, 14)
if m.created_at != nil {
fields = append(fields, oauthprovider.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, oauthprovider.FieldUpdatedAt)
}
if m.deleted_at != nil {
fields = append(fields, oauthprovider.FieldDeletedAt)
}
if m.name != nil {
fields = append(fields, oauthprovider.FieldName)
}
if m.client_id != nil {
fields = append(fields, oauthprovider.FieldClientID)
}
if m.client_secret != nil {
fields = append(fields, oauthprovider.FieldClientSecret)
}
if m.redirect_url != nil {
fields = append(fields, oauthprovider.FieldRedirectURL)
}
if m.scopes != nil {
fields = append(fields, oauthprovider.FieldScopes)
}
if m.auth_url != nil {
fields = append(fields, oauthprovider.FieldAuthURL)
}
if m.token_url != nil {
fields = append(fields, oauthprovider.FieldTokenURL)
}
if m.info_url != nil {
fields = append(fields, oauthprovider.FieldInfoURL)
}
if m.description != nil {
fields = append(fields, oauthprovider.FieldDescription)
}
if m.system != nil {
fields = append(fields, oauthprovider.FieldSystem)
}
if m.init != nil {
fields = append(fields, oauthprovider.FieldInit)
}
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 *OauthProviderMutation) Field(name string) (ent.Value, bool) {
switch name {
case oauthprovider.FieldCreatedAt:
return m.CreatedAt()
case oauthprovider.FieldUpdatedAt:
return m.UpdatedAt()
case oauthprovider.FieldDeletedAt:
return m.DeletedAt()
case oauthprovider.FieldName:
return m.Name()
case oauthprovider.FieldClientID:
return m.ClientID()
case oauthprovider.FieldClientSecret:
return m.ClientSecret()
case oauthprovider.FieldRedirectURL:
return m.RedirectURL()
case oauthprovider.FieldScopes:
return m.Scopes()
case oauthprovider.FieldAuthURL:
return m.AuthURL()
case oauthprovider.FieldTokenURL:
return m.TokenURL()
case oauthprovider.FieldInfoURL:
return m.InfoURL()
case oauthprovider.FieldDescription:
return m.Description()
case oauthprovider.FieldSystem:
return m.System()
case oauthprovider.FieldInit:
return m.Init()
}
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 *OauthProviderMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case oauthprovider.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case oauthprovider.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case oauthprovider.FieldDeletedAt:
return m.OldDeletedAt(ctx)
case oauthprovider.FieldName:
return m.OldName(ctx)
case oauthprovider.FieldClientID:
return m.OldClientID(ctx)
case oauthprovider.FieldClientSecret:
return m.OldClientSecret(ctx)
case oauthprovider.FieldRedirectURL:
return m.OldRedirectURL(ctx)
case oauthprovider.FieldScopes:
return m.OldScopes(ctx)
case oauthprovider.FieldAuthURL:
return m.OldAuthURL(ctx)
case oauthprovider.FieldTokenURL:
return m.OldTokenURL(ctx)
case oauthprovider.FieldInfoURL:
return m.OldInfoURL(ctx)
case oauthprovider.FieldDescription:
return m.OldDescription(ctx)
case oauthprovider.FieldSystem:
return m.OldSystem(ctx)
case oauthprovider.FieldInit:
return m.OldInit(ctx)
}
return nil, fmt.Errorf("unknown OauthProvider 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 *OauthProviderMutation) SetField(name string, value ent.Value) error {
switch name {
case oauthprovider.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case oauthprovider.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case oauthprovider.FieldDeletedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetDeletedAt(v)
return nil
case oauthprovider.FieldName:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetName(v)
return nil
case oauthprovider.FieldClientID:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetClientID(v)
return nil
case oauthprovider.FieldClientSecret:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetClientSecret(v)
return nil
case oauthprovider.FieldRedirectURL:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetRedirectURL(v)
return nil
case oauthprovider.FieldScopes:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetScopes(v)
return nil
case oauthprovider.FieldAuthURL:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetAuthURL(v)
return nil
case oauthprovider.FieldTokenURL:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetTokenURL(v)
return nil
case oauthprovider.FieldInfoURL:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetInfoURL(v)
return nil
case oauthprovider.FieldDescription:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetDescription(v)
return nil
case oauthprovider.FieldSystem:
v, ok := value.(bool)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetSystem(v)
return nil
case oauthprovider.FieldInit:
v, ok := value.(bool)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetInit(v)
return nil
}
return fmt.Errorf("unknown OauthProvider field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *OauthProviderMutation) 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 *OauthProviderMutation) 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 *OauthProviderMutation) AddField(name string, value ent.Value) error {
switch name {
}
return fmt.Errorf("unknown OauthProvider numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *OauthProviderMutation) ClearedFields() []string {
var fields []string
if m.FieldCleared(oauthprovider.FieldDeletedAt) {
fields = append(fields, oauthprovider.FieldDeletedAt)
}
return fields
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *OauthProviderMutation) 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 *OauthProviderMutation) ClearField(name string) error {
switch name {
case oauthprovider.FieldDeletedAt:
m.ClearDeletedAt()
return nil
}
return fmt.Errorf("unknown OauthProvider 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 *OauthProviderMutation) ResetField(name string) error {
switch name {
case oauthprovider.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case oauthprovider.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case oauthprovider.FieldDeletedAt:
m.ResetDeletedAt()
return nil
case oauthprovider.FieldName:
m.ResetName()
return nil
case oauthprovider.FieldClientID:
m.ResetClientID()
return nil
case oauthprovider.FieldClientSecret:
m.ResetClientSecret()
return nil
case oauthprovider.FieldRedirectURL:
m.ResetRedirectURL()
return nil
case oauthprovider.FieldScopes:
m.ResetScopes()
return nil
case oauthprovider.FieldAuthURL:
m.ResetAuthURL()
return nil
case oauthprovider.FieldTokenURL:
m.ResetTokenURL()
return nil
case oauthprovider.FieldInfoURL:
m.ResetInfoURL()
return nil
case oauthprovider.FieldDescription:
m.ResetDescription()
return nil
case oauthprovider.FieldSystem:
m.ResetSystem()
return nil
case oauthprovider.FieldInit:
m.ResetInit()
return nil
}
return fmt.Errorf("unknown OauthProvider field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *OauthProviderMutation) 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 *OauthProviderMutation) AddedIDs(name string) []ent.Value {
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *OauthProviderMutation) 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 *OauthProviderMutation) RemovedIDs(name string) []ent.Value {
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *OauthProviderMutation) 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 *OauthProviderMutation) 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 *OauthProviderMutation) ClearEdge(name string) error {
return fmt.Errorf("unknown OauthProvider 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 *OauthProviderMutation) ResetEdge(name string) error {
return fmt.Errorf("unknown OauthProvider edge %s", name)
}
// RoleMutation represents an operation that mutates the Role nodes in the graph.
type RoleMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
version *int64
addversion *int64
status *types.Status
deleted_at *time.Time
code *string
name *string
description *string
clearedFields map[string]struct{}
users map[int64]struct{}
removedusers map[int64]struct{}
clearedusers bool
done bool
oldValue func(context.Context) (*Role, error)
predicates []predicate.Role
}
var _ ent.Mutation = (*RoleMutation)(nil)
// roleOption allows management of the mutation configuration using functional options.
type roleOption func(*RoleMutation)
// newRoleMutation creates new mutation for the Role entity.
func newRoleMutation(c config, op Op, opts ...roleOption) *RoleMutation {
m := &RoleMutation{
config: c,
op: op,
typ: TypeRole,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withRoleID sets the ID field of the mutation.
func withRoleID(id int64) roleOption {
return func(m *RoleMutation) {
var (
err error
once sync.Once
value *Role
)
m.oldValue = func(ctx context.Context) (*Role, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().Role.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withRole sets the old Role of the mutation.
func withRole(node *Role) roleOption {
return func(m *RoleMutation) {
m.oldValue = func(context.Context) (*Role, 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 RoleMutation) 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 RoleMutation) 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 Role entities.
func (m *RoleMutation) 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 *RoleMutation) 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 *RoleMutation) 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().Role.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *RoleMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *RoleMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the Role entity.
// If the Role 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 *RoleMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *RoleMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *RoleMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *RoleMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the Role entity.
// If the Role 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 *RoleMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *RoleMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetVersion sets the "version" field.
func (m *RoleMutation) SetVersion(i int64) {
m.version = &i
m.addversion = nil
}
// Version returns the value of the "version" field in the mutation.
func (m *RoleMutation) Version() (r int64, exists bool) {
v := m.version
if v == nil {
return
}
return *v, true
}
// OldVersion returns the old "version" field's value of the Role entity.
// If the Role 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 *RoleMutation) OldVersion(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldVersion is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldVersion requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldVersion: %w", err)
}
return oldValue.Version, nil
}
// AddVersion adds i to the "version" field.
func (m *RoleMutation) AddVersion(i int64) {
if m.addversion != nil {
*m.addversion += i
} else {
m.addversion = &i
}
}
// AddedVersion returns the value that was added to the "version" field in this mutation.
func (m *RoleMutation) AddedVersion() (r int64, exists bool) {
v := m.addversion
if v == nil {
return
}
return *v, true
}
// ResetVersion resets all changes to the "version" field.
func (m *RoleMutation) ResetVersion() {
m.version = nil
m.addversion = nil
}
// SetStatus sets the "status" field.
func (m *RoleMutation) SetStatus(t types.Status) {
m.status = &t
}
// Status returns the value of the "status" field in the mutation.
func (m *RoleMutation) Status() (r types.Status, exists bool) {
v := m.status
if v == nil {
return
}
return *v, true
}
// OldStatus returns the old "status" field's value of the Role entity.
// If the Role 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 *RoleMutation) OldStatus(ctx context.Context) (v types.Status, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldStatus is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldStatus requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldStatus: %w", err)
}
return oldValue.Status, nil
}
// ResetStatus resets all changes to the "status" field.
func (m *RoleMutation) ResetStatus() {
m.status = nil
}
// SetDeletedAt sets the "deleted_at" field.
func (m *RoleMutation) SetDeletedAt(t time.Time) {
m.deleted_at = &t
}
// DeletedAt returns the value of the "deleted_at" field in the mutation.
func (m *RoleMutation) DeletedAt() (r time.Time, exists bool) {
v := m.deleted_at
if v == nil {
return
}
return *v, true
}
// OldDeletedAt returns the old "deleted_at" field's value of the Role entity.
// If the Role 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 *RoleMutation) OldDeletedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldDeletedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldDeletedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldDeletedAt: %w", err)
}
return oldValue.DeletedAt, nil
}
// ClearDeletedAt clears the value of the "deleted_at" field.
func (m *RoleMutation) ClearDeletedAt() {
m.deleted_at = nil
m.clearedFields[role.FieldDeletedAt] = struct{}{}
}
// DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation.
func (m *RoleMutation) DeletedAtCleared() bool {
_, ok := m.clearedFields[role.FieldDeletedAt]
return ok
}
// ResetDeletedAt resets all changes to the "deleted_at" field.
func (m *RoleMutation) ResetDeletedAt() {
m.deleted_at = nil
delete(m.clearedFields, role.FieldDeletedAt)
}
// SetCode sets the "code" field.
func (m *RoleMutation) SetCode(s string) {
m.code = &s
}
// Code returns the value of the "code" field in the mutation.
func (m *RoleMutation) Code() (r string, exists bool) {
v := m.code
if v == nil {
return
}
return *v, true
}
// OldCode returns the old "code" field's value of the Role entity.
// If the Role 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 *RoleMutation) OldCode(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCode is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCode requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCode: %w", err)
}
return oldValue.Code, nil
}
// ResetCode resets all changes to the "code" field.
func (m *RoleMutation) ResetCode() {
m.code = nil
}
// SetName sets the "name" field.
func (m *RoleMutation) SetName(s string) {
m.name = &s
}
// Name returns the value of the "name" field in the mutation.
func (m *RoleMutation) 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 Role entity.
// If the Role 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 *RoleMutation) 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 *RoleMutation) ResetName() {
m.name = nil
}
// SetDescription sets the "description" field.
func (m *RoleMutation) SetDescription(s string) {
m.description = &s
}
// Description returns the value of the "description" field in the mutation.
func (m *RoleMutation) Description() (r string, exists bool) {
v := m.description
if v == nil {
return
}
return *v, true
}
// OldDescription returns the old "description" field's value of the Role entity.
// If the Role 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 *RoleMutation) OldDescription(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldDescription is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldDescription requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldDescription: %w", err)
}
return oldValue.Description, nil
}
// ResetDescription resets all changes to the "description" field.
func (m *RoleMutation) ResetDescription() {
m.description = nil
}
// AddUserIDs adds the "users" edge to the User entity by ids.
func (m *RoleMutation) AddUserIDs(ids ...int64) {
if m.users == nil {
m.users = make(map[int64]struct{})
}
for i := range ids {
m.users[ids[i]] = struct{}{}
}
}
// ClearUsers clears the "users" edge to the User entity.
func (m *RoleMutation) ClearUsers() {
m.clearedusers = true
}
// UsersCleared reports if the "users" edge to the User entity was cleared.
func (m *RoleMutation) UsersCleared() bool {
return m.clearedusers
}
// RemoveUserIDs removes the "users" edge to the User entity by IDs.
func (m *RoleMutation) RemoveUserIDs(ids ...int64) {
if m.removedusers == nil {
m.removedusers = make(map[int64]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 *RoleMutation) RemovedUsersIDs() (ids []int64) {
for id := range m.removedusers {
ids = append(ids, id)
}
return
}
// UsersIDs returns the "users" edge IDs in the mutation.
func (m *RoleMutation) UsersIDs() (ids []int64) {
for id := range m.users {
ids = append(ids, id)
}
return
}
// ResetUsers resets all changes to the "users" edge.
func (m *RoleMutation) ResetUsers() {
m.users = nil
m.clearedusers = false
m.removedusers = nil
}
// Where appends a list predicates to the RoleMutation builder.
func (m *RoleMutation) Where(ps ...predicate.Role) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the RoleMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *RoleMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.Role, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *RoleMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *RoleMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (Role).
func (m *RoleMutation) 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 *RoleMutation) Fields() []string {
fields := make([]string, 0, 8)
if m.created_at != nil {
fields = append(fields, role.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, role.FieldUpdatedAt)
}
if m.version != nil {
fields = append(fields, role.FieldVersion)
}
if m.status != nil {
fields = append(fields, role.FieldStatus)
}
if m.deleted_at != nil {
fields = append(fields, role.FieldDeletedAt)
}
if m.code != nil {
fields = append(fields, role.FieldCode)
}
if m.name != nil {
fields = append(fields, role.FieldName)
}
if m.description != nil {
fields = append(fields, role.FieldDescription)
}
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 *RoleMutation) Field(name string) (ent.Value, bool) {
switch name {
case role.FieldCreatedAt:
return m.CreatedAt()
case role.FieldUpdatedAt:
return m.UpdatedAt()
case role.FieldVersion:
return m.Version()
case role.FieldStatus:
return m.Status()
case role.FieldDeletedAt:
return m.DeletedAt()
case role.FieldCode:
return m.Code()
case role.FieldName:
return m.Name()
case role.FieldDescription:
return m.Description()
}
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 *RoleMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case role.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case role.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case role.FieldVersion:
return m.OldVersion(ctx)
case role.FieldStatus:
return m.OldStatus(ctx)
case role.FieldDeletedAt:
return m.OldDeletedAt(ctx)
case role.FieldCode:
return m.OldCode(ctx)
case role.FieldName:
return m.OldName(ctx)
case role.FieldDescription:
return m.OldDescription(ctx)
}
return nil, fmt.Errorf("unknown Role 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 *RoleMutation) SetField(name string, value ent.Value) error {
switch name {
case role.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case role.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case role.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetVersion(v)
return nil
case role.FieldStatus:
v, ok := value.(types.Status)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetStatus(v)
return nil
case role.FieldDeletedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetDeletedAt(v)
return nil
case role.FieldCode:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCode(v)
return nil
case role.FieldName:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetName(v)
return nil
case role.FieldDescription:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetDescription(v)
return nil
}
return fmt.Errorf("unknown Role field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *RoleMutation) AddedFields() []string {
var fields []string
if m.addversion != nil {
fields = append(fields, role.FieldVersion)
}
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 *RoleMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case role.FieldVersion:
return m.AddedVersion()
}
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 *RoleMutation) AddField(name string, value ent.Value) error {
switch name {
case role.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddVersion(v)
return nil
}
return fmt.Errorf("unknown Role numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *RoleMutation) ClearedFields() []string {
var fields []string
if m.FieldCleared(role.FieldDeletedAt) {
fields = append(fields, role.FieldDeletedAt)
}
return fields
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *RoleMutation) 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 *RoleMutation) ClearField(name string) error {
switch name {
case role.FieldDeletedAt:
m.ClearDeletedAt()
return nil
}
return fmt.Errorf("unknown Role 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 *RoleMutation) ResetField(name string) error {
switch name {
case role.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case role.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case role.FieldVersion:
m.ResetVersion()
return nil
case role.FieldStatus:
m.ResetStatus()
return nil
case role.FieldDeletedAt:
m.ResetDeletedAt()
return nil
case role.FieldCode:
m.ResetCode()
return nil
case role.FieldName:
m.ResetName()
return nil
case role.FieldDescription:
m.ResetDescription()
return nil
}
return fmt.Errorf("unknown Role field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *RoleMutation) AddedEdges() []string {
edges := make([]string, 0, 1)
if m.users != nil {
edges = append(edges, role.EdgeUsers)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *RoleMutation) AddedIDs(name string) []ent.Value {
switch name {
case role.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 *RoleMutation) RemovedEdges() []string {
edges := make([]string, 0, 1)
if m.removedusers != nil {
edges = append(edges, role.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 *RoleMutation) RemovedIDs(name string) []ent.Value {
switch name {
case role.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 *RoleMutation) ClearedEdges() []string {
edges := make([]string, 0, 1)
if m.clearedusers {
edges = append(edges, role.EdgeUsers)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *RoleMutation) EdgeCleared(name string) bool {
switch name {
case role.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 *RoleMutation) ClearEdge(name string) error {
switch name {
}
return fmt.Errorf("unknown Role 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 *RoleMutation) ResetEdge(name string) error {
switch name {
case role.EdgeUsers:
m.ResetUsers()
return nil
}
return fmt.Errorf("unknown Role edge %s", name)
}
// TokenMutation represents an operation that mutates the Token nodes in the graph.
type TokenMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
status *types.Status
version *int64
addversion *int64
token_type *string
access_token *string
refresh_token *string
source *string
expired_at *time.Time
clearedFields map[string]struct{}
user *int64
cleareduser bool
done bool
oldValue func(context.Context) (*Token, error)
predicates []predicate.Token
}
var _ ent.Mutation = (*TokenMutation)(nil)
// tokenOption allows management of the mutation configuration using functional options.
type tokenOption func(*TokenMutation)
// newTokenMutation creates new mutation for the Token entity.
func newTokenMutation(c config, op Op, opts ...tokenOption) *TokenMutation {
m := &TokenMutation{
config: c,
op: op,
typ: TypeToken,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withTokenID sets the ID field of the mutation.
func withTokenID(id int64) tokenOption {
return func(m *TokenMutation) {
var (
err error
once sync.Once
value *Token
)
m.oldValue = func(ctx context.Context) (*Token, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().Token.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withToken sets the old Token of the mutation.
func withToken(node *Token) tokenOption {
return func(m *TokenMutation) {
m.oldValue = func(context.Context) (*Token, 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 TokenMutation) 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 TokenMutation) 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 Token entities.
func (m *TokenMutation) 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 *TokenMutation) 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 *TokenMutation) 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().Token.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *TokenMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *TokenMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *TokenMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *TokenMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *TokenMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *TokenMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetStatus sets the "status" field.
func (m *TokenMutation) SetStatus(t types.Status) {
m.status = &t
}
// Status returns the value of the "status" field in the mutation.
func (m *TokenMutation) Status() (r types.Status, exists bool) {
v := m.status
if v == nil {
return
}
return *v, true
}
// OldStatus returns the old "status" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldStatus(ctx context.Context) (v types.Status, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldStatus is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldStatus requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldStatus: %w", err)
}
return oldValue.Status, nil
}
// ResetStatus resets all changes to the "status" field.
func (m *TokenMutation) ResetStatus() {
m.status = nil
}
// SetVersion sets the "version" field.
func (m *TokenMutation) SetVersion(i int64) {
m.version = &i
m.addversion = nil
}
// Version returns the value of the "version" field in the mutation.
func (m *TokenMutation) Version() (r int64, exists bool) {
v := m.version
if v == nil {
return
}
return *v, true
}
// OldVersion returns the old "version" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldVersion(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldVersion is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldVersion requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldVersion: %w", err)
}
return oldValue.Version, nil
}
// AddVersion adds i to the "version" field.
func (m *TokenMutation) AddVersion(i int64) {
if m.addversion != nil {
*m.addversion += i
} else {
m.addversion = &i
}
}
// AddedVersion returns the value that was added to the "version" field in this mutation.
func (m *TokenMutation) AddedVersion() (r int64, exists bool) {
v := m.addversion
if v == nil {
return
}
return *v, true
}
// ResetVersion resets all changes to the "version" field.
func (m *TokenMutation) ResetVersion() {
m.version = nil
m.addversion = nil
}
// SetUserID sets the "user_id" field.
func (m *TokenMutation) SetUserID(i int64) {
m.user = &i
}
// UserID returns the value of the "user_id" field in the mutation.
func (m *TokenMutation) UserID() (r int64, exists bool) {
v := m.user
if v == nil {
return
}
return *v, true
}
// OldUserID returns the old "user_id" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldUserID(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUserID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUserID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUserID: %w", err)
}
return oldValue.UserID, nil
}
// ResetUserID resets all changes to the "user_id" field.
func (m *TokenMutation) ResetUserID() {
m.user = nil
}
// SetTokenType sets the "token_type" field.
func (m *TokenMutation) SetTokenType(s string) {
m.token_type = &s
}
// TokenType returns the value of the "token_type" field in the mutation.
func (m *TokenMutation) TokenType() (r string, exists bool) {
v := m.token_type
if v == nil {
return
}
return *v, true
}
// OldTokenType returns the old "token_type" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldTokenType(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldTokenType is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldTokenType requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldTokenType: %w", err)
}
return oldValue.TokenType, nil
}
// ResetTokenType resets all changes to the "token_type" field.
func (m *TokenMutation) ResetTokenType() {
m.token_type = nil
}
// SetAccessToken sets the "access_token" field.
func (m *TokenMutation) SetAccessToken(s string) {
m.access_token = &s
}
// AccessToken returns the value of the "access_token" field in the mutation.
func (m *TokenMutation) AccessToken() (r string, exists bool) {
v := m.access_token
if v == nil {
return
}
return *v, true
}
// OldAccessToken returns the old "access_token" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldAccessToken(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldAccessToken is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldAccessToken requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldAccessToken: %w", err)
}
return oldValue.AccessToken, nil
}
// ResetAccessToken resets all changes to the "access_token" field.
func (m *TokenMutation) ResetAccessToken() {
m.access_token = nil
}
// SetRefreshToken sets the "refresh_token" field.
func (m *TokenMutation) SetRefreshToken(s string) {
m.refresh_token = &s
}
// RefreshToken returns the value of the "refresh_token" field in the mutation.
func (m *TokenMutation) RefreshToken() (r string, exists bool) {
v := m.refresh_token
if v == nil {
return
}
return *v, true
}
// OldRefreshToken returns the old "refresh_token" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldRefreshToken(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldRefreshToken is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldRefreshToken requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldRefreshToken: %w", err)
}
return oldValue.RefreshToken, nil
}
// ResetRefreshToken resets all changes to the "refresh_token" field.
func (m *TokenMutation) ResetRefreshToken() {
m.refresh_token = nil
}
// SetSource sets the "source" field.
func (m *TokenMutation) SetSource(s string) {
m.source = &s
}
// Source returns the value of the "source" field in the mutation.
func (m *TokenMutation) Source() (r string, exists bool) {
v := m.source
if v == nil {
return
}
return *v, true
}
// OldSource returns the old "source" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldSource(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldSource is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldSource requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldSource: %w", err)
}
return oldValue.Source, nil
}
// ResetSource resets all changes to the "source" field.
func (m *TokenMutation) ResetSource() {
m.source = nil
}
// SetExpiredAt sets the "expired_at" field.
func (m *TokenMutation) SetExpiredAt(t time.Time) {
m.expired_at = &t
}
// ExpiredAt returns the value of the "expired_at" field in the mutation.
func (m *TokenMutation) ExpiredAt() (r time.Time, exists bool) {
v := m.expired_at
if v == nil {
return
}
return *v, true
}
// OldExpiredAt returns the old "expired_at" field's value of the Token entity.
// If the Token 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 *TokenMutation) OldExpiredAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldExpiredAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldExpiredAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldExpiredAt: %w", err)
}
return oldValue.ExpiredAt, nil
}
// ResetExpiredAt resets all changes to the "expired_at" field.
func (m *TokenMutation) ResetExpiredAt() {
m.expired_at = nil
}
// ClearUser clears the "user" edge to the User entity.
func (m *TokenMutation) ClearUser() {
m.cleareduser = true
}
// UserCleared reports if the "user" edge to the User entity was cleared.
func (m *TokenMutation) UserCleared() bool {
return m.cleareduser
}
// UserIDs returns the "user" edge IDs in the mutation.
// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
// UserID instead. It exists only for internal usage by the builders.
func (m *TokenMutation) UserIDs() (ids []int64) {
if id := m.user; id != nil {
ids = append(ids, *id)
}
return
}
// ResetUser resets all changes to the "user" edge.
func (m *TokenMutation) ResetUser() {
m.user = nil
m.cleareduser = false
}
// Where appends a list predicates to the TokenMutation builder.
func (m *TokenMutation) Where(ps ...predicate.Token) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the TokenMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *TokenMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.Token, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *TokenMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *TokenMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (Token).
func (m *TokenMutation) 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 *TokenMutation) Fields() []string {
fields := make([]string, 0, 10)
if m.created_at != nil {
fields = append(fields, token.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, token.FieldUpdatedAt)
}
if m.status != nil {
fields = append(fields, token.FieldStatus)
}
if m.version != nil {
fields = append(fields, token.FieldVersion)
}
if m.user != nil {
fields = append(fields, token.FieldUserID)
}
if m.token_type != nil {
fields = append(fields, token.FieldTokenType)
}
if m.access_token != nil {
fields = append(fields, token.FieldAccessToken)
}
if m.refresh_token != nil {
fields = append(fields, token.FieldRefreshToken)
}
if m.source != nil {
fields = append(fields, token.FieldSource)
}
if m.expired_at != nil {
fields = append(fields, token.FieldExpiredAt)
}
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 *TokenMutation) Field(name string) (ent.Value, bool) {
switch name {
case token.FieldCreatedAt:
return m.CreatedAt()
case token.FieldUpdatedAt:
return m.UpdatedAt()
case token.FieldStatus:
return m.Status()
case token.FieldVersion:
return m.Version()
case token.FieldUserID:
return m.UserID()
case token.FieldTokenType:
return m.TokenType()
case token.FieldAccessToken:
return m.AccessToken()
case token.FieldRefreshToken:
return m.RefreshToken()
case token.FieldSource:
return m.Source()
case token.FieldExpiredAt:
return m.ExpiredAt()
}
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 *TokenMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case token.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case token.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case token.FieldStatus:
return m.OldStatus(ctx)
case token.FieldVersion:
return m.OldVersion(ctx)
case token.FieldUserID:
return m.OldUserID(ctx)
case token.FieldTokenType:
return m.OldTokenType(ctx)
case token.FieldAccessToken:
return m.OldAccessToken(ctx)
case token.FieldRefreshToken:
return m.OldRefreshToken(ctx)
case token.FieldSource:
return m.OldSource(ctx)
case token.FieldExpiredAt:
return m.OldExpiredAt(ctx)
}
return nil, fmt.Errorf("unknown Token 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 *TokenMutation) SetField(name string, value ent.Value) error {
switch name {
case token.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case token.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case token.FieldStatus:
v, ok := value.(types.Status)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetStatus(v)
return nil
case token.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetVersion(v)
return nil
case token.FieldUserID:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUserID(v)
return nil
case token.FieldTokenType:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetTokenType(v)
return nil
case token.FieldAccessToken:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetAccessToken(v)
return nil
case token.FieldRefreshToken:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetRefreshToken(v)
return nil
case token.FieldSource:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetSource(v)
return nil
case token.FieldExpiredAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetExpiredAt(v)
return nil
}
return fmt.Errorf("unknown Token field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *TokenMutation) AddedFields() []string {
var fields []string
if m.addversion != nil {
fields = append(fields, token.FieldVersion)
}
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 *TokenMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case token.FieldVersion:
return m.AddedVersion()
}
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 *TokenMutation) AddField(name string, value ent.Value) error {
switch name {
case token.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddVersion(v)
return nil
}
return fmt.Errorf("unknown Token numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *TokenMutation) ClearedFields() []string {
return nil
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *TokenMutation) 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 *TokenMutation) ClearField(name string) error {
return fmt.Errorf("unknown Token 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 *TokenMutation) ResetField(name string) error {
switch name {
case token.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case token.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case token.FieldStatus:
m.ResetStatus()
return nil
case token.FieldVersion:
m.ResetVersion()
return nil
case token.FieldUserID:
m.ResetUserID()
return nil
case token.FieldTokenType:
m.ResetTokenType()
return nil
case token.FieldAccessToken:
m.ResetAccessToken()
return nil
case token.FieldRefreshToken:
m.ResetRefreshToken()
return nil
case token.FieldSource:
m.ResetSource()
return nil
case token.FieldExpiredAt:
m.ResetExpiredAt()
return nil
}
return fmt.Errorf("unknown Token field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *TokenMutation) AddedEdges() []string {
edges := make([]string, 0, 1)
if m.user != nil {
edges = append(edges, token.EdgeUser)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *TokenMutation) AddedIDs(name string) []ent.Value {
switch name {
case token.EdgeUser:
if id := m.user; id != nil {
return []ent.Value{*id}
}
}
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *TokenMutation) 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 *TokenMutation) RemovedIDs(name string) []ent.Value {
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *TokenMutation) ClearedEdges() []string {
edges := make([]string, 0, 1)
if m.cleareduser {
edges = append(edges, token.EdgeUser)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *TokenMutation) EdgeCleared(name string) bool {
switch name {
case token.EdgeUser:
return m.cleareduser
}
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 *TokenMutation) ClearEdge(name string) error {
switch name {
case token.EdgeUser:
m.ClearUser()
return nil
}
return fmt.Errorf("unknown Token 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 *TokenMutation) ResetEdge(name string) error {
switch name {
case token.EdgeUser:
m.ResetUser()
return nil
}
return fmt.Errorf("unknown Token edge %s", name)
}
// UserMutation represents an operation that mutates the User nodes in the graph.
type UserMutation struct {
config
op Op
typ string
id *int64
status *types.Status
created_at *time.Time
updated_at *time.Time
version *int64
addversion *int64
username *string
phone_number *string
email *string
password *string
nickname *string
clearedFields map[string]struct{}
metas map[int64]struct{}
removedmetas map[int64]struct{}
clearedmetas bool
roles map[int64]struct{}
removedroles map[int64]struct{}
clearedroles bool
socials map[int64]struct{}
removedsocials map[int64]struct{}
clearedsocials bool
departments map[int64]struct{}
removeddepartments map[int64]struct{}
cleareddepartments bool
token map[int64]struct{}
removedtoken map[int64]struct{}
clearedtoken bool
loginRecord *int64
clearedloginRecord 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 int64) 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
}
// SetID sets the value of the id field. Note that this
// operation is only accepted on creation of User entities.
func (m *UserMutation) 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 *UserMutation) 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 *UserMutation) 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().User.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetStatus sets the "status" field.
func (m *UserMutation) SetStatus(t types.Status) {
m.status = &t
}
// Status returns the value of the "status" field in the mutation.
func (m *UserMutation) Status() (r types.Status, exists bool) {
v := m.status
if v == nil {
return
}
return *v, true
}
// OldStatus returns the old "status" 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) OldStatus(ctx context.Context) (v types.Status, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldStatus is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldStatus requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldStatus: %w", err)
}
return oldValue.Status, nil
}
// ResetStatus resets all changes to the "status" field.
func (m *UserMutation) ResetStatus() {
m.status = nil
}
// SetCreatedAt sets the "created_at" field.
func (m *UserMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *UserMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" 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) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *UserMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *UserMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *UserMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" 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) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *UserMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetVersion sets the "version" field.
func (m *UserMutation) SetVersion(i int64) {
m.version = &i
m.addversion = nil
}
// Version returns the value of the "version" field in the mutation.
func (m *UserMutation) Version() (r int64, exists bool) {
v := m.version
if v == nil {
return
}
return *v, true
}
// OldVersion returns the old "version" 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) OldVersion(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldVersion is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldVersion requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldVersion: %w", err)
}
return oldValue.Version, nil
}
// AddVersion adds i to the "version" field.
func (m *UserMutation) AddVersion(i int64) {
if m.addversion != nil {
*m.addversion += i
} else {
m.addversion = &i
}
}
// AddedVersion returns the value that was added to the "version" field in this mutation.
func (m *UserMutation) AddedVersion() (r int64, exists bool) {
v := m.addversion
if v == nil {
return
}
return *v, true
}
// ResetVersion resets all changes to the "version" field.
func (m *UserMutation) ResetVersion() {
m.version = nil
m.addversion = nil
}
// SetUsername sets the "username" field.
func (m *UserMutation) SetUsername(s string) {
m.username = &s
}
// Username returns the value of the "username" field in the mutation.
func (m *UserMutation) Username() (r string, exists bool) {
v := m.username
if v == nil {
return
}
return *v, true
}
// OldUsername returns the old "username" 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) OldUsername(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUsername is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUsername requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUsername: %w", err)
}
return oldValue.Username, nil
}
// ResetUsername resets all changes to the "username" field.
func (m *UserMutation) ResetUsername() {
m.username = nil
}
// SetPhoneNumber sets the "phone_number" field.
func (m *UserMutation) SetPhoneNumber(s string) {
m.phone_number = &s
}
// PhoneNumber returns the value of the "phone_number" field in the mutation.
func (m *UserMutation) PhoneNumber() (r string, exists bool) {
v := m.phone_number
if v == nil {
return
}
return *v, true
}
// OldPhoneNumber returns the old "phone_number" 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) OldPhoneNumber(ctx context.Context) (v *string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldPhoneNumber is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldPhoneNumber requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldPhoneNumber: %w", err)
}
return oldValue.PhoneNumber, nil
}
// ClearPhoneNumber clears the value of the "phone_number" field.
func (m *UserMutation) ClearPhoneNumber() {
m.phone_number = nil
m.clearedFields[user.FieldPhoneNumber] = struct{}{}
}
// PhoneNumberCleared returns if the "phone_number" field was cleared in this mutation.
func (m *UserMutation) PhoneNumberCleared() bool {
_, ok := m.clearedFields[user.FieldPhoneNumber]
return ok
}
// ResetPhoneNumber resets all changes to the "phone_number" field.
func (m *UserMutation) ResetPhoneNumber() {
m.phone_number = nil
delete(m.clearedFields, user.FieldPhoneNumber)
}
// SetEmail sets the "email" field.
func (m *UserMutation) SetEmail(s string) {
m.email = &s
}
// Email returns the value of the "email" field in the mutation.
func (m *UserMutation) 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 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) 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
}
// ClearEmail clears the value of the "email" field.
func (m *UserMutation) ClearEmail() {
m.email = nil
m.clearedFields[user.FieldEmail] = struct{}{}
}
// EmailCleared returns if the "email" field was cleared in this mutation.
func (m *UserMutation) EmailCleared() bool {
_, ok := m.clearedFields[user.FieldEmail]
return ok
}
// ResetEmail resets all changes to the "email" field.
func (m *UserMutation) ResetEmail() {
m.email = nil
delete(m.clearedFields, user.FieldEmail)
}
// 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
}
// ResetPassword resets all changes to the "password" field.
func (m *UserMutation) ResetPassword() {
m.password = nil
}
// SetNickname sets the "nickname" field.
func (m *UserMutation) SetNickname(s string) {
m.nickname = &s
}
// Nickname returns the value of the "nickname" field in the mutation.
func (m *UserMutation) Nickname() (r string, exists bool) {
v := m.nickname
if v == nil {
return
}
return *v, true
}
// OldNickname returns the old "nickname" 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) OldNickname(ctx context.Context) (v *string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldNickname is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldNickname requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldNickname: %w", err)
}
return oldValue.Nickname, nil
}
// ClearNickname clears the value of the "nickname" field.
func (m *UserMutation) ClearNickname() {
m.nickname = nil
m.clearedFields[user.FieldNickname] = struct{}{}
}
// NicknameCleared returns if the "nickname" field was cleared in this mutation.
func (m *UserMutation) NicknameCleared() bool {
_, ok := m.clearedFields[user.FieldNickname]
return ok
}
// ResetNickname resets all changes to the "nickname" field.
func (m *UserMutation) ResetNickname() {
m.nickname = nil
delete(m.clearedFields, user.FieldNickname)
}
// AddMetaIDs adds the "metas" edge to the UserMeta entity by ids.
func (m *UserMutation) AddMetaIDs(ids ...int64) {
if m.metas == nil {
m.metas = make(map[int64]struct{})
}
for i := range ids {
m.metas[ids[i]] = struct{}{}
}
}
// ClearMetas clears the "metas" edge to the UserMeta entity.
func (m *UserMutation) ClearMetas() {
m.clearedmetas = true
}
// MetasCleared reports if the "metas" edge to the UserMeta entity was cleared.
func (m *UserMutation) MetasCleared() bool {
return m.clearedmetas
}
// RemoveMetaIDs removes the "metas" edge to the UserMeta entity by IDs.
func (m *UserMutation) RemoveMetaIDs(ids ...int64) {
if m.removedmetas == nil {
m.removedmetas = make(map[int64]struct{})
}
for i := range ids {
delete(m.metas, ids[i])
m.removedmetas[ids[i]] = struct{}{}
}
}
// RemovedMetas returns the removed IDs of the "metas" edge to the UserMeta entity.
func (m *UserMutation) RemovedMetasIDs() (ids []int64) {
for id := range m.removedmetas {
ids = append(ids, id)
}
return
}
// MetasIDs returns the "metas" edge IDs in the mutation.
func (m *UserMutation) MetasIDs() (ids []int64) {
for id := range m.metas {
ids = append(ids, id)
}
return
}
// ResetMetas resets all changes to the "metas" edge.
func (m *UserMutation) ResetMetas() {
m.metas = nil
m.clearedmetas = false
m.removedmetas = nil
}
// AddRoleIDs adds the "roles" edge to the Role entity by ids.
func (m *UserMutation) AddRoleIDs(ids ...int64) {
if m.roles == nil {
m.roles = make(map[int64]struct{})
}
for i := range ids {
m.roles[ids[i]] = struct{}{}
}
}
// ClearRoles clears the "roles" edge to the Role entity.
func (m *UserMutation) ClearRoles() {
m.clearedroles = true
}
// RolesCleared reports if the "roles" edge to the Role entity was cleared.
func (m *UserMutation) RolesCleared() bool {
return m.clearedroles
}
// RemoveRoleIDs removes the "roles" edge to the Role entity by IDs.
func (m *UserMutation) RemoveRoleIDs(ids ...int64) {
if m.removedroles == nil {
m.removedroles = make(map[int64]struct{})
}
for i := range ids {
delete(m.roles, ids[i])
m.removedroles[ids[i]] = struct{}{}
}
}
// RemovedRoles returns the removed IDs of the "roles" edge to the Role entity.
func (m *UserMutation) RemovedRolesIDs() (ids []int64) {
for id := range m.removedroles {
ids = append(ids, id)
}
return
}
// RolesIDs returns the "roles" edge IDs in the mutation.
func (m *UserMutation) RolesIDs() (ids []int64) {
for id := range m.roles {
ids = append(ids, id)
}
return
}
// ResetRoles resets all changes to the "roles" edge.
func (m *UserMutation) ResetRoles() {
m.roles = nil
m.clearedroles = false
m.removedroles = nil
}
// AddSocialIDs adds the "socials" edge to the UserSocial entity by ids.
func (m *UserMutation) AddSocialIDs(ids ...int64) {
if m.socials == nil {
m.socials = make(map[int64]struct{})
}
for i := range ids {
m.socials[ids[i]] = struct{}{}
}
}
// ClearSocials clears the "socials" edge to the UserSocial entity.
func (m *UserMutation) ClearSocials() {
m.clearedsocials = true
}
// SocialsCleared reports if the "socials" edge to the UserSocial entity was cleared.
func (m *UserMutation) SocialsCleared() bool {
return m.clearedsocials
}
// RemoveSocialIDs removes the "socials" edge to the UserSocial entity by IDs.
func (m *UserMutation) RemoveSocialIDs(ids ...int64) {
if m.removedsocials == nil {
m.removedsocials = make(map[int64]struct{})
}
for i := range ids {
delete(m.socials, ids[i])
m.removedsocials[ids[i]] = struct{}{}
}
}
// RemovedSocials returns the removed IDs of the "socials" edge to the UserSocial entity.
func (m *UserMutation) RemovedSocialsIDs() (ids []int64) {
for id := range m.removedsocials {
ids = append(ids, id)
}
return
}
// SocialsIDs returns the "socials" edge IDs in the mutation.
func (m *UserMutation) SocialsIDs() (ids []int64) {
for id := range m.socials {
ids = append(ids, id)
}
return
}
// ResetSocials resets all changes to the "socials" edge.
func (m *UserMutation) ResetSocials() {
m.socials = nil
m.clearedsocials = false
m.removedsocials = nil
}
// AddDepartmentIDs adds the "departments" edge to the Department entity by ids.
func (m *UserMutation) AddDepartmentIDs(ids ...int64) {
if m.departments == nil {
m.departments = make(map[int64]struct{})
}
for i := range ids {
m.departments[ids[i]] = struct{}{}
}
}
// ClearDepartments clears the "departments" edge to the Department entity.
func (m *UserMutation) ClearDepartments() {
m.cleareddepartments = true
}
// DepartmentsCleared reports if the "departments" edge to the Department entity was cleared.
func (m *UserMutation) DepartmentsCleared() bool {
return m.cleareddepartments
}
// RemoveDepartmentIDs removes the "departments" edge to the Department entity by IDs.
func (m *UserMutation) RemoveDepartmentIDs(ids ...int64) {
if m.removeddepartments == nil {
m.removeddepartments = make(map[int64]struct{})
}
for i := range ids {
delete(m.departments, ids[i])
m.removeddepartments[ids[i]] = struct{}{}
}
}
// RemovedDepartments returns the removed IDs of the "departments" edge to the Department entity.
func (m *UserMutation) RemovedDepartmentsIDs() (ids []int64) {
for id := range m.removeddepartments {
ids = append(ids, id)
}
return
}
// DepartmentsIDs returns the "departments" edge IDs in the mutation.
func (m *UserMutation) DepartmentsIDs() (ids []int64) {
for id := range m.departments {
ids = append(ids, id)
}
return
}
// ResetDepartments resets all changes to the "departments" edge.
func (m *UserMutation) ResetDepartments() {
m.departments = nil
m.cleareddepartments = false
m.removeddepartments = nil
}
// AddTokenIDs adds the "token" edge to the Token entity by ids.
func (m *UserMutation) AddTokenIDs(ids ...int64) {
if m.token == nil {
m.token = make(map[int64]struct{})
}
for i := range ids {
m.token[ids[i]] = struct{}{}
}
}
// ClearToken clears the "token" edge to the Token entity.
func (m *UserMutation) ClearToken() {
m.clearedtoken = true
}
// TokenCleared reports if the "token" edge to the Token entity was cleared.
func (m *UserMutation) TokenCleared() bool {
return m.clearedtoken
}
// RemoveTokenIDs removes the "token" edge to the Token entity by IDs.
func (m *UserMutation) RemoveTokenIDs(ids ...int64) {
if m.removedtoken == nil {
m.removedtoken = make(map[int64]struct{})
}
for i := range ids {
delete(m.token, ids[i])
m.removedtoken[ids[i]] = struct{}{}
}
}
// RemovedToken returns the removed IDs of the "token" edge to the Token entity.
func (m *UserMutation) RemovedTokenIDs() (ids []int64) {
for id := range m.removedtoken {
ids = append(ids, id)
}
return
}
// TokenIDs returns the "token" edge IDs in the mutation.
func (m *UserMutation) TokenIDs() (ids []int64) {
for id := range m.token {
ids = append(ids, id)
}
return
}
// ResetToken resets all changes to the "token" edge.
func (m *UserMutation) ResetToken() {
m.token = nil
m.clearedtoken = false
m.removedtoken = nil
}
// SetLoginRecordID sets the "loginRecord" edge to the LoginRecord entity by id.
func (m *UserMutation) SetLoginRecordID(id int64) {
m.loginRecord = &id
}
// ClearLoginRecord clears the "loginRecord" edge to the LoginRecord entity.
func (m *UserMutation) ClearLoginRecord() {
m.clearedloginRecord = true
}
// LoginRecordCleared reports if the "loginRecord" edge to the LoginRecord entity was cleared.
func (m *UserMutation) LoginRecordCleared() bool {
return m.clearedloginRecord
}
// LoginRecordID returns the "loginRecord" edge ID in the mutation.
func (m *UserMutation) LoginRecordID() (id int64, exists bool) {
if m.loginRecord != nil {
return *m.loginRecord, true
}
return
}
// LoginRecordIDs returns the "loginRecord" edge IDs in the mutation.
// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
// LoginRecordID instead. It exists only for internal usage by the builders.
func (m *UserMutation) LoginRecordIDs() (ids []int64) {
if id := m.loginRecord; id != nil {
ids = append(ids, *id)
}
return
}
// ResetLoginRecord resets all changes to the "loginRecord" edge.
func (m *UserMutation) ResetLoginRecord() {
m.loginRecord = nil
m.clearedloginRecord = false
}
// Where appends a list predicates to the UserMutation builder.
func (m *UserMutation) Where(ps ...predicate.User) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the UserMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *UserMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.User, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *UserMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *UserMutation) SetOp(op Op) {
m.op = 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, 9)
if m.status != nil {
fields = append(fields, user.FieldStatus)
}
if m.created_at != nil {
fields = append(fields, user.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, user.FieldUpdatedAt)
}
if m.version != nil {
fields = append(fields, user.FieldVersion)
}
if m.username != nil {
fields = append(fields, user.FieldUsername)
}
if m.phone_number != nil {
fields = append(fields, user.FieldPhoneNumber)
}
if m.email != nil {
fields = append(fields, user.FieldEmail)
}
if m.password != nil {
fields = append(fields, user.FieldPassword)
}
if m.nickname != nil {
fields = append(fields, user.FieldNickname)
}
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.FieldStatus:
return m.Status()
case user.FieldCreatedAt:
return m.CreatedAt()
case user.FieldUpdatedAt:
return m.UpdatedAt()
case user.FieldVersion:
return m.Version()
case user.FieldUsername:
return m.Username()
case user.FieldPhoneNumber:
return m.PhoneNumber()
case user.FieldEmail:
return m.Email()
case user.FieldPassword:
return m.Password()
case user.FieldNickname:
return m.Nickname()
}
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.FieldStatus:
return m.OldStatus(ctx)
case user.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case user.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case user.FieldVersion:
return m.OldVersion(ctx)
case user.FieldUsername:
return m.OldUsername(ctx)
case user.FieldPhoneNumber:
return m.OldPhoneNumber(ctx)
case user.FieldEmail:
return m.OldEmail(ctx)
case user.FieldPassword:
return m.OldPassword(ctx)
case user.FieldNickname:
return m.OldNickname(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.FieldStatus:
v, ok := value.(types.Status)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetStatus(v)
return nil
case user.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case user.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case user.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetVersion(v)
return nil
case user.FieldUsername:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUsername(v)
return nil
case user.FieldPhoneNumber:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetPhoneNumber(v)
return nil
case user.FieldEmail:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetEmail(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.FieldNickname:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetNickname(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.addversion != nil {
fields = append(fields, user.FieldVersion)
}
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.FieldVersion:
return m.AddedVersion()
}
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.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddVersion(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.FieldPhoneNumber) {
fields = append(fields, user.FieldPhoneNumber)
}
if m.FieldCleared(user.FieldEmail) {
fields = append(fields, user.FieldEmail)
}
if m.FieldCleared(user.FieldNickname) {
fields = append(fields, user.FieldNickname)
}
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.FieldPhoneNumber:
m.ClearPhoneNumber()
return nil
case user.FieldEmail:
m.ClearEmail()
return nil
case user.FieldNickname:
m.ClearNickname()
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.FieldStatus:
m.ResetStatus()
return nil
case user.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case user.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case user.FieldVersion:
m.ResetVersion()
return nil
case user.FieldUsername:
m.ResetUsername()
return nil
case user.FieldPhoneNumber:
m.ResetPhoneNumber()
return nil
case user.FieldEmail:
m.ResetEmail()
return nil
case user.FieldPassword:
m.ResetPassword()
return nil
case user.FieldNickname:
m.ResetNickname()
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.metas != nil {
edges = append(edges, user.EdgeMetas)
}
if m.roles != nil {
edges = append(edges, user.EdgeRoles)
}
if m.socials != nil {
edges = append(edges, user.EdgeSocials)
}
if m.departments != nil {
edges = append(edges, user.EdgeDepartments)
}
if m.token != nil {
edges = append(edges, user.EdgeToken)
}
if m.loginRecord != nil {
edges = append(edges, user.EdgeLoginRecord)
}
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.EdgeMetas:
ids := make([]ent.Value, 0, len(m.metas))
for id := range m.metas {
ids = append(ids, id)
}
return ids
case user.EdgeRoles:
ids := make([]ent.Value, 0, len(m.roles))
for id := range m.roles {
ids = append(ids, id)
}
return ids
case user.EdgeSocials:
ids := make([]ent.Value, 0, len(m.socials))
for id := range m.socials {
ids = append(ids, id)
}
return ids
case user.EdgeDepartments:
ids := make([]ent.Value, 0, len(m.departments))
for id := range m.departments {
ids = append(ids, id)
}
return ids
case user.EdgeToken:
ids := make([]ent.Value, 0, len(m.token))
for id := range m.token {
ids = append(ids, id)
}
return ids
case user.EdgeLoginRecord:
if id := m.loginRecord; id != nil {
return []ent.Value{*id}
}
}
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.removedmetas != nil {
edges = append(edges, user.EdgeMetas)
}
if m.removedroles != nil {
edges = append(edges, user.EdgeRoles)
}
if m.removedsocials != nil {
edges = append(edges, user.EdgeSocials)
}
if m.removeddepartments != nil {
edges = append(edges, user.EdgeDepartments)
}
if m.removedtoken != nil {
edges = append(edges, user.EdgeToken)
}
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.EdgeMetas:
ids := make([]ent.Value, 0, len(m.removedmetas))
for id := range m.removedmetas {
ids = append(ids, id)
}
return ids
case user.EdgeRoles:
ids := make([]ent.Value, 0, len(m.removedroles))
for id := range m.removedroles {
ids = append(ids, id)
}
return ids
case user.EdgeSocials:
ids := make([]ent.Value, 0, len(m.removedsocials))
for id := range m.removedsocials {
ids = append(ids, id)
}
return ids
case user.EdgeDepartments:
ids := make([]ent.Value, 0, len(m.removeddepartments))
for id := range m.removeddepartments {
ids = append(ids, id)
}
return ids
case user.EdgeToken:
ids := make([]ent.Value, 0, len(m.removedtoken))
for id := range m.removedtoken {
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.clearedmetas {
edges = append(edges, user.EdgeMetas)
}
if m.clearedroles {
edges = append(edges, user.EdgeRoles)
}
if m.clearedsocials {
edges = append(edges, user.EdgeSocials)
}
if m.cleareddepartments {
edges = append(edges, user.EdgeDepartments)
}
if m.clearedtoken {
edges = append(edges, user.EdgeToken)
}
if m.clearedloginRecord {
edges = append(edges, user.EdgeLoginRecord)
}
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.EdgeMetas:
return m.clearedmetas
case user.EdgeRoles:
return m.clearedroles
case user.EdgeSocials:
return m.clearedsocials
case user.EdgeDepartments:
return m.cleareddepartments
case user.EdgeToken:
return m.clearedtoken
case user.EdgeLoginRecord:
return m.clearedloginRecord
}
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.EdgeLoginRecord:
m.ClearLoginRecord()
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.EdgeMetas:
m.ResetMetas()
return nil
case user.EdgeRoles:
m.ResetRoles()
return nil
case user.EdgeSocials:
m.ResetSocials()
return nil
case user.EdgeDepartments:
m.ResetDepartments()
return nil
case user.EdgeToken:
m.ResetToken()
return nil
case user.EdgeLoginRecord:
m.ResetLoginRecord()
return nil
}
return fmt.Errorf("unknown User edge %s", name)
}
// UserMetaMutation represents an operation that mutates the UserMeta nodes in the graph.
type UserMetaMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
version *int64
addversion *int64
key *string
value *string
clearedFields map[string]struct{}
user *int64
cleareduser bool
done bool
oldValue func(context.Context) (*UserMeta, error)
predicates []predicate.UserMeta
}
var _ ent.Mutation = (*UserMetaMutation)(nil)
// usermetaOption allows management of the mutation configuration using functional options.
type usermetaOption func(*UserMetaMutation)
// newUserMetaMutation creates new mutation for the UserMeta entity.
func newUserMetaMutation(c config, op Op, opts ...usermetaOption) *UserMetaMutation {
m := &UserMetaMutation{
config: c,
op: op,
typ: TypeUserMeta,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withUserMetaID sets the ID field of the mutation.
func withUserMetaID(id int64) usermetaOption {
return func(m *UserMetaMutation) {
var (
err error
once sync.Once
value *UserMeta
)
m.oldValue = func(ctx context.Context) (*UserMeta, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().UserMeta.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withUserMeta sets the old UserMeta of the mutation.
func withUserMeta(node *UserMeta) usermetaOption {
return func(m *UserMetaMutation) {
m.oldValue = func(context.Context) (*UserMeta, 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 UserMetaMutation) 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 UserMetaMutation) 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 UserMeta entities.
func (m *UserMetaMutation) 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 *UserMetaMutation) 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 *UserMetaMutation) 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().UserMeta.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *UserMetaMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *UserMetaMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the UserMeta entity.
// If the UserMeta 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 *UserMetaMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *UserMetaMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *UserMetaMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *UserMetaMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the UserMeta entity.
// If the UserMeta 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 *UserMetaMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *UserMetaMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetVersion sets the "version" field.
func (m *UserMetaMutation) SetVersion(i int64) {
m.version = &i
m.addversion = nil
}
// Version returns the value of the "version" field in the mutation.
func (m *UserMetaMutation) Version() (r int64, exists bool) {
v := m.version
if v == nil {
return
}
return *v, true
}
// OldVersion returns the old "version" field's value of the UserMeta entity.
// If the UserMeta 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 *UserMetaMutation) OldVersion(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldVersion is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldVersion requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldVersion: %w", err)
}
return oldValue.Version, nil
}
// AddVersion adds i to the "version" field.
func (m *UserMetaMutation) AddVersion(i int64) {
if m.addversion != nil {
*m.addversion += i
} else {
m.addversion = &i
}
}
// AddedVersion returns the value that was added to the "version" field in this mutation.
func (m *UserMetaMutation) AddedVersion() (r int64, exists bool) {
v := m.addversion
if v == nil {
return
}
return *v, true
}
// ResetVersion resets all changes to the "version" field.
func (m *UserMetaMutation) ResetVersion() {
m.version = nil
m.addversion = nil
}
// SetUserID sets the "user_id" field.
func (m *UserMetaMutation) SetUserID(i int64) {
m.user = &i
}
// UserID returns the value of the "user_id" field in the mutation.
func (m *UserMetaMutation) UserID() (r int64, exists bool) {
v := m.user
if v == nil {
return
}
return *v, true
}
// OldUserID returns the old "user_id" field's value of the UserMeta entity.
// If the UserMeta 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 *UserMetaMutation) OldUserID(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUserID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUserID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUserID: %w", err)
}
return oldValue.UserID, nil
}
// ResetUserID resets all changes to the "user_id" field.
func (m *UserMetaMutation) ResetUserID() {
m.user = nil
}
// SetKey sets the "key" field.
func (m *UserMetaMutation) SetKey(s string) {
m.key = &s
}
// Key returns the value of the "key" field in the mutation.
func (m *UserMetaMutation) Key() (r string, exists bool) {
v := m.key
if v == nil {
return
}
return *v, true
}
// OldKey returns the old "key" field's value of the UserMeta entity.
// If the UserMeta 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 *UserMetaMutation) OldKey(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldKey is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldKey requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldKey: %w", err)
}
return oldValue.Key, nil
}
// ClearKey clears the value of the "key" field.
func (m *UserMetaMutation) ClearKey() {
m.key = nil
m.clearedFields[usermeta.FieldKey] = struct{}{}
}
// KeyCleared returns if the "key" field was cleared in this mutation.
func (m *UserMetaMutation) KeyCleared() bool {
_, ok := m.clearedFields[usermeta.FieldKey]
return ok
}
// ResetKey resets all changes to the "key" field.
func (m *UserMetaMutation) ResetKey() {
m.key = nil
delete(m.clearedFields, usermeta.FieldKey)
}
// SetValue sets the "value" field.
func (m *UserMetaMutation) SetValue(s string) {
m.value = &s
}
// Value returns the value of the "value" field in the mutation.
func (m *UserMetaMutation) Value() (r string, exists bool) {
v := m.value
if v == nil {
return
}
return *v, true
}
// OldValue returns the old "value" field's value of the UserMeta entity.
// If the UserMeta 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 *UserMetaMutation) OldValue(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldValue is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldValue requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldValue: %w", err)
}
return oldValue.Value, nil
}
// ClearValue clears the value of the "value" field.
func (m *UserMetaMutation) ClearValue() {
m.value = nil
m.clearedFields[usermeta.FieldValue] = struct{}{}
}
// ValueCleared returns if the "value" field was cleared in this mutation.
func (m *UserMetaMutation) ValueCleared() bool {
_, ok := m.clearedFields[usermeta.FieldValue]
return ok
}
// ResetValue resets all changes to the "value" field.
func (m *UserMetaMutation) ResetValue() {
m.value = nil
delete(m.clearedFields, usermeta.FieldValue)
}
// ClearUser clears the "user" edge to the User entity.
func (m *UserMetaMutation) ClearUser() {
m.cleareduser = true
}
// UserCleared reports if the "user" edge to the User entity was cleared.
func (m *UserMetaMutation) UserCleared() bool {
return m.cleareduser
}
// UserIDs returns the "user" edge IDs in the mutation.
// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
// UserID instead. It exists only for internal usage by the builders.
func (m *UserMetaMutation) UserIDs() (ids []int64) {
if id := m.user; id != nil {
ids = append(ids, *id)
}
return
}
// ResetUser resets all changes to the "user" edge.
func (m *UserMetaMutation) ResetUser() {
m.user = nil
m.cleareduser = false
}
// Where appends a list predicates to the UserMetaMutation builder.
func (m *UserMetaMutation) Where(ps ...predicate.UserMeta) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the UserMetaMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *UserMetaMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.UserMeta, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *UserMetaMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *UserMetaMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (UserMeta).
func (m *UserMetaMutation) 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 *UserMetaMutation) Fields() []string {
fields := make([]string, 0, 6)
if m.created_at != nil {
fields = append(fields, usermeta.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, usermeta.FieldUpdatedAt)
}
if m.version != nil {
fields = append(fields, usermeta.FieldVersion)
}
if m.user != nil {
fields = append(fields, usermeta.FieldUserID)
}
if m.key != nil {
fields = append(fields, usermeta.FieldKey)
}
if m.value != nil {
fields = append(fields, usermeta.FieldValue)
}
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 *UserMetaMutation) Field(name string) (ent.Value, bool) {
switch name {
case usermeta.FieldCreatedAt:
return m.CreatedAt()
case usermeta.FieldUpdatedAt:
return m.UpdatedAt()
case usermeta.FieldVersion:
return m.Version()
case usermeta.FieldUserID:
return m.UserID()
case usermeta.FieldKey:
return m.Key()
case usermeta.FieldValue:
return m.Value()
}
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 *UserMetaMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case usermeta.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case usermeta.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case usermeta.FieldVersion:
return m.OldVersion(ctx)
case usermeta.FieldUserID:
return m.OldUserID(ctx)
case usermeta.FieldKey:
return m.OldKey(ctx)
case usermeta.FieldValue:
return m.OldValue(ctx)
}
return nil, fmt.Errorf("unknown UserMeta 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 *UserMetaMutation) SetField(name string, value ent.Value) error {
switch name {
case usermeta.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case usermeta.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case usermeta.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetVersion(v)
return nil
case usermeta.FieldUserID:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUserID(v)
return nil
case usermeta.FieldKey:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetKey(v)
return nil
case usermeta.FieldValue:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetValue(v)
return nil
}
return fmt.Errorf("unknown UserMeta field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *UserMetaMutation) AddedFields() []string {
var fields []string
if m.addversion != nil {
fields = append(fields, usermeta.FieldVersion)
}
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 *UserMetaMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case usermeta.FieldVersion:
return m.AddedVersion()
}
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 *UserMetaMutation) AddField(name string, value ent.Value) error {
switch name {
case usermeta.FieldVersion:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddVersion(v)
return nil
}
return fmt.Errorf("unknown UserMeta numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *UserMetaMutation) ClearedFields() []string {
var fields []string
if m.FieldCleared(usermeta.FieldKey) {
fields = append(fields, usermeta.FieldKey)
}
if m.FieldCleared(usermeta.FieldValue) {
fields = append(fields, usermeta.FieldValue)
}
return fields
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *UserMetaMutation) 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 *UserMetaMutation) ClearField(name string) error {
switch name {
case usermeta.FieldKey:
m.ClearKey()
return nil
case usermeta.FieldValue:
m.ClearValue()
return nil
}
return fmt.Errorf("unknown UserMeta 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 *UserMetaMutation) ResetField(name string) error {
switch name {
case usermeta.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case usermeta.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case usermeta.FieldVersion:
m.ResetVersion()
return nil
case usermeta.FieldUserID:
m.ResetUserID()
return nil
case usermeta.FieldKey:
m.ResetKey()
return nil
case usermeta.FieldValue:
m.ResetValue()
return nil
}
return fmt.Errorf("unknown UserMeta field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *UserMetaMutation) AddedEdges() []string {
edges := make([]string, 0, 1)
if m.user != nil {
edges = append(edges, usermeta.EdgeUser)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *UserMetaMutation) AddedIDs(name string) []ent.Value {
switch name {
case usermeta.EdgeUser:
if id := m.user; id != nil {
return []ent.Value{*id}
}
}
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *UserMetaMutation) 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 *UserMetaMutation) RemovedIDs(name string) []ent.Value {
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *UserMetaMutation) ClearedEdges() []string {
edges := make([]string, 0, 1)
if m.cleareduser {
edges = append(edges, usermeta.EdgeUser)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *UserMetaMutation) EdgeCleared(name string) bool {
switch name {
case usermeta.EdgeUser:
return m.cleareduser
}
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 *UserMetaMutation) ClearEdge(name string) error {
switch name {
case usermeta.EdgeUser:
m.ClearUser()
return nil
}
return fmt.Errorf("unknown UserMeta 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 *UserMetaMutation) ResetEdge(name string) error {
switch name {
case usermeta.EdgeUser:
m.ResetUser()
return nil
}
return fmt.Errorf("unknown UserMeta edge %s", name)
}
// UserSocialMutation represents an operation that mutates the UserSocial nodes in the graph.
type UserSocialMutation struct {
config
op Op
typ string
id *int64
created_at *time.Time
updated_at *time.Time
provider *string
access_token *string
refresh_token *string
uid *string
open_id *string
union_id *string
key *string
expires_in *uint64
addexpires_in *int64
user_profile *string
clearedFields map[string]struct{}
user *int64
cleareduser bool
done bool
oldValue func(context.Context) (*UserSocial, error)
predicates []predicate.UserSocial
}
var _ ent.Mutation = (*UserSocialMutation)(nil)
// usersocialOption allows management of the mutation configuration using functional options.
type usersocialOption func(*UserSocialMutation)
// newUserSocialMutation creates new mutation for the UserSocial entity.
func newUserSocialMutation(c config, op Op, opts ...usersocialOption) *UserSocialMutation {
m := &UserSocialMutation{
config: c,
op: op,
typ: TypeUserSocial,
clearedFields: make(map[string]struct{}),
}
for _, opt := range opts {
opt(m)
}
return m
}
// withUserSocialID sets the ID field of the mutation.
func withUserSocialID(id int64) usersocialOption {
return func(m *UserSocialMutation) {
var (
err error
once sync.Once
value *UserSocial
)
m.oldValue = func(ctx context.Context) (*UserSocial, error) {
once.Do(func() {
if m.done {
err = errors.New("querying old values post mutation is not allowed")
} else {
value, err = m.Client().UserSocial.Get(ctx, id)
}
})
return value, err
}
m.id = &id
}
}
// withUserSocial sets the old UserSocial of the mutation.
func withUserSocial(node *UserSocial) usersocialOption {
return func(m *UserSocialMutation) {
m.oldValue = func(context.Context) (*UserSocial, 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 UserSocialMutation) 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 UserSocialMutation) 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 UserSocial entities.
func (m *UserSocialMutation) 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 *UserSocialMutation) 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 *UserSocialMutation) 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().UserSocial.Query().Where(m.predicates...).IDs(ctx)
default:
return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op)
}
}
// SetCreatedAt sets the "created_at" field.
func (m *UserSocialMutation) SetCreatedAt(t time.Time) {
m.created_at = &t
}
// CreatedAt returns the value of the "created_at" field in the mutation.
func (m *UserSocialMutation) CreatedAt() (r time.Time, exists bool) {
v := m.created_at
if v == nil {
return
}
return *v, true
}
// OldCreatedAt returns the old "created_at" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldCreatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldCreatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldCreatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldCreatedAt: %w", err)
}
return oldValue.CreatedAt, nil
}
// ResetCreatedAt resets all changes to the "created_at" field.
func (m *UserSocialMutation) ResetCreatedAt() {
m.created_at = nil
}
// SetUpdatedAt sets the "updated_at" field.
func (m *UserSocialMutation) SetUpdatedAt(t time.Time) {
m.updated_at = &t
}
// UpdatedAt returns the value of the "updated_at" field in the mutation.
func (m *UserSocialMutation) UpdatedAt() (r time.Time, exists bool) {
v := m.updated_at
if v == nil {
return
}
return *v, true
}
// OldUpdatedAt returns the old "updated_at" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldUpdatedAt(ctx context.Context) (v time.Time, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUpdatedAt is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUpdatedAt requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUpdatedAt: %w", err)
}
return oldValue.UpdatedAt, nil
}
// ResetUpdatedAt resets all changes to the "updated_at" field.
func (m *UserSocialMutation) ResetUpdatedAt() {
m.updated_at = nil
}
// SetUserID sets the "user_id" field.
func (m *UserSocialMutation) SetUserID(i int64) {
m.user = &i
}
// UserID returns the value of the "user_id" field in the mutation.
func (m *UserSocialMutation) UserID() (r int64, exists bool) {
v := m.user
if v == nil {
return
}
return *v, true
}
// OldUserID returns the old "user_id" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldUserID(ctx context.Context) (v int64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUserID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUserID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUserID: %w", err)
}
return oldValue.UserID, nil
}
// ResetUserID resets all changes to the "user_id" field.
func (m *UserSocialMutation) ResetUserID() {
m.user = nil
}
// SetProvider sets the "provider" field.
func (m *UserSocialMutation) SetProvider(s string) {
m.provider = &s
}
// Provider returns the value of the "provider" field in the mutation.
func (m *UserSocialMutation) Provider() (r string, exists bool) {
v := m.provider
if v == nil {
return
}
return *v, true
}
// OldProvider returns the old "provider" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldProvider(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldProvider is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldProvider requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldProvider: %w", err)
}
return oldValue.Provider, nil
}
// ResetProvider resets all changes to the "provider" field.
func (m *UserSocialMutation) ResetProvider() {
m.provider = nil
}
// SetAccessToken sets the "access_token" field.
func (m *UserSocialMutation) SetAccessToken(s string) {
m.access_token = &s
}
// AccessToken returns the value of the "access_token" field in the mutation.
func (m *UserSocialMutation) AccessToken() (r string, exists bool) {
v := m.access_token
if v == nil {
return
}
return *v, true
}
// OldAccessToken returns the old "access_token" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldAccessToken(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldAccessToken is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldAccessToken requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldAccessToken: %w", err)
}
return oldValue.AccessToken, nil
}
// ResetAccessToken resets all changes to the "access_token" field.
func (m *UserSocialMutation) ResetAccessToken() {
m.access_token = nil
}
// SetRefreshToken sets the "refresh_token" field.
func (m *UserSocialMutation) SetRefreshToken(s string) {
m.refresh_token = &s
}
// RefreshToken returns the value of the "refresh_token" field in the mutation.
func (m *UserSocialMutation) RefreshToken() (r string, exists bool) {
v := m.refresh_token
if v == nil {
return
}
return *v, true
}
// OldRefreshToken returns the old "refresh_token" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldRefreshToken(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldRefreshToken is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldRefreshToken requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldRefreshToken: %w", err)
}
return oldValue.RefreshToken, nil
}
// ResetRefreshToken resets all changes to the "refresh_token" field.
func (m *UserSocialMutation) ResetRefreshToken() {
m.refresh_token = nil
}
// SetUID sets the "uid" field.
func (m *UserSocialMutation) SetUID(s string) {
m.uid = &s
}
// UID returns the value of the "uid" field in the mutation.
func (m *UserSocialMutation) UID() (r string, exists bool) {
v := m.uid
if v == nil {
return
}
return *v, true
}
// OldUID returns the old "uid" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldUID(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUID: %w", err)
}
return oldValue.UID, nil
}
// ResetUID resets all changes to the "uid" field.
func (m *UserSocialMutation) ResetUID() {
m.uid = nil
}
// SetOpenID sets the "open_id" field.
func (m *UserSocialMutation) SetOpenID(s string) {
m.open_id = &s
}
// OpenID returns the value of the "open_id" field in the mutation.
func (m *UserSocialMutation) OpenID() (r string, exists bool) {
v := m.open_id
if v == nil {
return
}
return *v, true
}
// OldOpenID returns the old "open_id" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldOpenID(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldOpenID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldOpenID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldOpenID: %w", err)
}
return oldValue.OpenID, nil
}
// ResetOpenID resets all changes to the "open_id" field.
func (m *UserSocialMutation) ResetOpenID() {
m.open_id = nil
}
// SetUnionID sets the "union_id" field.
func (m *UserSocialMutation) SetUnionID(s string) {
m.union_id = &s
}
// UnionID returns the value of the "union_id" field in the mutation.
func (m *UserSocialMutation) UnionID() (r string, exists bool) {
v := m.union_id
if v == nil {
return
}
return *v, true
}
// OldUnionID returns the old "union_id" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldUnionID(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUnionID is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUnionID requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUnionID: %w", err)
}
return oldValue.UnionID, nil
}
// ResetUnionID resets all changes to the "union_id" field.
func (m *UserSocialMutation) ResetUnionID() {
m.union_id = nil
}
// SetKey sets the "key" field.
func (m *UserSocialMutation) SetKey(s string) {
m.key = &s
}
// Key returns the value of the "key" field in the mutation.
func (m *UserSocialMutation) Key() (r string, exists bool) {
v := m.key
if v == nil {
return
}
return *v, true
}
// OldKey returns the old "key" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldKey(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldKey is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldKey requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldKey: %w", err)
}
return oldValue.Key, nil
}
// ResetKey resets all changes to the "key" field.
func (m *UserSocialMutation) ResetKey() {
m.key = nil
}
// SetExpiresIn sets the "expires_in" field.
func (m *UserSocialMutation) SetExpiresIn(u uint64) {
m.expires_in = &u
m.addexpires_in = nil
}
// ExpiresIn returns the value of the "expires_in" field in the mutation.
func (m *UserSocialMutation) ExpiresIn() (r uint64, exists bool) {
v := m.expires_in
if v == nil {
return
}
return *v, true
}
// OldExpiresIn returns the old "expires_in" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldExpiresIn(ctx context.Context) (v uint64, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldExpiresIn is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldExpiresIn requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldExpiresIn: %w", err)
}
return oldValue.ExpiresIn, nil
}
// AddExpiresIn adds u to the "expires_in" field.
func (m *UserSocialMutation) AddExpiresIn(u int64) {
if m.addexpires_in != nil {
*m.addexpires_in += u
} else {
m.addexpires_in = &u
}
}
// AddedExpiresIn returns the value that was added to the "expires_in" field in this mutation.
func (m *UserSocialMutation) AddedExpiresIn() (r int64, exists bool) {
v := m.addexpires_in
if v == nil {
return
}
return *v, true
}
// ResetExpiresIn resets all changes to the "expires_in" field.
func (m *UserSocialMutation) ResetExpiresIn() {
m.expires_in = nil
m.addexpires_in = nil
}
// SetUserProfile sets the "user_profile" field.
func (m *UserSocialMutation) SetUserProfile(s string) {
m.user_profile = &s
}
// UserProfile returns the value of the "user_profile" field in the mutation.
func (m *UserSocialMutation) UserProfile() (r string, exists bool) {
v := m.user_profile
if v == nil {
return
}
return *v, true
}
// OldUserProfile returns the old "user_profile" field's value of the UserSocial entity.
// If the UserSocial 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 *UserSocialMutation) OldUserProfile(ctx context.Context) (v string, err error) {
if !m.op.Is(OpUpdateOne) {
return v, errors.New("OldUserProfile is only allowed on UpdateOne operations")
}
if m.id == nil || m.oldValue == nil {
return v, errors.New("OldUserProfile requires an ID field in the mutation")
}
oldValue, err := m.oldValue(ctx)
if err != nil {
return v, fmt.Errorf("querying old value for OldUserProfile: %w", err)
}
return oldValue.UserProfile, nil
}
// ResetUserProfile resets all changes to the "user_profile" field.
func (m *UserSocialMutation) ResetUserProfile() {
m.user_profile = nil
}
// ClearUser clears the "user" edge to the User entity.
func (m *UserSocialMutation) ClearUser() {
m.cleareduser = true
}
// UserCleared reports if the "user" edge to the User entity was cleared.
func (m *UserSocialMutation) UserCleared() bool {
return m.cleareduser
}
// UserIDs returns the "user" edge IDs in the mutation.
// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use
// UserID instead. It exists only for internal usage by the builders.
func (m *UserSocialMutation) UserIDs() (ids []int64) {
if id := m.user; id != nil {
ids = append(ids, *id)
}
return
}
// ResetUser resets all changes to the "user" edge.
func (m *UserSocialMutation) ResetUser() {
m.user = nil
m.cleareduser = false
}
// Where appends a list predicates to the UserSocialMutation builder.
func (m *UserSocialMutation) Where(ps ...predicate.UserSocial) {
m.predicates = append(m.predicates, ps...)
}
// WhereP appends storage-level predicates to the UserSocialMutation builder. Using this method,
// users can use type-assertion to append predicates that do not depend on any generated package.
func (m *UserSocialMutation) WhereP(ps ...func(*sql.Selector)) {
p := make([]predicate.UserSocial, len(ps))
for i := range ps {
p[i] = ps[i]
}
m.Where(p...)
}
// Op returns the operation name.
func (m *UserSocialMutation) Op() Op {
return m.op
}
// SetOp allows setting the mutation operation.
func (m *UserSocialMutation) SetOp(op Op) {
m.op = op
}
// Type returns the node type of this mutation (UserSocial).
func (m *UserSocialMutation) 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 *UserSocialMutation) Fields() []string {
fields := make([]string, 0, 12)
if m.created_at != nil {
fields = append(fields, usersocial.FieldCreatedAt)
}
if m.updated_at != nil {
fields = append(fields, usersocial.FieldUpdatedAt)
}
if m.user != nil {
fields = append(fields, usersocial.FieldUserID)
}
if m.provider != nil {
fields = append(fields, usersocial.FieldProvider)
}
if m.access_token != nil {
fields = append(fields, usersocial.FieldAccessToken)
}
if m.refresh_token != nil {
fields = append(fields, usersocial.FieldRefreshToken)
}
if m.uid != nil {
fields = append(fields, usersocial.FieldUID)
}
if m.open_id != nil {
fields = append(fields, usersocial.FieldOpenID)
}
if m.union_id != nil {
fields = append(fields, usersocial.FieldUnionID)
}
if m.key != nil {
fields = append(fields, usersocial.FieldKey)
}
if m.expires_in != nil {
fields = append(fields, usersocial.FieldExpiresIn)
}
if m.user_profile != nil {
fields = append(fields, usersocial.FieldUserProfile)
}
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 *UserSocialMutation) Field(name string) (ent.Value, bool) {
switch name {
case usersocial.FieldCreatedAt:
return m.CreatedAt()
case usersocial.FieldUpdatedAt:
return m.UpdatedAt()
case usersocial.FieldUserID:
return m.UserID()
case usersocial.FieldProvider:
return m.Provider()
case usersocial.FieldAccessToken:
return m.AccessToken()
case usersocial.FieldRefreshToken:
return m.RefreshToken()
case usersocial.FieldUID:
return m.UID()
case usersocial.FieldOpenID:
return m.OpenID()
case usersocial.FieldUnionID:
return m.UnionID()
case usersocial.FieldKey:
return m.Key()
case usersocial.FieldExpiresIn:
return m.ExpiresIn()
case usersocial.FieldUserProfile:
return m.UserProfile()
}
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 *UserSocialMutation) OldField(ctx context.Context, name string) (ent.Value, error) {
switch name {
case usersocial.FieldCreatedAt:
return m.OldCreatedAt(ctx)
case usersocial.FieldUpdatedAt:
return m.OldUpdatedAt(ctx)
case usersocial.FieldUserID:
return m.OldUserID(ctx)
case usersocial.FieldProvider:
return m.OldProvider(ctx)
case usersocial.FieldAccessToken:
return m.OldAccessToken(ctx)
case usersocial.FieldRefreshToken:
return m.OldRefreshToken(ctx)
case usersocial.FieldUID:
return m.OldUID(ctx)
case usersocial.FieldOpenID:
return m.OldOpenID(ctx)
case usersocial.FieldUnionID:
return m.OldUnionID(ctx)
case usersocial.FieldKey:
return m.OldKey(ctx)
case usersocial.FieldExpiresIn:
return m.OldExpiresIn(ctx)
case usersocial.FieldUserProfile:
return m.OldUserProfile(ctx)
}
return nil, fmt.Errorf("unknown UserSocial 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 *UserSocialMutation) SetField(name string, value ent.Value) error {
switch name {
case usersocial.FieldCreatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetCreatedAt(v)
return nil
case usersocial.FieldUpdatedAt:
v, ok := value.(time.Time)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUpdatedAt(v)
return nil
case usersocial.FieldUserID:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUserID(v)
return nil
case usersocial.FieldProvider:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetProvider(v)
return nil
case usersocial.FieldAccessToken:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetAccessToken(v)
return nil
case usersocial.FieldRefreshToken:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetRefreshToken(v)
return nil
case usersocial.FieldUID:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUID(v)
return nil
case usersocial.FieldOpenID:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetOpenID(v)
return nil
case usersocial.FieldUnionID:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUnionID(v)
return nil
case usersocial.FieldKey:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetKey(v)
return nil
case usersocial.FieldExpiresIn:
v, ok := value.(uint64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetExpiresIn(v)
return nil
case usersocial.FieldUserProfile:
v, ok := value.(string)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.SetUserProfile(v)
return nil
}
return fmt.Errorf("unknown UserSocial field %s", name)
}
// AddedFields returns all numeric fields that were incremented/decremented during
// this mutation.
func (m *UserSocialMutation) AddedFields() []string {
var fields []string
if m.addexpires_in != nil {
fields = append(fields, usersocial.FieldExpiresIn)
}
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 *UserSocialMutation) AddedField(name string) (ent.Value, bool) {
switch name {
case usersocial.FieldExpiresIn:
return m.AddedExpiresIn()
}
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 *UserSocialMutation) AddField(name string, value ent.Value) error {
switch name {
case usersocial.FieldExpiresIn:
v, ok := value.(int64)
if !ok {
return fmt.Errorf("unexpected type %T for field %s", value, name)
}
m.AddExpiresIn(v)
return nil
}
return fmt.Errorf("unknown UserSocial numeric field %s", name)
}
// ClearedFields returns all nullable fields that were cleared during this
// mutation.
func (m *UserSocialMutation) ClearedFields() []string {
return nil
}
// FieldCleared returns a boolean indicating if a field with the given name was
// cleared in this mutation.
func (m *UserSocialMutation) 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 *UserSocialMutation) ClearField(name string) error {
return fmt.Errorf("unknown UserSocial 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 *UserSocialMutation) ResetField(name string) error {
switch name {
case usersocial.FieldCreatedAt:
m.ResetCreatedAt()
return nil
case usersocial.FieldUpdatedAt:
m.ResetUpdatedAt()
return nil
case usersocial.FieldUserID:
m.ResetUserID()
return nil
case usersocial.FieldProvider:
m.ResetProvider()
return nil
case usersocial.FieldAccessToken:
m.ResetAccessToken()
return nil
case usersocial.FieldRefreshToken:
m.ResetRefreshToken()
return nil
case usersocial.FieldUID:
m.ResetUID()
return nil
case usersocial.FieldOpenID:
m.ResetOpenID()
return nil
case usersocial.FieldUnionID:
m.ResetUnionID()
return nil
case usersocial.FieldKey:
m.ResetKey()
return nil
case usersocial.FieldExpiresIn:
m.ResetExpiresIn()
return nil
case usersocial.FieldUserProfile:
m.ResetUserProfile()
return nil
}
return fmt.Errorf("unknown UserSocial field %s", name)
}
// AddedEdges returns all edge names that were set/added in this mutation.
func (m *UserSocialMutation) AddedEdges() []string {
edges := make([]string, 0, 1)
if m.user != nil {
edges = append(edges, usersocial.EdgeUser)
}
return edges
}
// AddedIDs returns all IDs (to other nodes) that were added for the given edge
// name in this mutation.
func (m *UserSocialMutation) AddedIDs(name string) []ent.Value {
switch name {
case usersocial.EdgeUser:
if id := m.user; id != nil {
return []ent.Value{*id}
}
}
return nil
}
// RemovedEdges returns all edge names that were removed in this mutation.
func (m *UserSocialMutation) 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 *UserSocialMutation) RemovedIDs(name string) []ent.Value {
return nil
}
// ClearedEdges returns all edge names that were cleared in this mutation.
func (m *UserSocialMutation) ClearedEdges() []string {
edges := make([]string, 0, 1)
if m.cleareduser {
edges = append(edges, usersocial.EdgeUser)
}
return edges
}
// EdgeCleared returns a boolean which indicates if the edge with the given name
// was cleared in this mutation.
func (m *UserSocialMutation) EdgeCleared(name string) bool {
switch name {
case usersocial.EdgeUser:
return m.cleareduser
}
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 *UserSocialMutation) ClearEdge(name string) error {
switch name {
case usersocial.EdgeUser:
m.ClearUser()
return nil
}
return fmt.Errorf("unknown UserSocial 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 *UserSocialMutation) ResetEdge(name string) error {
switch name {
case usersocial.EdgeUser:
m.ResetUser()
return nil
}
return fmt.Errorf("unknown UserSocial edge %s", name)
}