// Code generated by ent, DO NOT EDIT. package db import ( "context" "errors" "fmt" "sync" "time" "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chaitin/MonkeyCode/backend/consts" "github.com/chaitin/MonkeyCode/backend/db/admin" "github.com/chaitin/MonkeyCode/backend/db/adminloginhistory" "github.com/chaitin/MonkeyCode/backend/db/adminrole" "github.com/chaitin/MonkeyCode/backend/db/aiemployee" "github.com/chaitin/MonkeyCode/backend/db/aitask" "github.com/chaitin/MonkeyCode/backend/db/apikey" "github.com/chaitin/MonkeyCode/backend/db/billingplan" "github.com/chaitin/MonkeyCode/backend/db/billingquota" "github.com/chaitin/MonkeyCode/backend/db/billingrecord" "github.com/chaitin/MonkeyCode/backend/db/billingusage" "github.com/chaitin/MonkeyCode/backend/db/codesnippet" "github.com/chaitin/MonkeyCode/backend/db/extension" "github.com/chaitin/MonkeyCode/backend/db/invitecode" "github.com/chaitin/MonkeyCode/backend/db/license" "github.com/chaitin/MonkeyCode/backend/db/model" "github.com/chaitin/MonkeyCode/backend/db/modelprovider" "github.com/chaitin/MonkeyCode/backend/db/modelprovidermodel" "github.com/chaitin/MonkeyCode/backend/db/predicate" "github.com/chaitin/MonkeyCode/backend/db/role" "github.com/chaitin/MonkeyCode/backend/db/securityscanning" "github.com/chaitin/MonkeyCode/backend/db/securityscanningresult" "github.com/chaitin/MonkeyCode/backend/db/setting" "github.com/chaitin/MonkeyCode/backend/db/task" "github.com/chaitin/MonkeyCode/backend/db/taskrecord" "github.com/chaitin/MonkeyCode/backend/db/user" "github.com/chaitin/MonkeyCode/backend/db/usergroup" "github.com/chaitin/MonkeyCode/backend/db/usergroupadmin" "github.com/chaitin/MonkeyCode/backend/db/usergroupuser" "github.com/chaitin/MonkeyCode/backend/db/useridentity" "github.com/chaitin/MonkeyCode/backend/db/userloginhistory" "github.com/chaitin/MonkeyCode/backend/db/workspace" "github.com/chaitin/MonkeyCode/backend/db/workspacefile" "github.com/chaitin/MonkeyCode/backend/ent/types" "github.com/google/uuid" pgvector "github.com/pgvector/pgvector-go" ) const ( // Operation types. OpCreate = ent.OpCreate OpDelete = ent.OpDelete OpDeleteOne = ent.OpDeleteOne OpUpdate = ent.OpUpdate OpUpdateOne = ent.OpUpdateOne // Node types. TypeAIEmployee = "AIEmployee" TypeAITask = "AITask" TypeAdmin = "Admin" TypeAdminLoginHistory = "AdminLoginHistory" TypeAdminRole = "AdminRole" TypeApiKey = "ApiKey" TypeBillingPlan = "BillingPlan" TypeBillingQuota = "BillingQuota" TypeBillingRecord = "BillingRecord" TypeBillingUsage = "BillingUsage" TypeCodeSnippet = "CodeSnippet" TypeExtension = "Extension" TypeInviteCode = "InviteCode" TypeLicense = "License" TypeModel = "Model" TypeModelProvider = "ModelProvider" TypeModelProviderModel = "ModelProviderModel" TypeRole = "Role" TypeSecurityScanning = "SecurityScanning" TypeSecurityScanningResult = "SecurityScanningResult" TypeSetting = "Setting" TypeTask = "Task" TypeTaskRecord = "TaskRecord" TypeUser = "User" TypeUserGroup = "UserGroup" TypeUserGroupAdmin = "UserGroupAdmin" TypeUserGroupUser = "UserGroupUser" TypeUserIdentity = "UserIdentity" TypeUserLoginHistory = "UserLoginHistory" TypeWorkspace = "Workspace" TypeWorkspaceFile = "WorkspaceFile" ) // AIEmployeeMutation represents an operation that mutates the AIEmployee nodes in the graph. type AIEmployeeMutation struct { config op Op typ string id *uuid.UUID name *string position *consts.AIEmployeePosition repository_url *string repository_user *string platform *consts.RepoPlatform token *string webhook_secret *string webhook_url *string created_by *consts.CreatedBy parameters **types.AIEmployeeParam created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} admin *uuid.UUID clearedadmin bool user *uuid.UUID cleareduser bool done bool oldValue func(context.Context) (*AIEmployee, error) predicates []predicate.AIEmployee } var _ ent.Mutation = (*AIEmployeeMutation)(nil) // aiemployeeOption allows management of the mutation configuration using functional options. type aiemployeeOption func(*AIEmployeeMutation) // newAIEmployeeMutation creates new mutation for the AIEmployee entity. func newAIEmployeeMutation(c config, op Op, opts ...aiemployeeOption) *AIEmployeeMutation { m := &AIEmployeeMutation{ config: c, op: op, typ: TypeAIEmployee, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withAIEmployeeID sets the ID field of the mutation. func withAIEmployeeID(id uuid.UUID) aiemployeeOption { return func(m *AIEmployeeMutation) { var ( err error once sync.Once value *AIEmployee ) m.oldValue = func(ctx context.Context) (*AIEmployee, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().AIEmployee.Get(ctx, id) } }) return value, err } m.id = &id } } // withAIEmployee sets the old AIEmployee of the mutation. func withAIEmployee(node *AIEmployee) aiemployeeOption { return func(m *AIEmployeeMutation) { m.oldValue = func(context.Context) (*AIEmployee, 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 AIEmployeeMutation) 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 AIEmployeeMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 AIEmployee entities. func (m *AIEmployeeMutation) SetID(id uuid.UUID) { 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 *AIEmployeeMutation) ID() (id uuid.UUID, 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 *AIEmployeeMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().AIEmployee.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetAdminID sets the "admin_id" field. func (m *AIEmployeeMutation) SetAdminID(u uuid.UUID) { m.admin = &u } // AdminID returns the value of the "admin_id" field in the mutation. func (m *AIEmployeeMutation) AdminID() (r uuid.UUID, exists bool) { v := m.admin if v == nil { return } return *v, true } // OldAdminID returns the old "admin_id" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldAdminID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAdminID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAdminID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAdminID: %w", err) } return oldValue.AdminID, nil } // ClearAdminID clears the value of the "admin_id" field. func (m *AIEmployeeMutation) ClearAdminID() { m.admin = nil m.clearedFields[aiemployee.FieldAdminID] = struct{}{} } // AdminIDCleared returns if the "admin_id" field was cleared in this mutation. func (m *AIEmployeeMutation) AdminIDCleared() bool { _, ok := m.clearedFields[aiemployee.FieldAdminID] return ok } // ResetAdminID resets all changes to the "admin_id" field. func (m *AIEmployeeMutation) ResetAdminID() { m.admin = nil delete(m.clearedFields, aiemployee.FieldAdminID) } // SetUserID sets the "user_id" field. func (m *AIEmployeeMutation) SetUserID(u uuid.UUID) { m.user = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *AIEmployeeMutation) UserID() (r uuid.UUID, exists bool) { v := m.user if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 } // ClearUserID clears the value of the "user_id" field. func (m *AIEmployeeMutation) ClearUserID() { m.user = nil m.clearedFields[aiemployee.FieldUserID] = struct{}{} } // UserIDCleared returns if the "user_id" field was cleared in this mutation. func (m *AIEmployeeMutation) UserIDCleared() bool { _, ok := m.clearedFields[aiemployee.FieldUserID] return ok } // ResetUserID resets all changes to the "user_id" field. func (m *AIEmployeeMutation) ResetUserID() { m.user = nil delete(m.clearedFields, aiemployee.FieldUserID) } // SetName sets the "name" field. func (m *AIEmployeeMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *AIEmployeeMutation) 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 AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) 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 *AIEmployeeMutation) ResetName() { m.name = nil } // SetPosition sets the "position" field. func (m *AIEmployeeMutation) SetPosition(cep consts.AIEmployeePosition) { m.position = &cep } // Position returns the value of the "position" field in the mutation. func (m *AIEmployeeMutation) Position() (r consts.AIEmployeePosition, exists bool) { v := m.position if v == nil { return } return *v, true } // OldPosition returns the old "position" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldPosition(ctx context.Context) (v consts.AIEmployeePosition, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPosition is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPosition requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPosition: %w", err) } return oldValue.Position, nil } // ResetPosition resets all changes to the "position" field. func (m *AIEmployeeMutation) ResetPosition() { m.position = nil } // SetRepositoryURL sets the "repository_url" field. func (m *AIEmployeeMutation) SetRepositoryURL(s string) { m.repository_url = &s } // RepositoryURL returns the value of the "repository_url" field in the mutation. func (m *AIEmployeeMutation) RepositoryURL() (r string, exists bool) { v := m.repository_url if v == nil { return } return *v, true } // OldRepositoryURL returns the old "repository_url" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldRepositoryURL(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRepositoryURL is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRepositoryURL requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRepositoryURL: %w", err) } return oldValue.RepositoryURL, nil } // ResetRepositoryURL resets all changes to the "repository_url" field. func (m *AIEmployeeMutation) ResetRepositoryURL() { m.repository_url = nil } // SetRepositoryUser sets the "repository_user" field. func (m *AIEmployeeMutation) SetRepositoryUser(s string) { m.repository_user = &s } // RepositoryUser returns the value of the "repository_user" field in the mutation. func (m *AIEmployeeMutation) RepositoryUser() (r string, exists bool) { v := m.repository_user if v == nil { return } return *v, true } // OldRepositoryUser returns the old "repository_user" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldRepositoryUser(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRepositoryUser is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRepositoryUser requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRepositoryUser: %w", err) } return oldValue.RepositoryUser, nil } // ResetRepositoryUser resets all changes to the "repository_user" field. func (m *AIEmployeeMutation) ResetRepositoryUser() { m.repository_user = nil } // SetPlatform sets the "platform" field. func (m *AIEmployeeMutation) SetPlatform(cp consts.RepoPlatform) { m.platform = &cp } // Platform returns the value of the "platform" field in the mutation. func (m *AIEmployeeMutation) Platform() (r consts.RepoPlatform, exists bool) { v := m.platform if v == nil { return } return *v, true } // OldPlatform returns the old "platform" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldPlatform(ctx context.Context) (v consts.RepoPlatform, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPlatform is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPlatform requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPlatform: %w", err) } return oldValue.Platform, nil } // ResetPlatform resets all changes to the "platform" field. func (m *AIEmployeeMutation) ResetPlatform() { m.platform = nil } // SetToken sets the "token" field. func (m *AIEmployeeMutation) SetToken(s string) { m.token = &s } // Token returns the value of the "token" field in the mutation. func (m *AIEmployeeMutation) Token() (r string, exists bool) { v := m.token if v == nil { return } return *v, true } // OldToken returns the old "token" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldToken(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldToken is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldToken requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldToken: %w", err) } return oldValue.Token, nil } // ResetToken resets all changes to the "token" field. func (m *AIEmployeeMutation) ResetToken() { m.token = nil } // SetWebhookSecret sets the "webhook_secret" field. func (m *AIEmployeeMutation) SetWebhookSecret(s string) { m.webhook_secret = &s } // WebhookSecret returns the value of the "webhook_secret" field in the mutation. func (m *AIEmployeeMutation) WebhookSecret() (r string, exists bool) { v := m.webhook_secret if v == nil { return } return *v, true } // OldWebhookSecret returns the old "webhook_secret" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldWebhookSecret(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldWebhookSecret is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldWebhookSecret requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldWebhookSecret: %w", err) } return oldValue.WebhookSecret, nil } // ResetWebhookSecret resets all changes to the "webhook_secret" field. func (m *AIEmployeeMutation) ResetWebhookSecret() { m.webhook_secret = nil } // SetWebhookURL sets the "webhook_url" field. func (m *AIEmployeeMutation) SetWebhookURL(s string) { m.webhook_url = &s } // WebhookURL returns the value of the "webhook_url" field in the mutation. func (m *AIEmployeeMutation) WebhookURL() (r string, exists bool) { v := m.webhook_url if v == nil { return } return *v, true } // OldWebhookURL returns the old "webhook_url" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldWebhookURL(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldWebhookURL is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldWebhookURL requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldWebhookURL: %w", err) } return oldValue.WebhookURL, nil } // ResetWebhookURL resets all changes to the "webhook_url" field. func (m *AIEmployeeMutation) ResetWebhookURL() { m.webhook_url = nil } // SetCreatedBy sets the "created_by" field. func (m *AIEmployeeMutation) SetCreatedBy(cb consts.CreatedBy) { m.created_by = &cb } // CreatedBy returns the value of the "created_by" field in the mutation. func (m *AIEmployeeMutation) CreatedBy() (r consts.CreatedBy, exists bool) { v := m.created_by if v == nil { return } return *v, true } // OldCreatedBy returns the old "created_by" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldCreatedBy(ctx context.Context) (v consts.CreatedBy, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCreatedBy is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCreatedBy requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCreatedBy: %w", err) } return oldValue.CreatedBy, nil } // ResetCreatedBy resets all changes to the "created_by" field. func (m *AIEmployeeMutation) ResetCreatedBy() { m.created_by = nil } // SetParameters sets the "parameters" field. func (m *AIEmployeeMutation) SetParameters(tep *types.AIEmployeeParam) { m.parameters = &tep } // Parameters returns the value of the "parameters" field in the mutation. func (m *AIEmployeeMutation) Parameters() (r *types.AIEmployeeParam, exists bool) { v := m.parameters if v == nil { return } return *v, true } // OldParameters returns the old "parameters" field's value of the AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) OldParameters(ctx context.Context) (v *types.AIEmployeeParam, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldParameters is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldParameters requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldParameters: %w", err) } return oldValue.Parameters, nil } // ResetParameters resets all changes to the "parameters" field. func (m *AIEmployeeMutation) ResetParameters() { m.parameters = nil } // SetCreatedAt sets the "created_at" field. func (m *AIEmployeeMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *AIEmployeeMutation) 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 AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) 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 *AIEmployeeMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *AIEmployeeMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *AIEmployeeMutation) 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 AIEmployee entity. // If the AIEmployee 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 *AIEmployeeMutation) 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 *AIEmployeeMutation) ResetUpdatedAt() { m.updated_at = nil } // ClearAdmin clears the "admin" edge to the Admin entity. func (m *AIEmployeeMutation) ClearAdmin() { m.clearedadmin = true m.clearedFields[aiemployee.FieldAdminID] = struct{}{} } // AdminCleared reports if the "admin" edge to the Admin entity was cleared. func (m *AIEmployeeMutation) AdminCleared() bool { return m.AdminIDCleared() || m.clearedadmin } // AdminIDs returns the "admin" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // AdminID instead. It exists only for internal usage by the builders. func (m *AIEmployeeMutation) AdminIDs() (ids []uuid.UUID) { if id := m.admin; id != nil { ids = append(ids, *id) } return } // ResetAdmin resets all changes to the "admin" edge. func (m *AIEmployeeMutation) ResetAdmin() { m.admin = nil m.clearedadmin = false } // ClearUser clears the "user" edge to the User entity. func (m *AIEmployeeMutation) ClearUser() { m.cleareduser = true m.clearedFields[aiemployee.FieldUserID] = struct{}{} } // UserCleared reports if the "user" edge to the User entity was cleared. func (m *AIEmployeeMutation) UserCleared() bool { return m.UserIDCleared() || 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 *AIEmployeeMutation) UserIDs() (ids []uuid.UUID) { if id := m.user; id != nil { ids = append(ids, *id) } return } // ResetUser resets all changes to the "user" edge. func (m *AIEmployeeMutation) ResetUser() { m.user = nil m.cleareduser = false } // Where appends a list predicates to the AIEmployeeMutation builder. func (m *AIEmployeeMutation) Where(ps ...predicate.AIEmployee) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the AIEmployeeMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *AIEmployeeMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.AIEmployee, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *AIEmployeeMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *AIEmployeeMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (AIEmployee). func (m *AIEmployeeMutation) 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 *AIEmployeeMutation) Fields() []string { fields := make([]string, 0, 14) if m.admin != nil { fields = append(fields, aiemployee.FieldAdminID) } if m.user != nil { fields = append(fields, aiemployee.FieldUserID) } if m.name != nil { fields = append(fields, aiemployee.FieldName) } if m.position != nil { fields = append(fields, aiemployee.FieldPosition) } if m.repository_url != nil { fields = append(fields, aiemployee.FieldRepositoryURL) } if m.repository_user != nil { fields = append(fields, aiemployee.FieldRepositoryUser) } if m.platform != nil { fields = append(fields, aiemployee.FieldPlatform) } if m.token != nil { fields = append(fields, aiemployee.FieldToken) } if m.webhook_secret != nil { fields = append(fields, aiemployee.FieldWebhookSecret) } if m.webhook_url != nil { fields = append(fields, aiemployee.FieldWebhookURL) } if m.created_by != nil { fields = append(fields, aiemployee.FieldCreatedBy) } if m.parameters != nil { fields = append(fields, aiemployee.FieldParameters) } if m.created_at != nil { fields = append(fields, aiemployee.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, aiemployee.FieldUpdatedAt) } 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 *AIEmployeeMutation) Field(name string) (ent.Value, bool) { switch name { case aiemployee.FieldAdminID: return m.AdminID() case aiemployee.FieldUserID: return m.UserID() case aiemployee.FieldName: return m.Name() case aiemployee.FieldPosition: return m.Position() case aiemployee.FieldRepositoryURL: return m.RepositoryURL() case aiemployee.FieldRepositoryUser: return m.RepositoryUser() case aiemployee.FieldPlatform: return m.Platform() case aiemployee.FieldToken: return m.Token() case aiemployee.FieldWebhookSecret: return m.WebhookSecret() case aiemployee.FieldWebhookURL: return m.WebhookURL() case aiemployee.FieldCreatedBy: return m.CreatedBy() case aiemployee.FieldParameters: return m.Parameters() case aiemployee.FieldCreatedAt: return m.CreatedAt() case aiemployee.FieldUpdatedAt: return m.UpdatedAt() } 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 *AIEmployeeMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case aiemployee.FieldAdminID: return m.OldAdminID(ctx) case aiemployee.FieldUserID: return m.OldUserID(ctx) case aiemployee.FieldName: return m.OldName(ctx) case aiemployee.FieldPosition: return m.OldPosition(ctx) case aiemployee.FieldRepositoryURL: return m.OldRepositoryURL(ctx) case aiemployee.FieldRepositoryUser: return m.OldRepositoryUser(ctx) case aiemployee.FieldPlatform: return m.OldPlatform(ctx) case aiemployee.FieldToken: return m.OldToken(ctx) case aiemployee.FieldWebhookSecret: return m.OldWebhookSecret(ctx) case aiemployee.FieldWebhookURL: return m.OldWebhookURL(ctx) case aiemployee.FieldCreatedBy: return m.OldCreatedBy(ctx) case aiemployee.FieldParameters: return m.OldParameters(ctx) case aiemployee.FieldCreatedAt: return m.OldCreatedAt(ctx) case aiemployee.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown AIEmployee 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 *AIEmployeeMutation) SetField(name string, value ent.Value) error { switch name { case aiemployee.FieldAdminID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAdminID(v) return nil case aiemployee.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case aiemployee.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case aiemployee.FieldPosition: v, ok := value.(consts.AIEmployeePosition) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPosition(v) return nil case aiemployee.FieldRepositoryURL: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRepositoryURL(v) return nil case aiemployee.FieldRepositoryUser: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRepositoryUser(v) return nil case aiemployee.FieldPlatform: v, ok := value.(consts.RepoPlatform) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPlatform(v) return nil case aiemployee.FieldToken: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetToken(v) return nil case aiemployee.FieldWebhookSecret: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetWebhookSecret(v) return nil case aiemployee.FieldWebhookURL: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetWebhookURL(v) return nil case aiemployee.FieldCreatedBy: v, ok := value.(consts.CreatedBy) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatedBy(v) return nil case aiemployee.FieldParameters: v, ok := value.(*types.AIEmployeeParam) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetParameters(v) return nil case aiemployee.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 aiemployee.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown AIEmployee field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *AIEmployeeMutation) 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 *AIEmployeeMutation) 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 *AIEmployeeMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown AIEmployee numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *AIEmployeeMutation) ClearedFields() []string { var fields []string if m.FieldCleared(aiemployee.FieldAdminID) { fields = append(fields, aiemployee.FieldAdminID) } if m.FieldCleared(aiemployee.FieldUserID) { fields = append(fields, aiemployee.FieldUserID) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *AIEmployeeMutation) 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 *AIEmployeeMutation) ClearField(name string) error { switch name { case aiemployee.FieldAdminID: m.ClearAdminID() return nil case aiemployee.FieldUserID: m.ClearUserID() return nil } return fmt.Errorf("unknown AIEmployee 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 *AIEmployeeMutation) ResetField(name string) error { switch name { case aiemployee.FieldAdminID: m.ResetAdminID() return nil case aiemployee.FieldUserID: m.ResetUserID() return nil case aiemployee.FieldName: m.ResetName() return nil case aiemployee.FieldPosition: m.ResetPosition() return nil case aiemployee.FieldRepositoryURL: m.ResetRepositoryURL() return nil case aiemployee.FieldRepositoryUser: m.ResetRepositoryUser() return nil case aiemployee.FieldPlatform: m.ResetPlatform() return nil case aiemployee.FieldToken: m.ResetToken() return nil case aiemployee.FieldWebhookSecret: m.ResetWebhookSecret() return nil case aiemployee.FieldWebhookURL: m.ResetWebhookURL() return nil case aiemployee.FieldCreatedBy: m.ResetCreatedBy() return nil case aiemployee.FieldParameters: m.ResetParameters() return nil case aiemployee.FieldCreatedAt: m.ResetCreatedAt() return nil case aiemployee.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown AIEmployee field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *AIEmployeeMutation) AddedEdges() []string { edges := make([]string, 0, 2) if m.admin != nil { edges = append(edges, aiemployee.EdgeAdmin) } if m.user != nil { edges = append(edges, aiemployee.EdgeUser) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *AIEmployeeMutation) AddedIDs(name string) []ent.Value { switch name { case aiemployee.EdgeAdmin: if id := m.admin; id != nil { return []ent.Value{*id} } case aiemployee.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 *AIEmployeeMutation) RemovedEdges() []string { edges := make([]string, 0, 2) return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *AIEmployeeMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *AIEmployeeMutation) ClearedEdges() []string { edges := make([]string, 0, 2) if m.clearedadmin { edges = append(edges, aiemployee.EdgeAdmin) } if m.cleareduser { edges = append(edges, aiemployee.EdgeUser) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *AIEmployeeMutation) EdgeCleared(name string) bool { switch name { case aiemployee.EdgeAdmin: return m.clearedadmin case aiemployee.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 *AIEmployeeMutation) ClearEdge(name string) error { switch name { case aiemployee.EdgeAdmin: m.ClearAdmin() return nil case aiemployee.EdgeUser: m.ClearUser() return nil } return fmt.Errorf("unknown AIEmployee 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 *AIEmployeeMutation) ResetEdge(name string) error { switch name { case aiemployee.EdgeAdmin: m.ResetAdmin() return nil case aiemployee.EdgeUser: m.ResetUser() return nil } return fmt.Errorf("unknown AIEmployee edge %s", name) } // AITaskMutation represents an operation that mutates the AITask nodes in the graph. type AITaskMutation struct { config op Op typ string id *uuid.UUID employee_id *uuid.UUID status *string output *string logs *string error_message *string created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*AITask, error) predicates []predicate.AITask } var _ ent.Mutation = (*AITaskMutation)(nil) // aitaskOption allows management of the mutation configuration using functional options. type aitaskOption func(*AITaskMutation) // newAITaskMutation creates new mutation for the AITask entity. func newAITaskMutation(c config, op Op, opts ...aitaskOption) *AITaskMutation { m := &AITaskMutation{ config: c, op: op, typ: TypeAITask, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withAITaskID sets the ID field of the mutation. func withAITaskID(id uuid.UUID) aitaskOption { return func(m *AITaskMutation) { var ( err error once sync.Once value *AITask ) m.oldValue = func(ctx context.Context) (*AITask, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().AITask.Get(ctx, id) } }) return value, err } m.id = &id } } // withAITask sets the old AITask of the mutation. func withAITask(node *AITask) aitaskOption { return func(m *AITaskMutation) { m.oldValue = func(context.Context) (*AITask, 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 AITaskMutation) 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 AITaskMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 AITask entities. func (m *AITaskMutation) SetID(id uuid.UUID) { 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 *AITaskMutation) ID() (id uuid.UUID, 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 *AITaskMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().AITask.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetEmployeeID sets the "employee_id" field. func (m *AITaskMutation) SetEmployeeID(u uuid.UUID) { m.employee_id = &u } // EmployeeID returns the value of the "employee_id" field in the mutation. func (m *AITaskMutation) EmployeeID() (r uuid.UUID, exists bool) { v := m.employee_id if v == nil { return } return *v, true } // OldEmployeeID returns the old "employee_id" field's value of the AITask entity. // If the AITask 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 *AITaskMutation) OldEmployeeID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEmployeeID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEmployeeID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEmployeeID: %w", err) } return oldValue.EmployeeID, nil } // ResetEmployeeID resets all changes to the "employee_id" field. func (m *AITaskMutation) ResetEmployeeID() { m.employee_id = nil } // SetStatus sets the "status" field. func (m *AITaskMutation) SetStatus(s string) { m.status = &s } // Status returns the value of the "status" field in the mutation. func (m *AITaskMutation) Status() (r string, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the AITask entity. // If the AITask 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 *AITaskMutation) OldStatus(ctx context.Context) (v string, 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 *AITaskMutation) ResetStatus() { m.status = nil } // SetOutput sets the "output" field. func (m *AITaskMutation) SetOutput(s string) { m.output = &s } // Output returns the value of the "output" field in the mutation. func (m *AITaskMutation) Output() (r string, exists bool) { v := m.output if v == nil { return } return *v, true } // OldOutput returns the old "output" field's value of the AITask entity. // If the AITask 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 *AITaskMutation) OldOutput(ctx context.Context) (v *string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOutput is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOutput requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOutput: %w", err) } return oldValue.Output, nil } // ClearOutput clears the value of the "output" field. func (m *AITaskMutation) ClearOutput() { m.output = nil m.clearedFields[aitask.FieldOutput] = struct{}{} } // OutputCleared returns if the "output" field was cleared in this mutation. func (m *AITaskMutation) OutputCleared() bool { _, ok := m.clearedFields[aitask.FieldOutput] return ok } // ResetOutput resets all changes to the "output" field. func (m *AITaskMutation) ResetOutput() { m.output = nil delete(m.clearedFields, aitask.FieldOutput) } // SetLogs sets the "logs" field. func (m *AITaskMutation) SetLogs(s string) { m.logs = &s } // Logs returns the value of the "logs" field in the mutation. func (m *AITaskMutation) Logs() (r string, exists bool) { v := m.logs if v == nil { return } return *v, true } // OldLogs returns the old "logs" field's value of the AITask entity. // If the AITask 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 *AITaskMutation) OldLogs(ctx context.Context) (v *string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldLogs is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldLogs requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldLogs: %w", err) } return oldValue.Logs, nil } // ClearLogs clears the value of the "logs" field. func (m *AITaskMutation) ClearLogs() { m.logs = nil m.clearedFields[aitask.FieldLogs] = struct{}{} } // LogsCleared returns if the "logs" field was cleared in this mutation. func (m *AITaskMutation) LogsCleared() bool { _, ok := m.clearedFields[aitask.FieldLogs] return ok } // ResetLogs resets all changes to the "logs" field. func (m *AITaskMutation) ResetLogs() { m.logs = nil delete(m.clearedFields, aitask.FieldLogs) } // SetErrorMessage sets the "error_message" field. func (m *AITaskMutation) SetErrorMessage(s string) { m.error_message = &s } // ErrorMessage returns the value of the "error_message" field in the mutation. func (m *AITaskMutation) ErrorMessage() (r string, exists bool) { v := m.error_message if v == nil { return } return *v, true } // OldErrorMessage returns the old "error_message" field's value of the AITask entity. // If the AITask 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 *AITaskMutation) OldErrorMessage(ctx context.Context) (v *string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldErrorMessage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldErrorMessage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldErrorMessage: %w", err) } return oldValue.ErrorMessage, nil } // ClearErrorMessage clears the value of the "error_message" field. func (m *AITaskMutation) ClearErrorMessage() { m.error_message = nil m.clearedFields[aitask.FieldErrorMessage] = struct{}{} } // ErrorMessageCleared returns if the "error_message" field was cleared in this mutation. func (m *AITaskMutation) ErrorMessageCleared() bool { _, ok := m.clearedFields[aitask.FieldErrorMessage] return ok } // ResetErrorMessage resets all changes to the "error_message" field. func (m *AITaskMutation) ResetErrorMessage() { m.error_message = nil delete(m.clearedFields, aitask.FieldErrorMessage) } // SetCreatedAt sets the "created_at" field. func (m *AITaskMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *AITaskMutation) 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 AITask entity. // If the AITask 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 *AITaskMutation) 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 *AITaskMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *AITaskMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *AITaskMutation) 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 AITask entity. // If the AITask 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 *AITaskMutation) 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 *AITaskMutation) ResetUpdatedAt() { m.updated_at = nil } // Where appends a list predicates to the AITaskMutation builder. func (m *AITaskMutation) Where(ps ...predicate.AITask) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the AITaskMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *AITaskMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.AITask, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *AITaskMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *AITaskMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (AITask). func (m *AITaskMutation) 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 *AITaskMutation) Fields() []string { fields := make([]string, 0, 7) if m.employee_id != nil { fields = append(fields, aitask.FieldEmployeeID) } if m.status != nil { fields = append(fields, aitask.FieldStatus) } if m.output != nil { fields = append(fields, aitask.FieldOutput) } if m.logs != nil { fields = append(fields, aitask.FieldLogs) } if m.error_message != nil { fields = append(fields, aitask.FieldErrorMessage) } if m.created_at != nil { fields = append(fields, aitask.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, aitask.FieldUpdatedAt) } 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 *AITaskMutation) Field(name string) (ent.Value, bool) { switch name { case aitask.FieldEmployeeID: return m.EmployeeID() case aitask.FieldStatus: return m.Status() case aitask.FieldOutput: return m.Output() case aitask.FieldLogs: return m.Logs() case aitask.FieldErrorMessage: return m.ErrorMessage() case aitask.FieldCreatedAt: return m.CreatedAt() case aitask.FieldUpdatedAt: return m.UpdatedAt() } 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 *AITaskMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case aitask.FieldEmployeeID: return m.OldEmployeeID(ctx) case aitask.FieldStatus: return m.OldStatus(ctx) case aitask.FieldOutput: return m.OldOutput(ctx) case aitask.FieldLogs: return m.OldLogs(ctx) case aitask.FieldErrorMessage: return m.OldErrorMessage(ctx) case aitask.FieldCreatedAt: return m.OldCreatedAt(ctx) case aitask.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown AITask 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 *AITaskMutation) SetField(name string, value ent.Value) error { switch name { case aitask.FieldEmployeeID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEmployeeID(v) return nil case aitask.FieldStatus: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case aitask.FieldOutput: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOutput(v) return nil case aitask.FieldLogs: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetLogs(v) return nil case aitask.FieldErrorMessage: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetErrorMessage(v) return nil case aitask.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 aitask.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown AITask field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *AITaskMutation) 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 *AITaskMutation) 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 *AITaskMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown AITask numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *AITaskMutation) ClearedFields() []string { var fields []string if m.FieldCleared(aitask.FieldOutput) { fields = append(fields, aitask.FieldOutput) } if m.FieldCleared(aitask.FieldLogs) { fields = append(fields, aitask.FieldLogs) } if m.FieldCleared(aitask.FieldErrorMessage) { fields = append(fields, aitask.FieldErrorMessage) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *AITaskMutation) 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 *AITaskMutation) ClearField(name string) error { switch name { case aitask.FieldOutput: m.ClearOutput() return nil case aitask.FieldLogs: m.ClearLogs() return nil case aitask.FieldErrorMessage: m.ClearErrorMessage() return nil } return fmt.Errorf("unknown AITask 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 *AITaskMutation) ResetField(name string) error { switch name { case aitask.FieldEmployeeID: m.ResetEmployeeID() return nil case aitask.FieldStatus: m.ResetStatus() return nil case aitask.FieldOutput: m.ResetOutput() return nil case aitask.FieldLogs: m.ResetLogs() return nil case aitask.FieldErrorMessage: m.ResetErrorMessage() return nil case aitask.FieldCreatedAt: m.ResetCreatedAt() return nil case aitask.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown AITask field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *AITaskMutation) 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 *AITaskMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *AITaskMutation) 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 *AITaskMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *AITaskMutation) 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 *AITaskMutation) 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 *AITaskMutation) ClearEdge(name string) error { return fmt.Errorf("unknown AITask 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 *AITaskMutation) ResetEdge(name string) error { return fmt.Errorf("unknown AITask edge %s", name) } // AdminMutation represents an operation that mutates the Admin nodes in the graph. type AdminMutation struct { config op Op typ string id *uuid.UUID username *string password *string status *consts.AdminStatus last_active_at *time.Time created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} login_histories map[uuid.UUID]struct{} removedlogin_histories map[uuid.UUID]struct{} clearedlogin_histories bool myusergroups map[uuid.UUID]struct{} removedmyusergroups map[uuid.UUID]struct{} clearedmyusergroups bool aiemployees map[uuid.UUID]struct{} removedaiemployees map[uuid.UUID]struct{} clearedaiemployees bool usergroups map[uuid.UUID]struct{} removedusergroups map[uuid.UUID]struct{} clearedusergroups bool roles map[int64]struct{} removedroles map[int64]struct{} clearedroles bool user_group_admins map[uuid.UUID]struct{} removeduser_group_admins map[uuid.UUID]struct{} cleareduser_group_admins bool admin_roles map[uuid.UUID]struct{} removedadmin_roles map[uuid.UUID]struct{} clearedadmin_roles bool done bool oldValue func(context.Context) (*Admin, error) predicates []predicate.Admin } var _ ent.Mutation = (*AdminMutation)(nil) // adminOption allows management of the mutation configuration using functional options. type adminOption func(*AdminMutation) // newAdminMutation creates new mutation for the Admin entity. func newAdminMutation(c config, op Op, opts ...adminOption) *AdminMutation { m := &AdminMutation{ config: c, op: op, typ: TypeAdmin, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withAdminID sets the ID field of the mutation. func withAdminID(id uuid.UUID) adminOption { return func(m *AdminMutation) { var ( err error once sync.Once value *Admin ) m.oldValue = func(ctx context.Context) (*Admin, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().Admin.Get(ctx, id) } }) return value, err } m.id = &id } } // withAdmin sets the old Admin of the mutation. func withAdmin(node *Admin) adminOption { return func(m *AdminMutation) { m.oldValue = func(context.Context) (*Admin, error) { return node, nil } m.id = &node.ID } } // Client returns a new `ent.Client` from the mutation. If the mutation was // executed in a transaction (ent.Tx), a transactional client is returned. func (m AdminMutation) Client() *Client { client := &Client{config: m.config} client.init() return client } // Tx returns an `ent.Tx` for mutations that were executed in transactions; // it returns an error otherwise. func (m AdminMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: mutation is not running in a transaction") } tx := &Tx{config: m.config} tx.init() return tx, nil } // SetID sets the value of the id field. Note that this // operation is only accepted on creation of Admin entities. func (m *AdminMutation) SetID(id uuid.UUID) { m.id = &id } // ID returns the ID value in the mutation. Note that the ID is only available // if it was provided to the builder or after it was returned from the database. func (m *AdminMutation) ID() (id uuid.UUID, exists bool) { if m.id == nil { return } return *m.id, true } // IDs queries the database and returns the entity ids that match the mutation's predicate. // That means, if the mutation is applied within a transaction with an isolation level such // as sql.LevelSerializable, the returned ids match the ids of the rows that will be updated // or updated by the mutation. func (m *AdminMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().Admin.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUsername sets the "username" field. func (m *AdminMutation) SetUsername(s string) { m.username = &s } // Username returns the value of the "username" field in the mutation. func (m *AdminMutation) 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 Admin entity. // If the Admin object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *AdminMutation) 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 *AdminMutation) ResetUsername() { m.username = nil } // SetPassword sets the "password" field. func (m *AdminMutation) SetPassword(s string) { m.password = &s } // Password returns the value of the "password" field in the mutation. func (m *AdminMutation) Password() (r string, exists bool) { v := m.password if v == nil { return } return *v, true } // OldPassword returns the old "password" field's value of the Admin entity. // If the Admin object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *AdminMutation) OldPassword(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPassword is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPassword requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPassword: %w", err) } return oldValue.Password, nil } // ResetPassword resets all changes to the "password" field. func (m *AdminMutation) ResetPassword() { m.password = nil } // SetStatus sets the "status" field. func (m *AdminMutation) SetStatus(cs consts.AdminStatus) { m.status = &cs } // Status returns the value of the "status" field in the mutation. func (m *AdminMutation) Status() (r consts.AdminStatus, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the Admin entity. // If the Admin object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *AdminMutation) OldStatus(ctx context.Context) (v consts.AdminStatus, 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 *AdminMutation) ResetStatus() { m.status = nil } // SetLastActiveAt sets the "last_active_at" field. func (m *AdminMutation) SetLastActiveAt(t time.Time) { m.last_active_at = &t } // LastActiveAt returns the value of the "last_active_at" field in the mutation. func (m *AdminMutation) LastActiveAt() (r time.Time, exists bool) { v := m.last_active_at if v == nil { return } return *v, true } // OldLastActiveAt returns the old "last_active_at" field's value of the Admin entity. // If the Admin object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *AdminMutation) OldLastActiveAt(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldLastActiveAt is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldLastActiveAt requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldLastActiveAt: %w", err) } return oldValue.LastActiveAt, nil } // ResetLastActiveAt resets all changes to the "last_active_at" field. func (m *AdminMutation) ResetLastActiveAt() { m.last_active_at = nil } // SetCreatedAt sets the "created_at" field. func (m *AdminMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *AdminMutation) 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 Admin entity. // If the Admin object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *AdminMutation) 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 *AdminMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *AdminMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *AdminMutation) 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 Admin entity. // If the Admin object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *AdminMutation) 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 *AdminMutation) ResetUpdatedAt() { m.updated_at = nil } // AddLoginHistoryIDs adds the "login_histories" edge to the AdminLoginHistory entity by ids. func (m *AdminMutation) AddLoginHistoryIDs(ids ...uuid.UUID) { if m.login_histories == nil { m.login_histories = make(map[uuid.UUID]struct{}) } for i := range ids { m.login_histories[ids[i]] = struct{}{} } } // ClearLoginHistories clears the "login_histories" edge to the AdminLoginHistory entity. func (m *AdminMutation) ClearLoginHistories() { m.clearedlogin_histories = true } // LoginHistoriesCleared reports if the "login_histories" edge to the AdminLoginHistory entity was cleared. func (m *AdminMutation) LoginHistoriesCleared() bool { return m.clearedlogin_histories } // RemoveLoginHistoryIDs removes the "login_histories" edge to the AdminLoginHistory entity by IDs. func (m *AdminMutation) RemoveLoginHistoryIDs(ids ...uuid.UUID) { if m.removedlogin_histories == nil { m.removedlogin_histories = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.login_histories, ids[i]) m.removedlogin_histories[ids[i]] = struct{}{} } } // RemovedLoginHistories returns the removed IDs of the "login_histories" edge to the AdminLoginHistory entity. func (m *AdminMutation) RemovedLoginHistoriesIDs() (ids []uuid.UUID) { for id := range m.removedlogin_histories { ids = append(ids, id) } return } // LoginHistoriesIDs returns the "login_histories" edge IDs in the mutation. func (m *AdminMutation) LoginHistoriesIDs() (ids []uuid.UUID) { for id := range m.login_histories { ids = append(ids, id) } return } // ResetLoginHistories resets all changes to the "login_histories" edge. func (m *AdminMutation) ResetLoginHistories() { m.login_histories = nil m.clearedlogin_histories = false m.removedlogin_histories = nil } // AddMyusergroupIDs adds the "myusergroups" edge to the UserGroup entity by ids. func (m *AdminMutation) AddMyusergroupIDs(ids ...uuid.UUID) { if m.myusergroups == nil { m.myusergroups = make(map[uuid.UUID]struct{}) } for i := range ids { m.myusergroups[ids[i]] = struct{}{} } } // ClearMyusergroups clears the "myusergroups" edge to the UserGroup entity. func (m *AdminMutation) ClearMyusergroups() { m.clearedmyusergroups = true } // MyusergroupsCleared reports if the "myusergroups" edge to the UserGroup entity was cleared. func (m *AdminMutation) MyusergroupsCleared() bool { return m.clearedmyusergroups } // RemoveMyusergroupIDs removes the "myusergroups" edge to the UserGroup entity by IDs. func (m *AdminMutation) RemoveMyusergroupIDs(ids ...uuid.UUID) { if m.removedmyusergroups == nil { m.removedmyusergroups = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.myusergroups, ids[i]) m.removedmyusergroups[ids[i]] = struct{}{} } } // RemovedMyusergroups returns the removed IDs of the "myusergroups" edge to the UserGroup entity. func (m *AdminMutation) RemovedMyusergroupsIDs() (ids []uuid.UUID) { for id := range m.removedmyusergroups { ids = append(ids, id) } return } // MyusergroupsIDs returns the "myusergroups" edge IDs in the mutation. func (m *AdminMutation) MyusergroupsIDs() (ids []uuid.UUID) { for id := range m.myusergroups { ids = append(ids, id) } return } // ResetMyusergroups resets all changes to the "myusergroups" edge. func (m *AdminMutation) ResetMyusergroups() { m.myusergroups = nil m.clearedmyusergroups = false m.removedmyusergroups = nil } // AddAiemployeeIDs adds the "aiemployees" edge to the AIEmployee entity by ids. func (m *AdminMutation) AddAiemployeeIDs(ids ...uuid.UUID) { if m.aiemployees == nil { m.aiemployees = make(map[uuid.UUID]struct{}) } for i := range ids { m.aiemployees[ids[i]] = struct{}{} } } // ClearAiemployees clears the "aiemployees" edge to the AIEmployee entity. func (m *AdminMutation) ClearAiemployees() { m.clearedaiemployees = true } // AiemployeesCleared reports if the "aiemployees" edge to the AIEmployee entity was cleared. func (m *AdminMutation) AiemployeesCleared() bool { return m.clearedaiemployees } // RemoveAiemployeeIDs removes the "aiemployees" edge to the AIEmployee entity by IDs. func (m *AdminMutation) RemoveAiemployeeIDs(ids ...uuid.UUID) { if m.removedaiemployees == nil { m.removedaiemployees = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.aiemployees, ids[i]) m.removedaiemployees[ids[i]] = struct{}{} } } // RemovedAiemployees returns the removed IDs of the "aiemployees" edge to the AIEmployee entity. func (m *AdminMutation) RemovedAiemployeesIDs() (ids []uuid.UUID) { for id := range m.removedaiemployees { ids = append(ids, id) } return } // AiemployeesIDs returns the "aiemployees" edge IDs in the mutation. func (m *AdminMutation) AiemployeesIDs() (ids []uuid.UUID) { for id := range m.aiemployees { ids = append(ids, id) } return } // ResetAiemployees resets all changes to the "aiemployees" edge. func (m *AdminMutation) ResetAiemployees() { m.aiemployees = nil m.clearedaiemployees = false m.removedaiemployees = nil } // AddUsergroupIDs adds the "usergroups" edge to the UserGroup entity by ids. func (m *AdminMutation) AddUsergroupIDs(ids ...uuid.UUID) { if m.usergroups == nil { m.usergroups = make(map[uuid.UUID]struct{}) } for i := range ids { m.usergroups[ids[i]] = struct{}{} } } // ClearUsergroups clears the "usergroups" edge to the UserGroup entity. func (m *AdminMutation) ClearUsergroups() { m.clearedusergroups = true } // UsergroupsCleared reports if the "usergroups" edge to the UserGroup entity was cleared. func (m *AdminMutation) UsergroupsCleared() bool { return m.clearedusergroups } // RemoveUsergroupIDs removes the "usergroups" edge to the UserGroup entity by IDs. func (m *AdminMutation) RemoveUsergroupIDs(ids ...uuid.UUID) { if m.removedusergroups == nil { m.removedusergroups = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.usergroups, ids[i]) m.removedusergroups[ids[i]] = struct{}{} } } // RemovedUsergroups returns the removed IDs of the "usergroups" edge to the UserGroup entity. func (m *AdminMutation) RemovedUsergroupsIDs() (ids []uuid.UUID) { for id := range m.removedusergroups { ids = append(ids, id) } return } // UsergroupsIDs returns the "usergroups" edge IDs in the mutation. func (m *AdminMutation) UsergroupsIDs() (ids []uuid.UUID) { for id := range m.usergroups { ids = append(ids, id) } return } // ResetUsergroups resets all changes to the "usergroups" edge. func (m *AdminMutation) ResetUsergroups() { m.usergroups = nil m.clearedusergroups = false m.removedusergroups = nil } // AddRoleIDs adds the "roles" edge to the Role entity by ids. func (m *AdminMutation) 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 *AdminMutation) ClearRoles() { m.clearedroles = true } // RolesCleared reports if the "roles" edge to the Role entity was cleared. func (m *AdminMutation) RolesCleared() bool { return m.clearedroles } // RemoveRoleIDs removes the "roles" edge to the Role entity by IDs. func (m *AdminMutation) 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 *AdminMutation) RemovedRolesIDs() (ids []int64) { for id := range m.removedroles { ids = append(ids, id) } return } // RolesIDs returns the "roles" edge IDs in the mutation. func (m *AdminMutation) RolesIDs() (ids []int64) { for id := range m.roles { ids = append(ids, id) } return } // ResetRoles resets all changes to the "roles" edge. func (m *AdminMutation) ResetRoles() { m.roles = nil m.clearedroles = false m.removedroles = nil } // AddUserGroupAdminIDs adds the "user_group_admins" edge to the UserGroupAdmin entity by ids. func (m *AdminMutation) AddUserGroupAdminIDs(ids ...uuid.UUID) { if m.user_group_admins == nil { m.user_group_admins = make(map[uuid.UUID]struct{}) } for i := range ids { m.user_group_admins[ids[i]] = struct{}{} } } // ClearUserGroupAdmins clears the "user_group_admins" edge to the UserGroupAdmin entity. func (m *AdminMutation) ClearUserGroupAdmins() { m.cleareduser_group_admins = true } // UserGroupAdminsCleared reports if the "user_group_admins" edge to the UserGroupAdmin entity was cleared. func (m *AdminMutation) UserGroupAdminsCleared() bool { return m.cleareduser_group_admins } // RemoveUserGroupAdminIDs removes the "user_group_admins" edge to the UserGroupAdmin entity by IDs. func (m *AdminMutation) RemoveUserGroupAdminIDs(ids ...uuid.UUID) { if m.removeduser_group_admins == nil { m.removeduser_group_admins = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.user_group_admins, ids[i]) m.removeduser_group_admins[ids[i]] = struct{}{} } } // RemovedUserGroupAdmins returns the removed IDs of the "user_group_admins" edge to the UserGroupAdmin entity. func (m *AdminMutation) RemovedUserGroupAdminsIDs() (ids []uuid.UUID) { for id := range m.removeduser_group_admins { ids = append(ids, id) } return } // UserGroupAdminsIDs returns the "user_group_admins" edge IDs in the mutation. func (m *AdminMutation) UserGroupAdminsIDs() (ids []uuid.UUID) { for id := range m.user_group_admins { ids = append(ids, id) } return } // ResetUserGroupAdmins resets all changes to the "user_group_admins" edge. func (m *AdminMutation) ResetUserGroupAdmins() { m.user_group_admins = nil m.cleareduser_group_admins = false m.removeduser_group_admins = nil } // AddAdminRoleIDs adds the "admin_roles" edge to the AdminRole entity by ids. func (m *AdminMutation) AddAdminRoleIDs(ids ...uuid.UUID) { if m.admin_roles == nil { m.admin_roles = make(map[uuid.UUID]struct{}) } for i := range ids { m.admin_roles[ids[i]] = struct{}{} } } // ClearAdminRoles clears the "admin_roles" edge to the AdminRole entity. func (m *AdminMutation) ClearAdminRoles() { m.clearedadmin_roles = true } // AdminRolesCleared reports if the "admin_roles" edge to the AdminRole entity was cleared. func (m *AdminMutation) AdminRolesCleared() bool { return m.clearedadmin_roles } // RemoveAdminRoleIDs removes the "admin_roles" edge to the AdminRole entity by IDs. func (m *AdminMutation) RemoveAdminRoleIDs(ids ...uuid.UUID) { if m.removedadmin_roles == nil { m.removedadmin_roles = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.admin_roles, ids[i]) m.removedadmin_roles[ids[i]] = struct{}{} } } // RemovedAdminRoles returns the removed IDs of the "admin_roles" edge to the AdminRole entity. func (m *AdminMutation) RemovedAdminRolesIDs() (ids []uuid.UUID) { for id := range m.removedadmin_roles { ids = append(ids, id) } return } // AdminRolesIDs returns the "admin_roles" edge IDs in the mutation. func (m *AdminMutation) AdminRolesIDs() (ids []uuid.UUID) { for id := range m.admin_roles { ids = append(ids, id) } return } // ResetAdminRoles resets all changes to the "admin_roles" edge. func (m *AdminMutation) ResetAdminRoles() { m.admin_roles = nil m.clearedadmin_roles = false m.removedadmin_roles = nil } // Where appends a list predicates to the AdminMutation builder. func (m *AdminMutation) Where(ps ...predicate.Admin) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the AdminMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *AdminMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.Admin, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *AdminMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *AdminMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (Admin). func (m *AdminMutation) Type() string { return m.typ } // Fields returns all fields that were changed during this mutation. Note that in // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *AdminMutation) Fields() []string { fields := make([]string, 0, 6) if m.username != nil { fields = append(fields, admin.FieldUsername) } if m.password != nil { fields = append(fields, admin.FieldPassword) } if m.status != nil { fields = append(fields, admin.FieldStatus) } if m.last_active_at != nil { fields = append(fields, admin.FieldLastActiveAt) } if m.created_at != nil { fields = append(fields, admin.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, admin.FieldUpdatedAt) } return fields } // Field returns the value of a field with the given name. The second boolean // return value indicates that this field was not set, or was not defined in the // schema. func (m *AdminMutation) Field(name string) (ent.Value, bool) { switch name { case admin.FieldUsername: return m.Username() case admin.FieldPassword: return m.Password() case admin.FieldStatus: return m.Status() case admin.FieldLastActiveAt: return m.LastActiveAt() case admin.FieldCreatedAt: return m.CreatedAt() case admin.FieldUpdatedAt: return m.UpdatedAt() } return nil, false } // OldField returns the old value of the field from the database. An error is // returned if the mutation operation is not UpdateOne, or the query to the // database failed. func (m *AdminMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case admin.FieldUsername: return m.OldUsername(ctx) case admin.FieldPassword: return m.OldPassword(ctx) case admin.FieldStatus: return m.OldStatus(ctx) case admin.FieldLastActiveAt: return m.OldLastActiveAt(ctx) case admin.FieldCreatedAt: return m.OldCreatedAt(ctx) case admin.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown Admin field %s", name) } // SetField sets the value of a field with the given name. It returns an error if // the field is not defined in the schema, or if the type mismatched the field // type. func (m *AdminMutation) SetField(name string, value ent.Value) error { switch name { case admin.FieldUsername: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUsername(v) return nil case admin.FieldPassword: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPassword(v) return nil case admin.FieldStatus: v, ok := value.(consts.AdminStatus) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case admin.FieldLastActiveAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetLastActiveAt(v) return nil case admin.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 admin.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown Admin field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *AdminMutation) AddedFields() []string { return nil } // AddedField returns the numeric value that was incremented/decremented on a field // with the given name. The second boolean return value indicates that this field // was not set, or was not defined in the schema. func (m *AdminMutation) AddedField(name string) (ent.Value, bool) { return nil, false } // AddField adds the value to the field with the given name. It returns an error if // the field is not defined in the schema, or if the type mismatched the field // type. func (m *AdminMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown Admin numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *AdminMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *AdminMutation) FieldCleared(name string) bool { _, ok := m.clearedFields[name] return ok } // ClearField clears the value of the field with the given name. It returns an // error if the field is not defined in the schema. func (m *AdminMutation) ClearField(name string) error { return fmt.Errorf("unknown Admin nullable field %s", name) } // ResetField resets all changes in the mutation for the field with the given name. // It returns an error if the field is not defined in the schema. func (m *AdminMutation) ResetField(name string) error { switch name { case admin.FieldUsername: m.ResetUsername() return nil case admin.FieldPassword: m.ResetPassword() return nil case admin.FieldStatus: m.ResetStatus() return nil case admin.FieldLastActiveAt: m.ResetLastActiveAt() return nil case admin.FieldCreatedAt: m.ResetCreatedAt() return nil case admin.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown Admin field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *AdminMutation) AddedEdges() []string { edges := make([]string, 0, 7) if m.login_histories != nil { edges = append(edges, admin.EdgeLoginHistories) } if m.myusergroups != nil { edges = append(edges, admin.EdgeMyusergroups) } if m.aiemployees != nil { edges = append(edges, admin.EdgeAiemployees) } if m.usergroups != nil { edges = append(edges, admin.EdgeUsergroups) } if m.roles != nil { edges = append(edges, admin.EdgeRoles) } if m.user_group_admins != nil { edges = append(edges, admin.EdgeUserGroupAdmins) } if m.admin_roles != nil { edges = append(edges, admin.EdgeAdminRoles) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *AdminMutation) AddedIDs(name string) []ent.Value { switch name { case admin.EdgeLoginHistories: ids := make([]ent.Value, 0, len(m.login_histories)) for id := range m.login_histories { ids = append(ids, id) } return ids case admin.EdgeMyusergroups: ids := make([]ent.Value, 0, len(m.myusergroups)) for id := range m.myusergroups { ids = append(ids, id) } return ids case admin.EdgeAiemployees: ids := make([]ent.Value, 0, len(m.aiemployees)) for id := range m.aiemployees { ids = append(ids, id) } return ids case admin.EdgeUsergroups: ids := make([]ent.Value, 0, len(m.usergroups)) for id := range m.usergroups { ids = append(ids, id) } return ids case admin.EdgeRoles: ids := make([]ent.Value, 0, len(m.roles)) for id := range m.roles { ids = append(ids, id) } return ids case admin.EdgeUserGroupAdmins: ids := make([]ent.Value, 0, len(m.user_group_admins)) for id := range m.user_group_admins { ids = append(ids, id) } return ids case admin.EdgeAdminRoles: ids := make([]ent.Value, 0, len(m.admin_roles)) for id := range m.admin_roles { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *AdminMutation) RemovedEdges() []string { edges := make([]string, 0, 7) if m.removedlogin_histories != nil { edges = append(edges, admin.EdgeLoginHistories) } if m.removedmyusergroups != nil { edges = append(edges, admin.EdgeMyusergroups) } if m.removedaiemployees != nil { edges = append(edges, admin.EdgeAiemployees) } if m.removedusergroups != nil { edges = append(edges, admin.EdgeUsergroups) } if m.removedroles != nil { edges = append(edges, admin.EdgeRoles) } if m.removeduser_group_admins != nil { edges = append(edges, admin.EdgeUserGroupAdmins) } if m.removedadmin_roles != nil { edges = append(edges, admin.EdgeAdminRoles) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *AdminMutation) RemovedIDs(name string) []ent.Value { switch name { case admin.EdgeLoginHistories: ids := make([]ent.Value, 0, len(m.removedlogin_histories)) for id := range m.removedlogin_histories { ids = append(ids, id) } return ids case admin.EdgeMyusergroups: ids := make([]ent.Value, 0, len(m.removedmyusergroups)) for id := range m.removedmyusergroups { ids = append(ids, id) } return ids case admin.EdgeAiemployees: ids := make([]ent.Value, 0, len(m.removedaiemployees)) for id := range m.removedaiemployees { ids = append(ids, id) } return ids case admin.EdgeUsergroups: ids := make([]ent.Value, 0, len(m.removedusergroups)) for id := range m.removedusergroups { ids = append(ids, id) } return ids case admin.EdgeRoles: ids := make([]ent.Value, 0, len(m.removedroles)) for id := range m.removedroles { ids = append(ids, id) } return ids case admin.EdgeUserGroupAdmins: ids := make([]ent.Value, 0, len(m.removeduser_group_admins)) for id := range m.removeduser_group_admins { ids = append(ids, id) } return ids case admin.EdgeAdminRoles: ids := make([]ent.Value, 0, len(m.removedadmin_roles)) for id := range m.removedadmin_roles { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *AdminMutation) ClearedEdges() []string { edges := make([]string, 0, 7) if m.clearedlogin_histories { edges = append(edges, admin.EdgeLoginHistories) } if m.clearedmyusergroups { edges = append(edges, admin.EdgeMyusergroups) } if m.clearedaiemployees { edges = append(edges, admin.EdgeAiemployees) } if m.clearedusergroups { edges = append(edges, admin.EdgeUsergroups) } if m.clearedroles { edges = append(edges, admin.EdgeRoles) } if m.cleareduser_group_admins { edges = append(edges, admin.EdgeUserGroupAdmins) } if m.clearedadmin_roles { edges = append(edges, admin.EdgeAdminRoles) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *AdminMutation) EdgeCleared(name string) bool { switch name { case admin.EdgeLoginHistories: return m.clearedlogin_histories case admin.EdgeMyusergroups: return m.clearedmyusergroups case admin.EdgeAiemployees: return m.clearedaiemployees case admin.EdgeUsergroups: return m.clearedusergroups case admin.EdgeRoles: return m.clearedroles case admin.EdgeUserGroupAdmins: return m.cleareduser_group_admins case admin.EdgeAdminRoles: return m.clearedadmin_roles } return false } // ClearEdge clears the value of the edge with the given name. It returns an error // if that edge is not defined in the schema. func (m *AdminMutation) ClearEdge(name string) error { switch name { } return fmt.Errorf("unknown Admin unique edge %s", name) } // ResetEdge resets all changes to the edge with the given name in this mutation. // It returns an error if the edge is not defined in the schema. func (m *AdminMutation) ResetEdge(name string) error { switch name { case admin.EdgeLoginHistories: m.ResetLoginHistories() return nil case admin.EdgeMyusergroups: m.ResetMyusergroups() return nil case admin.EdgeAiemployees: m.ResetAiemployees() return nil case admin.EdgeUsergroups: m.ResetUsergroups() return nil case admin.EdgeRoles: m.ResetRoles() return nil case admin.EdgeUserGroupAdmins: m.ResetUserGroupAdmins() return nil case admin.EdgeAdminRoles: m.ResetAdminRoles() return nil } return fmt.Errorf("unknown Admin edge %s", name) } // AdminLoginHistoryMutation represents an operation that mutates the AdminLoginHistory nodes in the graph. type AdminLoginHistoryMutation struct { config op Op typ string id *uuid.UUID ip *string country *string province *string city *string isp *string asn *string client_version *string device *string created_at *time.Time clearedFields map[string]struct{} owner *uuid.UUID clearedowner bool done bool oldValue func(context.Context) (*AdminLoginHistory, error) predicates []predicate.AdminLoginHistory } var _ ent.Mutation = (*AdminLoginHistoryMutation)(nil) // adminloginhistoryOption allows management of the mutation configuration using functional options. type adminloginhistoryOption func(*AdminLoginHistoryMutation) // newAdminLoginHistoryMutation creates new mutation for the AdminLoginHistory entity. func newAdminLoginHistoryMutation(c config, op Op, opts ...adminloginhistoryOption) *AdminLoginHistoryMutation { m := &AdminLoginHistoryMutation{ config: c, op: op, typ: TypeAdminLoginHistory, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withAdminLoginHistoryID sets the ID field of the mutation. func withAdminLoginHistoryID(id uuid.UUID) adminloginhistoryOption { return func(m *AdminLoginHistoryMutation) { var ( err error once sync.Once value *AdminLoginHistory ) m.oldValue = func(ctx context.Context) (*AdminLoginHistory, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().AdminLoginHistory.Get(ctx, id) } }) return value, err } m.id = &id } } // withAdminLoginHistory sets the old AdminLoginHistory of the mutation. func withAdminLoginHistory(node *AdminLoginHistory) adminloginhistoryOption { return func(m *AdminLoginHistoryMutation) { m.oldValue = func(context.Context) (*AdminLoginHistory, 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 AdminLoginHistoryMutation) 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 AdminLoginHistoryMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 AdminLoginHistory entities. func (m *AdminLoginHistoryMutation) SetID(id uuid.UUID) { 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 *AdminLoginHistoryMutation) ID() (id uuid.UUID, 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 *AdminLoginHistoryMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().AdminLoginHistory.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetAdminID sets the "admin_id" field. func (m *AdminLoginHistoryMutation) SetAdminID(u uuid.UUID) { m.owner = &u } // AdminID returns the value of the "admin_id" field in the mutation. func (m *AdminLoginHistoryMutation) AdminID() (r uuid.UUID, exists bool) { v := m.owner if v == nil { return } return *v, true } // OldAdminID returns the old "admin_id" field's value of the AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) OldAdminID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAdminID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAdminID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAdminID: %w", err) } return oldValue.AdminID, nil } // ClearAdminID clears the value of the "admin_id" field. func (m *AdminLoginHistoryMutation) ClearAdminID() { m.owner = nil m.clearedFields[adminloginhistory.FieldAdminID] = struct{}{} } // AdminIDCleared returns if the "admin_id" field was cleared in this mutation. func (m *AdminLoginHistoryMutation) AdminIDCleared() bool { _, ok := m.clearedFields[adminloginhistory.FieldAdminID] return ok } // ResetAdminID resets all changes to the "admin_id" field. func (m *AdminLoginHistoryMutation) ResetAdminID() { m.owner = nil delete(m.clearedFields, adminloginhistory.FieldAdminID) } // SetIP sets the "ip" field. func (m *AdminLoginHistoryMutation) SetIP(s string) { m.ip = &s } // IP returns the value of the "ip" field in the mutation. func (m *AdminLoginHistoryMutation) IP() (r string, exists bool) { v := m.ip if v == nil { return } return *v, true } // OldIP returns the old "ip" field's value of the AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) OldIP(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIP is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIP requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIP: %w", err) } return oldValue.IP, nil } // ResetIP resets all changes to the "ip" field. func (m *AdminLoginHistoryMutation) ResetIP() { m.ip = nil } // SetCountry sets the "country" field. func (m *AdminLoginHistoryMutation) SetCountry(s string) { m.country = &s } // Country returns the value of the "country" field in the mutation. func (m *AdminLoginHistoryMutation) Country() (r string, exists bool) { v := m.country if v == nil { return } return *v, true } // OldCountry returns the old "country" field's value of the AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) OldCountry(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCountry is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCountry requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCountry: %w", err) } return oldValue.Country, nil } // ResetCountry resets all changes to the "country" field. func (m *AdminLoginHistoryMutation) ResetCountry() { m.country = nil } // SetProvince sets the "province" field. func (m *AdminLoginHistoryMutation) SetProvince(s string) { m.province = &s } // Province returns the value of the "province" field in the mutation. func (m *AdminLoginHistoryMutation) 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 AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) 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 *AdminLoginHistoryMutation) ResetProvince() { m.province = nil } // SetCity sets the "city" field. func (m *AdminLoginHistoryMutation) SetCity(s string) { m.city = &s } // City returns the value of the "city" field in the mutation. func (m *AdminLoginHistoryMutation) 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 AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) 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 } // ResetCity resets all changes to the "city" field. func (m *AdminLoginHistoryMutation) ResetCity() { m.city = nil } // SetIsp sets the "isp" field. func (m *AdminLoginHistoryMutation) SetIsp(s string) { m.isp = &s } // Isp returns the value of the "isp" field in the mutation. func (m *AdminLoginHistoryMutation) Isp() (r string, exists bool) { v := m.isp if v == nil { return } return *v, true } // OldIsp returns the old "isp" field's value of the AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) OldIsp(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIsp is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIsp requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIsp: %w", err) } return oldValue.Isp, nil } // ClearIsp clears the value of the "isp" field. func (m *AdminLoginHistoryMutation) ClearIsp() { m.isp = nil m.clearedFields[adminloginhistory.FieldIsp] = struct{}{} } // IspCleared returns if the "isp" field was cleared in this mutation. func (m *AdminLoginHistoryMutation) IspCleared() bool { _, ok := m.clearedFields[adminloginhistory.FieldIsp] return ok } // ResetIsp resets all changes to the "isp" field. func (m *AdminLoginHistoryMutation) ResetIsp() { m.isp = nil delete(m.clearedFields, adminloginhistory.FieldIsp) } // SetAsn sets the "asn" field. func (m *AdminLoginHistoryMutation) SetAsn(s string) { m.asn = &s } // Asn returns the value of the "asn" field in the mutation. func (m *AdminLoginHistoryMutation) Asn() (r string, exists bool) { v := m.asn if v == nil { return } return *v, true } // OldAsn returns the old "asn" field's value of the AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) OldAsn(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAsn is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAsn requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAsn: %w", err) } return oldValue.Asn, nil } // ClearAsn clears the value of the "asn" field. func (m *AdminLoginHistoryMutation) ClearAsn() { m.asn = nil m.clearedFields[adminloginhistory.FieldAsn] = struct{}{} } // AsnCleared returns if the "asn" field was cleared in this mutation. func (m *AdminLoginHistoryMutation) AsnCleared() bool { _, ok := m.clearedFields[adminloginhistory.FieldAsn] return ok } // ResetAsn resets all changes to the "asn" field. func (m *AdminLoginHistoryMutation) ResetAsn() { m.asn = nil delete(m.clearedFields, adminloginhistory.FieldAsn) } // SetClientVersion sets the "client_version" field. func (m *AdminLoginHistoryMutation) SetClientVersion(s string) { m.client_version = &s } // ClientVersion returns the value of the "client_version" field in the mutation. func (m *AdminLoginHistoryMutation) ClientVersion() (r string, exists bool) { v := m.client_version if v == nil { return } return *v, true } // OldClientVersion returns the old "client_version" field's value of the AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) OldClientVersion(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldClientVersion is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldClientVersion requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldClientVersion: %w", err) } return oldValue.ClientVersion, nil } // ClearClientVersion clears the value of the "client_version" field. func (m *AdminLoginHistoryMutation) ClearClientVersion() { m.client_version = nil m.clearedFields[adminloginhistory.FieldClientVersion] = struct{}{} } // ClientVersionCleared returns if the "client_version" field was cleared in this mutation. func (m *AdminLoginHistoryMutation) ClientVersionCleared() bool { _, ok := m.clearedFields[adminloginhistory.FieldClientVersion] return ok } // ResetClientVersion resets all changes to the "client_version" field. func (m *AdminLoginHistoryMutation) ResetClientVersion() { m.client_version = nil delete(m.clearedFields, adminloginhistory.FieldClientVersion) } // SetDevice sets the "device" field. func (m *AdminLoginHistoryMutation) SetDevice(s string) { m.device = &s } // Device returns the value of the "device" field in the mutation. func (m *AdminLoginHistoryMutation) Device() (r string, exists bool) { v := m.device if v == nil { return } return *v, true } // OldDevice returns the old "device" field's value of the AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) OldDevice(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldDevice is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldDevice requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldDevice: %w", err) } return oldValue.Device, nil } // ClearDevice clears the value of the "device" field. func (m *AdminLoginHistoryMutation) ClearDevice() { m.device = nil m.clearedFields[adminloginhistory.FieldDevice] = struct{}{} } // DeviceCleared returns if the "device" field was cleared in this mutation. func (m *AdminLoginHistoryMutation) DeviceCleared() bool { _, ok := m.clearedFields[adminloginhistory.FieldDevice] return ok } // ResetDevice resets all changes to the "device" field. func (m *AdminLoginHistoryMutation) ResetDevice() { m.device = nil delete(m.clearedFields, adminloginhistory.FieldDevice) } // SetCreatedAt sets the "created_at" field. func (m *AdminLoginHistoryMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *AdminLoginHistoryMutation) 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 AdminLoginHistory entity. // If the AdminLoginHistory 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 *AdminLoginHistoryMutation) 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 *AdminLoginHistoryMutation) ResetCreatedAt() { m.created_at = nil } // SetOwnerID sets the "owner" edge to the Admin entity by id. func (m *AdminLoginHistoryMutation) SetOwnerID(id uuid.UUID) { m.owner = &id } // ClearOwner clears the "owner" edge to the Admin entity. func (m *AdminLoginHistoryMutation) ClearOwner() { m.clearedowner = true m.clearedFields[adminloginhistory.FieldAdminID] = struct{}{} } // OwnerCleared reports if the "owner" edge to the Admin entity was cleared. func (m *AdminLoginHistoryMutation) OwnerCleared() bool { return m.AdminIDCleared() || m.clearedowner } // OwnerID returns the "owner" edge ID in the mutation. func (m *AdminLoginHistoryMutation) OwnerID() (id uuid.UUID, exists bool) { if m.owner != nil { return *m.owner, true } return } // OwnerIDs returns the "owner" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // OwnerID instead. It exists only for internal usage by the builders. func (m *AdminLoginHistoryMutation) OwnerIDs() (ids []uuid.UUID) { if id := m.owner; id != nil { ids = append(ids, *id) } return } // ResetOwner resets all changes to the "owner" edge. func (m *AdminLoginHistoryMutation) ResetOwner() { m.owner = nil m.clearedowner = false } // Where appends a list predicates to the AdminLoginHistoryMutation builder. func (m *AdminLoginHistoryMutation) Where(ps ...predicate.AdminLoginHistory) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the AdminLoginHistoryMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *AdminLoginHistoryMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.AdminLoginHistory, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *AdminLoginHistoryMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *AdminLoginHistoryMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (AdminLoginHistory). func (m *AdminLoginHistoryMutation) 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 *AdminLoginHistoryMutation) Fields() []string { fields := make([]string, 0, 10) if m.owner != nil { fields = append(fields, adminloginhistory.FieldAdminID) } if m.ip != nil { fields = append(fields, adminloginhistory.FieldIP) } if m.country != nil { fields = append(fields, adminloginhistory.FieldCountry) } if m.province != nil { fields = append(fields, adminloginhistory.FieldProvince) } if m.city != nil { fields = append(fields, adminloginhistory.FieldCity) } if m.isp != nil { fields = append(fields, adminloginhistory.FieldIsp) } if m.asn != nil { fields = append(fields, adminloginhistory.FieldAsn) } if m.client_version != nil { fields = append(fields, adminloginhistory.FieldClientVersion) } if m.device != nil { fields = append(fields, adminloginhistory.FieldDevice) } if m.created_at != nil { fields = append(fields, adminloginhistory.FieldCreatedAt) } 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 *AdminLoginHistoryMutation) Field(name string) (ent.Value, bool) { switch name { case adminloginhistory.FieldAdminID: return m.AdminID() case adminloginhistory.FieldIP: return m.IP() case adminloginhistory.FieldCountry: return m.Country() case adminloginhistory.FieldProvince: return m.Province() case adminloginhistory.FieldCity: return m.City() case adminloginhistory.FieldIsp: return m.Isp() case adminloginhistory.FieldAsn: return m.Asn() case adminloginhistory.FieldClientVersion: return m.ClientVersion() case adminloginhistory.FieldDevice: return m.Device() case adminloginhistory.FieldCreatedAt: return m.CreatedAt() } 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 *AdminLoginHistoryMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case adminloginhistory.FieldAdminID: return m.OldAdminID(ctx) case adminloginhistory.FieldIP: return m.OldIP(ctx) case adminloginhistory.FieldCountry: return m.OldCountry(ctx) case adminloginhistory.FieldProvince: return m.OldProvince(ctx) case adminloginhistory.FieldCity: return m.OldCity(ctx) case adminloginhistory.FieldIsp: return m.OldIsp(ctx) case adminloginhistory.FieldAsn: return m.OldAsn(ctx) case adminloginhistory.FieldClientVersion: return m.OldClientVersion(ctx) case adminloginhistory.FieldDevice: return m.OldDevice(ctx) case adminloginhistory.FieldCreatedAt: return m.OldCreatedAt(ctx) } return nil, fmt.Errorf("unknown AdminLoginHistory 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 *AdminLoginHistoryMutation) SetField(name string, value ent.Value) error { switch name { case adminloginhistory.FieldAdminID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAdminID(v) return nil case adminloginhistory.FieldIP: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIP(v) return nil case adminloginhistory.FieldCountry: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCountry(v) return nil case adminloginhistory.FieldProvince: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetProvince(v) return nil case adminloginhistory.FieldCity: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCity(v) return nil case adminloginhistory.FieldIsp: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIsp(v) return nil case adminloginhistory.FieldAsn: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAsn(v) return nil case adminloginhistory.FieldClientVersion: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetClientVersion(v) return nil case adminloginhistory.FieldDevice: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDevice(v) return nil case adminloginhistory.FieldCreatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatedAt(v) return nil } return fmt.Errorf("unknown AdminLoginHistory field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *AdminLoginHistoryMutation) 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 *AdminLoginHistoryMutation) 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 *AdminLoginHistoryMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown AdminLoginHistory numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *AdminLoginHistoryMutation) ClearedFields() []string { var fields []string if m.FieldCleared(adminloginhistory.FieldAdminID) { fields = append(fields, adminloginhistory.FieldAdminID) } if m.FieldCleared(adminloginhistory.FieldIsp) { fields = append(fields, adminloginhistory.FieldIsp) } if m.FieldCleared(adminloginhistory.FieldAsn) { fields = append(fields, adminloginhistory.FieldAsn) } if m.FieldCleared(adminloginhistory.FieldClientVersion) { fields = append(fields, adminloginhistory.FieldClientVersion) } if m.FieldCleared(adminloginhistory.FieldDevice) { fields = append(fields, adminloginhistory.FieldDevice) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *AdminLoginHistoryMutation) 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 *AdminLoginHistoryMutation) ClearField(name string) error { switch name { case adminloginhistory.FieldAdminID: m.ClearAdminID() return nil case adminloginhistory.FieldIsp: m.ClearIsp() return nil case adminloginhistory.FieldAsn: m.ClearAsn() return nil case adminloginhistory.FieldClientVersion: m.ClearClientVersion() return nil case adminloginhistory.FieldDevice: m.ClearDevice() return nil } return fmt.Errorf("unknown AdminLoginHistory 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 *AdminLoginHistoryMutation) ResetField(name string) error { switch name { case adminloginhistory.FieldAdminID: m.ResetAdminID() return nil case adminloginhistory.FieldIP: m.ResetIP() return nil case adminloginhistory.FieldCountry: m.ResetCountry() return nil case adminloginhistory.FieldProvince: m.ResetProvince() return nil case adminloginhistory.FieldCity: m.ResetCity() return nil case adminloginhistory.FieldIsp: m.ResetIsp() return nil case adminloginhistory.FieldAsn: m.ResetAsn() return nil case adminloginhistory.FieldClientVersion: m.ResetClientVersion() return nil case adminloginhistory.FieldDevice: m.ResetDevice() return nil case adminloginhistory.FieldCreatedAt: m.ResetCreatedAt() return nil } return fmt.Errorf("unknown AdminLoginHistory field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *AdminLoginHistoryMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.owner != nil { edges = append(edges, adminloginhistory.EdgeOwner) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *AdminLoginHistoryMutation) AddedIDs(name string) []ent.Value { switch name { case adminloginhistory.EdgeOwner: if id := m.owner; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *AdminLoginHistoryMutation) 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 *AdminLoginHistoryMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *AdminLoginHistoryMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedowner { edges = append(edges, adminloginhistory.EdgeOwner) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *AdminLoginHistoryMutation) EdgeCleared(name string) bool { switch name { case adminloginhistory.EdgeOwner: return m.clearedowner } return false } // ClearEdge clears the value of the edge with the given name. It returns an error // if that edge is not defined in the schema. func (m *AdminLoginHistoryMutation) ClearEdge(name string) error { switch name { case adminloginhistory.EdgeOwner: m.ClearOwner() return nil } return fmt.Errorf("unknown AdminLoginHistory 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 *AdminLoginHistoryMutation) ResetEdge(name string) error { switch name { case adminloginhistory.EdgeOwner: m.ResetOwner() return nil } return fmt.Errorf("unknown AdminLoginHistory edge %s", name) } // AdminRoleMutation represents an operation that mutates the AdminRole nodes in the graph. type AdminRoleMutation struct { config op Op typ string id *uuid.UUID clearedFields map[string]struct{} admin *uuid.UUID clearedadmin bool role *int64 clearedrole bool done bool oldValue func(context.Context) (*AdminRole, error) predicates []predicate.AdminRole } var _ ent.Mutation = (*AdminRoleMutation)(nil) // adminroleOption allows management of the mutation configuration using functional options. type adminroleOption func(*AdminRoleMutation) // newAdminRoleMutation creates new mutation for the AdminRole entity. func newAdminRoleMutation(c config, op Op, opts ...adminroleOption) *AdminRoleMutation { m := &AdminRoleMutation{ config: c, op: op, typ: TypeAdminRole, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withAdminRoleID sets the ID field of the mutation. func withAdminRoleID(id uuid.UUID) adminroleOption { return func(m *AdminRoleMutation) { var ( err error once sync.Once value *AdminRole ) m.oldValue = func(ctx context.Context) (*AdminRole, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().AdminRole.Get(ctx, id) } }) return value, err } m.id = &id } } // withAdminRole sets the old AdminRole of the mutation. func withAdminRole(node *AdminRole) adminroleOption { return func(m *AdminRoleMutation) { m.oldValue = func(context.Context) (*AdminRole, 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 AdminRoleMutation) 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 AdminRoleMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 AdminRole entities. func (m *AdminRoleMutation) SetID(id uuid.UUID) { 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 *AdminRoleMutation) ID() (id uuid.UUID, 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 *AdminRoleMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().AdminRole.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetAdminID sets the "admin_id" field. func (m *AdminRoleMutation) SetAdminID(u uuid.UUID) { m.admin = &u } // AdminID returns the value of the "admin_id" field in the mutation. func (m *AdminRoleMutation) AdminID() (r uuid.UUID, exists bool) { v := m.admin if v == nil { return } return *v, true } // OldAdminID returns the old "admin_id" field's value of the AdminRole entity. // If the AdminRole 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 *AdminRoleMutation) OldAdminID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAdminID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAdminID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAdminID: %w", err) } return oldValue.AdminID, nil } // ResetAdminID resets all changes to the "admin_id" field. func (m *AdminRoleMutation) ResetAdminID() { m.admin = nil } // SetRoleID sets the "role_id" field. func (m *AdminRoleMutation) SetRoleID(i int64) { m.role = &i } // RoleID returns the value of the "role_id" field in the mutation. func (m *AdminRoleMutation) RoleID() (r int64, exists bool) { v := m.role if v == nil { return } return *v, true } // OldRoleID returns the old "role_id" field's value of the AdminRole entity. // If the AdminRole 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 *AdminRoleMutation) OldRoleID(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRoleID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRoleID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRoleID: %w", err) } return oldValue.RoleID, nil } // ResetRoleID resets all changes to the "role_id" field. func (m *AdminRoleMutation) ResetRoleID() { m.role = nil } // ClearAdmin clears the "admin" edge to the Admin entity. func (m *AdminRoleMutation) ClearAdmin() { m.clearedadmin = true m.clearedFields[adminrole.FieldAdminID] = struct{}{} } // AdminCleared reports if the "admin" edge to the Admin entity was cleared. func (m *AdminRoleMutation) AdminCleared() bool { return m.clearedadmin } // AdminIDs returns the "admin" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // AdminID instead. It exists only for internal usage by the builders. func (m *AdminRoleMutation) AdminIDs() (ids []uuid.UUID) { if id := m.admin; id != nil { ids = append(ids, *id) } return } // ResetAdmin resets all changes to the "admin" edge. func (m *AdminRoleMutation) ResetAdmin() { m.admin = nil m.clearedadmin = false } // ClearRole clears the "role" edge to the Role entity. func (m *AdminRoleMutation) ClearRole() { m.clearedrole = true m.clearedFields[adminrole.FieldRoleID] = struct{}{} } // RoleCleared reports if the "role" edge to the Role entity was cleared. func (m *AdminRoleMutation) RoleCleared() bool { return m.clearedrole } // RoleIDs returns the "role" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // RoleID instead. It exists only for internal usage by the builders. func (m *AdminRoleMutation) RoleIDs() (ids []int64) { if id := m.role; id != nil { ids = append(ids, *id) } return } // ResetRole resets all changes to the "role" edge. func (m *AdminRoleMutation) ResetRole() { m.role = nil m.clearedrole = false } // Where appends a list predicates to the AdminRoleMutation builder. func (m *AdminRoleMutation) Where(ps ...predicate.AdminRole) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the AdminRoleMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *AdminRoleMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.AdminRole, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *AdminRoleMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *AdminRoleMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (AdminRole). func (m *AdminRoleMutation) 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 *AdminRoleMutation) Fields() []string { fields := make([]string, 0, 2) if m.admin != nil { fields = append(fields, adminrole.FieldAdminID) } if m.role != nil { fields = append(fields, adminrole.FieldRoleID) } 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 *AdminRoleMutation) Field(name string) (ent.Value, bool) { switch name { case adminrole.FieldAdminID: return m.AdminID() case adminrole.FieldRoleID: return m.RoleID() } 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 *AdminRoleMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case adminrole.FieldAdminID: return m.OldAdminID(ctx) case adminrole.FieldRoleID: return m.OldRoleID(ctx) } return nil, fmt.Errorf("unknown AdminRole 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 *AdminRoleMutation) SetField(name string, value ent.Value) error { switch name { case adminrole.FieldAdminID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAdminID(v) return nil case adminrole.FieldRoleID: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRoleID(v) return nil } return fmt.Errorf("unknown AdminRole field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *AdminRoleMutation) AddedFields() []string { var fields []string 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 *AdminRoleMutation) AddedField(name string) (ent.Value, bool) { switch name { } 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 *AdminRoleMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown AdminRole numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *AdminRoleMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *AdminRoleMutation) 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 *AdminRoleMutation) ClearField(name string) error { return fmt.Errorf("unknown AdminRole 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 *AdminRoleMutation) ResetField(name string) error { switch name { case adminrole.FieldAdminID: m.ResetAdminID() return nil case adminrole.FieldRoleID: m.ResetRoleID() return nil } return fmt.Errorf("unknown AdminRole field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *AdminRoleMutation) AddedEdges() []string { edges := make([]string, 0, 2) if m.admin != nil { edges = append(edges, adminrole.EdgeAdmin) } if m.role != nil { edges = append(edges, adminrole.EdgeRole) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *AdminRoleMutation) AddedIDs(name string) []ent.Value { switch name { case adminrole.EdgeAdmin: if id := m.admin; id != nil { return []ent.Value{*id} } case adminrole.EdgeRole: if id := m.role; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *AdminRoleMutation) RemovedEdges() []string { edges := make([]string, 0, 2) return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *AdminRoleMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *AdminRoleMutation) ClearedEdges() []string { edges := make([]string, 0, 2) if m.clearedadmin { edges = append(edges, adminrole.EdgeAdmin) } if m.clearedrole { edges = append(edges, adminrole.EdgeRole) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *AdminRoleMutation) EdgeCleared(name string) bool { switch name { case adminrole.EdgeAdmin: return m.clearedadmin case adminrole.EdgeRole: return m.clearedrole } 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 *AdminRoleMutation) ClearEdge(name string) error { switch name { case adminrole.EdgeAdmin: m.ClearAdmin() return nil case adminrole.EdgeRole: m.ClearRole() return nil } return fmt.Errorf("unknown AdminRole 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 *AdminRoleMutation) ResetEdge(name string) error { switch name { case adminrole.EdgeAdmin: m.ResetAdmin() return nil case adminrole.EdgeRole: m.ResetRole() return nil } return fmt.Errorf("unknown AdminRole edge %s", name) } // ApiKeyMutation represents an operation that mutates the ApiKey nodes in the graph. type ApiKeyMutation struct { config op Op typ string id *uuid.UUID key *string name *string status *consts.ApiKeyStatus last_used *time.Time created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} user *uuid.UUID cleareduser bool done bool oldValue func(context.Context) (*ApiKey, error) predicates []predicate.ApiKey } var _ ent.Mutation = (*ApiKeyMutation)(nil) // apikeyOption allows management of the mutation configuration using functional options. type apikeyOption func(*ApiKeyMutation) // newApiKeyMutation creates new mutation for the ApiKey entity. func newApiKeyMutation(c config, op Op, opts ...apikeyOption) *ApiKeyMutation { m := &ApiKeyMutation{ config: c, op: op, typ: TypeApiKey, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withApiKeyID sets the ID field of the mutation. func withApiKeyID(id uuid.UUID) apikeyOption { return func(m *ApiKeyMutation) { var ( err error once sync.Once value *ApiKey ) m.oldValue = func(ctx context.Context) (*ApiKey, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().ApiKey.Get(ctx, id) } }) return value, err } m.id = &id } } // withApiKey sets the old ApiKey of the mutation. func withApiKey(node *ApiKey) apikeyOption { return func(m *ApiKeyMutation) { m.oldValue = func(context.Context) (*ApiKey, 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 ApiKeyMutation) 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 ApiKeyMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 ApiKey entities. func (m *ApiKeyMutation) SetID(id uuid.UUID) { 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 *ApiKeyMutation) ID() (id uuid.UUID, 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 *ApiKeyMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().ApiKey.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUserID sets the "user_id" field. func (m *ApiKeyMutation) SetUserID(u uuid.UUID) { m.user = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *ApiKeyMutation) UserID() (r uuid.UUID, exists bool) { v := m.user if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the ApiKey entity. // If the ApiKey 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 *ApiKeyMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 *ApiKeyMutation) ResetUserID() { m.user = nil } // SetKey sets the "key" field. func (m *ApiKeyMutation) SetKey(s string) { m.key = &s } // Key returns the value of the "key" field in the mutation. func (m *ApiKeyMutation) 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 ApiKey entity. // If the ApiKey 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 *ApiKeyMutation) 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 *ApiKeyMutation) ResetKey() { m.key = nil } // SetName sets the "name" field. func (m *ApiKeyMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *ApiKeyMutation) 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 ApiKey entity. // If the ApiKey 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 *ApiKeyMutation) 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 *ApiKeyMutation) ResetName() { m.name = nil } // SetStatus sets the "status" field. func (m *ApiKeyMutation) SetStatus(cks consts.ApiKeyStatus) { m.status = &cks } // Status returns the value of the "status" field in the mutation. func (m *ApiKeyMutation) Status() (r consts.ApiKeyStatus, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the ApiKey entity. // If the ApiKey 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 *ApiKeyMutation) OldStatus(ctx context.Context) (v consts.ApiKeyStatus, 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 *ApiKeyMutation) ResetStatus() { m.status = nil } // SetLastUsed sets the "last_used" field. func (m *ApiKeyMutation) SetLastUsed(t time.Time) { m.last_used = &t } // LastUsed returns the value of the "last_used" field in the mutation. func (m *ApiKeyMutation) LastUsed() (r time.Time, exists bool) { v := m.last_used if v == nil { return } return *v, true } // OldLastUsed returns the old "last_used" field's value of the ApiKey entity. // If the ApiKey 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 *ApiKeyMutation) OldLastUsed(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldLastUsed is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldLastUsed requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldLastUsed: %w", err) } return oldValue.LastUsed, nil } // ClearLastUsed clears the value of the "last_used" field. func (m *ApiKeyMutation) ClearLastUsed() { m.last_used = nil m.clearedFields[apikey.FieldLastUsed] = struct{}{} } // LastUsedCleared returns if the "last_used" field was cleared in this mutation. func (m *ApiKeyMutation) LastUsedCleared() bool { _, ok := m.clearedFields[apikey.FieldLastUsed] return ok } // ResetLastUsed resets all changes to the "last_used" field. func (m *ApiKeyMutation) ResetLastUsed() { m.last_used = nil delete(m.clearedFields, apikey.FieldLastUsed) } // SetCreatedAt sets the "created_at" field. func (m *ApiKeyMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *ApiKeyMutation) 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 ApiKey entity. // If the ApiKey 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 *ApiKeyMutation) 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 *ApiKeyMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *ApiKeyMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *ApiKeyMutation) 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 ApiKey entity. // If the ApiKey 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 *ApiKeyMutation) 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 *ApiKeyMutation) ResetUpdatedAt() { m.updated_at = nil } // ClearUser clears the "user" edge to the User entity. func (m *ApiKeyMutation) ClearUser() { m.cleareduser = true m.clearedFields[apikey.FieldUserID] = struct{}{} } // UserCleared reports if the "user" edge to the User entity was cleared. func (m *ApiKeyMutation) 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 *ApiKeyMutation) UserIDs() (ids []uuid.UUID) { if id := m.user; id != nil { ids = append(ids, *id) } return } // ResetUser resets all changes to the "user" edge. func (m *ApiKeyMutation) ResetUser() { m.user = nil m.cleareduser = false } // Where appends a list predicates to the ApiKeyMutation builder. func (m *ApiKeyMutation) Where(ps ...predicate.ApiKey) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the ApiKeyMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *ApiKeyMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.ApiKey, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *ApiKeyMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *ApiKeyMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (ApiKey). func (m *ApiKeyMutation) 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 *ApiKeyMutation) Fields() []string { fields := make([]string, 0, 7) if m.user != nil { fields = append(fields, apikey.FieldUserID) } if m.key != nil { fields = append(fields, apikey.FieldKey) } if m.name != nil { fields = append(fields, apikey.FieldName) } if m.status != nil { fields = append(fields, apikey.FieldStatus) } if m.last_used != nil { fields = append(fields, apikey.FieldLastUsed) } if m.created_at != nil { fields = append(fields, apikey.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, apikey.FieldUpdatedAt) } 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 *ApiKeyMutation) Field(name string) (ent.Value, bool) { switch name { case apikey.FieldUserID: return m.UserID() case apikey.FieldKey: return m.Key() case apikey.FieldName: return m.Name() case apikey.FieldStatus: return m.Status() case apikey.FieldLastUsed: return m.LastUsed() case apikey.FieldCreatedAt: return m.CreatedAt() case apikey.FieldUpdatedAt: return m.UpdatedAt() } 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 *ApiKeyMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case apikey.FieldUserID: return m.OldUserID(ctx) case apikey.FieldKey: return m.OldKey(ctx) case apikey.FieldName: return m.OldName(ctx) case apikey.FieldStatus: return m.OldStatus(ctx) case apikey.FieldLastUsed: return m.OldLastUsed(ctx) case apikey.FieldCreatedAt: return m.OldCreatedAt(ctx) case apikey.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown ApiKey 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 *ApiKeyMutation) SetField(name string, value ent.Value) error { switch name { case apikey.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case apikey.FieldKey: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetKey(v) return nil case apikey.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case apikey.FieldStatus: v, ok := value.(consts.ApiKeyStatus) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case apikey.FieldLastUsed: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetLastUsed(v) return nil case apikey.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 apikey.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown ApiKey field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *ApiKeyMutation) 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 *ApiKeyMutation) 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 *ApiKeyMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown ApiKey numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *ApiKeyMutation) ClearedFields() []string { var fields []string if m.FieldCleared(apikey.FieldLastUsed) { fields = append(fields, apikey.FieldLastUsed) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *ApiKeyMutation) 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 *ApiKeyMutation) ClearField(name string) error { switch name { case apikey.FieldLastUsed: m.ClearLastUsed() return nil } return fmt.Errorf("unknown ApiKey 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 *ApiKeyMutation) ResetField(name string) error { switch name { case apikey.FieldUserID: m.ResetUserID() return nil case apikey.FieldKey: m.ResetKey() return nil case apikey.FieldName: m.ResetName() return nil case apikey.FieldStatus: m.ResetStatus() return nil case apikey.FieldLastUsed: m.ResetLastUsed() return nil case apikey.FieldCreatedAt: m.ResetCreatedAt() return nil case apikey.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown ApiKey field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *ApiKeyMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.user != nil { edges = append(edges, apikey.EdgeUser) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *ApiKeyMutation) AddedIDs(name string) []ent.Value { switch name { case apikey.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 *ApiKeyMutation) 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 *ApiKeyMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *ApiKeyMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.cleareduser { edges = append(edges, apikey.EdgeUser) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *ApiKeyMutation) EdgeCleared(name string) bool { switch name { case apikey.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 *ApiKeyMutation) ClearEdge(name string) error { switch name { case apikey.EdgeUser: m.ClearUser() return nil } return fmt.Errorf("unknown ApiKey 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 *ApiKeyMutation) ResetEdge(name string) error { switch name { case apikey.EdgeUser: m.ResetUser() return nil } return fmt.Errorf("unknown ApiKey edge %s", name) } // BillingPlanMutation represents an operation that mutates the BillingPlan nodes in the graph. type BillingPlanMutation struct { config op Op typ string id *string name *string description *string rules *map[string]interface{} created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*BillingPlan, error) predicates []predicate.BillingPlan } var _ ent.Mutation = (*BillingPlanMutation)(nil) // billingplanOption allows management of the mutation configuration using functional options. type billingplanOption func(*BillingPlanMutation) // newBillingPlanMutation creates new mutation for the BillingPlan entity. func newBillingPlanMutation(c config, op Op, opts ...billingplanOption) *BillingPlanMutation { m := &BillingPlanMutation{ config: c, op: op, typ: TypeBillingPlan, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withBillingPlanID sets the ID field of the mutation. func withBillingPlanID(id string) billingplanOption { return func(m *BillingPlanMutation) { var ( err error once sync.Once value *BillingPlan ) m.oldValue = func(ctx context.Context) (*BillingPlan, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().BillingPlan.Get(ctx, id) } }) return value, err } m.id = &id } } // withBillingPlan sets the old BillingPlan of the mutation. func withBillingPlan(node *BillingPlan) billingplanOption { return func(m *BillingPlanMutation) { m.oldValue = func(context.Context) (*BillingPlan, 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 BillingPlanMutation) 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 BillingPlanMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 BillingPlan entities. func (m *BillingPlanMutation) SetID(id string) { 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 *BillingPlanMutation) ID() (id string, 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 *BillingPlanMutation) IDs(ctx context.Context) ([]string, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []string{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().BillingPlan.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetName sets the "name" field. func (m *BillingPlanMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *BillingPlanMutation) 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 BillingPlan entity. // If the BillingPlan 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 *BillingPlanMutation) 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 *BillingPlanMutation) ResetName() { m.name = nil } // SetDescription sets the "description" field. func (m *BillingPlanMutation) SetDescription(s string) { m.description = &s } // Description returns the value of the "description" field in the mutation. func (m *BillingPlanMutation) 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 BillingPlan entity. // If the BillingPlan 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 *BillingPlanMutation) 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 *BillingPlanMutation) ResetDescription() { m.description = nil } // SetRules sets the "rules" field. func (m *BillingPlanMutation) SetRules(value map[string]interface{}) { m.rules = &value } // Rules returns the value of the "rules" field in the mutation. func (m *BillingPlanMutation) Rules() (r map[string]interface{}, exists bool) { v := m.rules if v == nil { return } return *v, true } // OldRules returns the old "rules" field's value of the BillingPlan entity. // If the BillingPlan 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 *BillingPlanMutation) OldRules(ctx context.Context) (v map[string]interface{}, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRules is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRules requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRules: %w", err) } return oldValue.Rules, nil } // ResetRules resets all changes to the "rules" field. func (m *BillingPlanMutation) ResetRules() { m.rules = nil } // SetCreatedAt sets the "created_at" field. func (m *BillingPlanMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *BillingPlanMutation) 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 BillingPlan entity. // If the BillingPlan 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 *BillingPlanMutation) 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 *BillingPlanMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *BillingPlanMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *BillingPlanMutation) 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 BillingPlan entity. // If the BillingPlan 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 *BillingPlanMutation) 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 *BillingPlanMutation) ResetUpdatedAt() { m.updated_at = nil } // Where appends a list predicates to the BillingPlanMutation builder. func (m *BillingPlanMutation) Where(ps ...predicate.BillingPlan) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the BillingPlanMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *BillingPlanMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.BillingPlan, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *BillingPlanMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *BillingPlanMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (BillingPlan). func (m *BillingPlanMutation) 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 *BillingPlanMutation) Fields() []string { fields := make([]string, 0, 5) if m.name != nil { fields = append(fields, billingplan.FieldName) } if m.description != nil { fields = append(fields, billingplan.FieldDescription) } if m.rules != nil { fields = append(fields, billingplan.FieldRules) } if m.created_at != nil { fields = append(fields, billingplan.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, billingplan.FieldUpdatedAt) } 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 *BillingPlanMutation) Field(name string) (ent.Value, bool) { switch name { case billingplan.FieldName: return m.Name() case billingplan.FieldDescription: return m.Description() case billingplan.FieldRules: return m.Rules() case billingplan.FieldCreatedAt: return m.CreatedAt() case billingplan.FieldUpdatedAt: return m.UpdatedAt() } 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 *BillingPlanMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case billingplan.FieldName: return m.OldName(ctx) case billingplan.FieldDescription: return m.OldDescription(ctx) case billingplan.FieldRules: return m.OldRules(ctx) case billingplan.FieldCreatedAt: return m.OldCreatedAt(ctx) case billingplan.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown BillingPlan 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 *BillingPlanMutation) SetField(name string, value ent.Value) error { switch name { case billingplan.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case billingplan.FieldDescription: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDescription(v) return nil case billingplan.FieldRules: v, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRules(v) return nil case billingplan.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 billingplan.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown BillingPlan field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *BillingPlanMutation) 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 *BillingPlanMutation) 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 *BillingPlanMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown BillingPlan numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *BillingPlanMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *BillingPlanMutation) 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 *BillingPlanMutation) ClearField(name string) error { return fmt.Errorf("unknown BillingPlan 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 *BillingPlanMutation) ResetField(name string) error { switch name { case billingplan.FieldName: m.ResetName() return nil case billingplan.FieldDescription: m.ResetDescription() return nil case billingplan.FieldRules: m.ResetRules() return nil case billingplan.FieldCreatedAt: m.ResetCreatedAt() return nil case billingplan.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown BillingPlan field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *BillingPlanMutation) 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 *BillingPlanMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *BillingPlanMutation) 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 *BillingPlanMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *BillingPlanMutation) 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 *BillingPlanMutation) 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 *BillingPlanMutation) ClearEdge(name string) error { return fmt.Errorf("unknown BillingPlan 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 *BillingPlanMutation) ResetEdge(name string) error { return fmt.Errorf("unknown BillingPlan edge %s", name) } // BillingQuotaMutation represents an operation that mutates the BillingQuota nodes in the graph. type BillingQuotaMutation struct { config op Op typ string id *string deleted_at *time.Time user_id *string total *int64 addtotal *int64 used *int64 addused *int64 remain *int64 addremain *int64 created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*BillingQuota, error) predicates []predicate.BillingQuota } var _ ent.Mutation = (*BillingQuotaMutation)(nil) // billingquotaOption allows management of the mutation configuration using functional options. type billingquotaOption func(*BillingQuotaMutation) // newBillingQuotaMutation creates new mutation for the BillingQuota entity. func newBillingQuotaMutation(c config, op Op, opts ...billingquotaOption) *BillingQuotaMutation { m := &BillingQuotaMutation{ config: c, op: op, typ: TypeBillingQuota, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withBillingQuotaID sets the ID field of the mutation. func withBillingQuotaID(id string) billingquotaOption { return func(m *BillingQuotaMutation) { var ( err error once sync.Once value *BillingQuota ) m.oldValue = func(ctx context.Context) (*BillingQuota, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().BillingQuota.Get(ctx, id) } }) return value, err } m.id = &id } } // withBillingQuota sets the old BillingQuota of the mutation. func withBillingQuota(node *BillingQuota) billingquotaOption { return func(m *BillingQuotaMutation) { m.oldValue = func(context.Context) (*BillingQuota, 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 BillingQuotaMutation) 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 BillingQuotaMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 BillingQuota entities. func (m *BillingQuotaMutation) SetID(id string) { 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 *BillingQuotaMutation) ID() (id string, 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 *BillingQuotaMutation) IDs(ctx context.Context) ([]string, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []string{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().BillingQuota.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetDeletedAt sets the "deleted_at" field. func (m *BillingQuotaMutation) SetDeletedAt(t time.Time) { m.deleted_at = &t } // DeletedAt returns the value of the "deleted_at" field in the mutation. func (m *BillingQuotaMutation) 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 BillingQuota entity. // If the BillingQuota 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 *BillingQuotaMutation) 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 *BillingQuotaMutation) ClearDeletedAt() { m.deleted_at = nil m.clearedFields[billingquota.FieldDeletedAt] = struct{}{} } // DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation. func (m *BillingQuotaMutation) DeletedAtCleared() bool { _, ok := m.clearedFields[billingquota.FieldDeletedAt] return ok } // ResetDeletedAt resets all changes to the "deleted_at" field. func (m *BillingQuotaMutation) ResetDeletedAt() { m.deleted_at = nil delete(m.clearedFields, billingquota.FieldDeletedAt) } // SetUserID sets the "user_id" field. func (m *BillingQuotaMutation) SetUserID(s string) { m.user_id = &s } // UserID returns the value of the "user_id" field in the mutation. func (m *BillingQuotaMutation) UserID() (r string, exists bool) { v := m.user_id if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the BillingQuota entity. // If the BillingQuota 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 *BillingQuotaMutation) OldUserID(ctx context.Context) (v string, 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 *BillingQuotaMutation) ResetUserID() { m.user_id = nil } // SetTotal sets the "total" field. func (m *BillingQuotaMutation) SetTotal(i int64) { m.total = &i m.addtotal = nil } // Total returns the value of the "total" field in the mutation. func (m *BillingQuotaMutation) Total() (r int64, exists bool) { v := m.total if v == nil { return } return *v, true } // OldTotal returns the old "total" field's value of the BillingQuota entity. // If the BillingQuota 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 *BillingQuotaMutation) OldTotal(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldTotal is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldTotal requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldTotal: %w", err) } return oldValue.Total, nil } // AddTotal adds i to the "total" field. func (m *BillingQuotaMutation) AddTotal(i int64) { if m.addtotal != nil { *m.addtotal += i } else { m.addtotal = &i } } // AddedTotal returns the value that was added to the "total" field in this mutation. func (m *BillingQuotaMutation) AddedTotal() (r int64, exists bool) { v := m.addtotal if v == nil { return } return *v, true } // ResetTotal resets all changes to the "total" field. func (m *BillingQuotaMutation) ResetTotal() { m.total = nil m.addtotal = nil } // SetUsed sets the "used" field. func (m *BillingQuotaMutation) SetUsed(i int64) { m.used = &i m.addused = nil } // Used returns the value of the "used" field in the mutation. func (m *BillingQuotaMutation) Used() (r int64, exists bool) { v := m.used if v == nil { return } return *v, true } // OldUsed returns the old "used" field's value of the BillingQuota entity. // If the BillingQuota 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 *BillingQuotaMutation) OldUsed(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldUsed is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldUsed requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldUsed: %w", err) } return oldValue.Used, nil } // AddUsed adds i to the "used" field. func (m *BillingQuotaMutation) AddUsed(i int64) { if m.addused != nil { *m.addused += i } else { m.addused = &i } } // AddedUsed returns the value that was added to the "used" field in this mutation. func (m *BillingQuotaMutation) AddedUsed() (r int64, exists bool) { v := m.addused if v == nil { return } return *v, true } // ResetUsed resets all changes to the "used" field. func (m *BillingQuotaMutation) ResetUsed() { m.used = nil m.addused = nil } // SetRemain sets the "remain" field. func (m *BillingQuotaMutation) SetRemain(i int64) { m.remain = &i m.addremain = nil } // Remain returns the value of the "remain" field in the mutation. func (m *BillingQuotaMutation) Remain() (r int64, exists bool) { v := m.remain if v == nil { return } return *v, true } // OldRemain returns the old "remain" field's value of the BillingQuota entity. // If the BillingQuota 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 *BillingQuotaMutation) OldRemain(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRemain is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRemain requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRemain: %w", err) } return oldValue.Remain, nil } // AddRemain adds i to the "remain" field. func (m *BillingQuotaMutation) AddRemain(i int64) { if m.addremain != nil { *m.addremain += i } else { m.addremain = &i } } // AddedRemain returns the value that was added to the "remain" field in this mutation. func (m *BillingQuotaMutation) AddedRemain() (r int64, exists bool) { v := m.addremain if v == nil { return } return *v, true } // ResetRemain resets all changes to the "remain" field. func (m *BillingQuotaMutation) ResetRemain() { m.remain = nil m.addremain = nil } // SetCreatedAt sets the "created_at" field. func (m *BillingQuotaMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *BillingQuotaMutation) 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 BillingQuota entity. // If the BillingQuota 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 *BillingQuotaMutation) 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 *BillingQuotaMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *BillingQuotaMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *BillingQuotaMutation) 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 BillingQuota entity. // If the BillingQuota 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 *BillingQuotaMutation) 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 *BillingQuotaMutation) ResetUpdatedAt() { m.updated_at = nil } // Where appends a list predicates to the BillingQuotaMutation builder. func (m *BillingQuotaMutation) Where(ps ...predicate.BillingQuota) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the BillingQuotaMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *BillingQuotaMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.BillingQuota, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *BillingQuotaMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *BillingQuotaMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (BillingQuota). func (m *BillingQuotaMutation) 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 *BillingQuotaMutation) Fields() []string { fields := make([]string, 0, 7) if m.deleted_at != nil { fields = append(fields, billingquota.FieldDeletedAt) } if m.user_id != nil { fields = append(fields, billingquota.FieldUserID) } if m.total != nil { fields = append(fields, billingquota.FieldTotal) } if m.used != nil { fields = append(fields, billingquota.FieldUsed) } if m.remain != nil { fields = append(fields, billingquota.FieldRemain) } if m.created_at != nil { fields = append(fields, billingquota.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, billingquota.FieldUpdatedAt) } 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 *BillingQuotaMutation) Field(name string) (ent.Value, bool) { switch name { case billingquota.FieldDeletedAt: return m.DeletedAt() case billingquota.FieldUserID: return m.UserID() case billingquota.FieldTotal: return m.Total() case billingquota.FieldUsed: return m.Used() case billingquota.FieldRemain: return m.Remain() case billingquota.FieldCreatedAt: return m.CreatedAt() case billingquota.FieldUpdatedAt: return m.UpdatedAt() } 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 *BillingQuotaMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case billingquota.FieldDeletedAt: return m.OldDeletedAt(ctx) case billingquota.FieldUserID: return m.OldUserID(ctx) case billingquota.FieldTotal: return m.OldTotal(ctx) case billingquota.FieldUsed: return m.OldUsed(ctx) case billingquota.FieldRemain: return m.OldRemain(ctx) case billingquota.FieldCreatedAt: return m.OldCreatedAt(ctx) case billingquota.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown BillingQuota 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 *BillingQuotaMutation) SetField(name string, value ent.Value) error { switch name { case billingquota.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 billingquota.FieldUserID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case billingquota.FieldTotal: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetTotal(v) return nil case billingquota.FieldUsed: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUsed(v) return nil case billingquota.FieldRemain: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRemain(v) return nil case billingquota.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 billingquota.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown BillingQuota field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *BillingQuotaMutation) AddedFields() []string { var fields []string if m.addtotal != nil { fields = append(fields, billingquota.FieldTotal) } if m.addused != nil { fields = append(fields, billingquota.FieldUsed) } if m.addremain != nil { fields = append(fields, billingquota.FieldRemain) } 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 *BillingQuotaMutation) AddedField(name string) (ent.Value, bool) { switch name { case billingquota.FieldTotal: return m.AddedTotal() case billingquota.FieldUsed: return m.AddedUsed() case billingquota.FieldRemain: return m.AddedRemain() } 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 *BillingQuotaMutation) AddField(name string, value ent.Value) error { switch name { case billingquota.FieldTotal: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddTotal(v) return nil case billingquota.FieldUsed: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddUsed(v) return nil case billingquota.FieldRemain: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddRemain(v) return nil } return fmt.Errorf("unknown BillingQuota numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *BillingQuotaMutation) ClearedFields() []string { var fields []string if m.FieldCleared(billingquota.FieldDeletedAt) { fields = append(fields, billingquota.FieldDeletedAt) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *BillingQuotaMutation) 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 *BillingQuotaMutation) ClearField(name string) error { switch name { case billingquota.FieldDeletedAt: m.ClearDeletedAt() return nil } return fmt.Errorf("unknown BillingQuota 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 *BillingQuotaMutation) ResetField(name string) error { switch name { case billingquota.FieldDeletedAt: m.ResetDeletedAt() return nil case billingquota.FieldUserID: m.ResetUserID() return nil case billingquota.FieldTotal: m.ResetTotal() return nil case billingquota.FieldUsed: m.ResetUsed() return nil case billingquota.FieldRemain: m.ResetRemain() return nil case billingquota.FieldCreatedAt: m.ResetCreatedAt() return nil case billingquota.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown BillingQuota field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *BillingQuotaMutation) 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 *BillingQuotaMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *BillingQuotaMutation) 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 *BillingQuotaMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *BillingQuotaMutation) 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 *BillingQuotaMutation) 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 *BillingQuotaMutation) ClearEdge(name string) error { return fmt.Errorf("unknown BillingQuota 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 *BillingQuotaMutation) ResetEdge(name string) error { return fmt.Errorf("unknown BillingQuota edge %s", name) } // BillingRecordMutation represents an operation that mutates the BillingRecord nodes in the graph. type BillingRecordMutation struct { config op Op typ string id *string tenant_id *string user_id *string model *string operation *string input_tokens *int64 addinput_tokens *int64 output_tokens *int64 addoutput_tokens *int64 cost *int64 addcost *int64 request_time *time.Time metadata *map[string]interface{} created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*BillingRecord, error) predicates []predicate.BillingRecord } var _ ent.Mutation = (*BillingRecordMutation)(nil) // billingrecordOption allows management of the mutation configuration using functional options. type billingrecordOption func(*BillingRecordMutation) // newBillingRecordMutation creates new mutation for the BillingRecord entity. func newBillingRecordMutation(c config, op Op, opts ...billingrecordOption) *BillingRecordMutation { m := &BillingRecordMutation{ config: c, op: op, typ: TypeBillingRecord, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withBillingRecordID sets the ID field of the mutation. func withBillingRecordID(id string) billingrecordOption { return func(m *BillingRecordMutation) { var ( err error once sync.Once value *BillingRecord ) m.oldValue = func(ctx context.Context) (*BillingRecord, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().BillingRecord.Get(ctx, id) } }) return value, err } m.id = &id } } // withBillingRecord sets the old BillingRecord of the mutation. func withBillingRecord(node *BillingRecord) billingrecordOption { return func(m *BillingRecordMutation) { m.oldValue = func(context.Context) (*BillingRecord, 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 BillingRecordMutation) 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 BillingRecordMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 BillingRecord entities. func (m *BillingRecordMutation) SetID(id string) { 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 *BillingRecordMutation) ID() (id string, 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 *BillingRecordMutation) IDs(ctx context.Context) ([]string, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []string{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().BillingRecord.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetTenantID sets the "tenant_id" field. func (m *BillingRecordMutation) SetTenantID(s string) { m.tenant_id = &s } // TenantID returns the value of the "tenant_id" field in the mutation. func (m *BillingRecordMutation) TenantID() (r string, exists bool) { v := m.tenant_id if v == nil { return } return *v, true } // OldTenantID returns the old "tenant_id" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldTenantID(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldTenantID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldTenantID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldTenantID: %w", err) } return oldValue.TenantID, nil } // ResetTenantID resets all changes to the "tenant_id" field. func (m *BillingRecordMutation) ResetTenantID() { m.tenant_id = nil } // SetUserID sets the "user_id" field. func (m *BillingRecordMutation) SetUserID(s string) { m.user_id = &s } // UserID returns the value of the "user_id" field in the mutation. func (m *BillingRecordMutation) UserID() (r string, exists bool) { v := m.user_id if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldUserID(ctx context.Context) (v string, 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 *BillingRecordMutation) ResetUserID() { m.user_id = nil } // SetModel sets the "model" field. func (m *BillingRecordMutation) SetModel(s string) { m.model = &s } // Model returns the value of the "model" field in the mutation. func (m *BillingRecordMutation) Model() (r string, exists bool) { v := m.model if v == nil { return } return *v, true } // OldModel returns the old "model" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldModel(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldModel is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldModel requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldModel: %w", err) } return oldValue.Model, nil } // ResetModel resets all changes to the "model" field. func (m *BillingRecordMutation) ResetModel() { m.model = nil } // SetOperation sets the "operation" field. func (m *BillingRecordMutation) SetOperation(s string) { m.operation = &s } // Operation returns the value of the "operation" field in the mutation. func (m *BillingRecordMutation) Operation() (r string, exists bool) { v := m.operation if v == nil { return } return *v, true } // OldOperation returns the old "operation" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldOperation(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOperation is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOperation requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOperation: %w", err) } return oldValue.Operation, nil } // ResetOperation resets all changes to the "operation" field. func (m *BillingRecordMutation) ResetOperation() { m.operation = nil } // SetInputTokens sets the "input_tokens" field. func (m *BillingRecordMutation) SetInputTokens(i int64) { m.input_tokens = &i m.addinput_tokens = nil } // InputTokens returns the value of the "input_tokens" field in the mutation. func (m *BillingRecordMutation) InputTokens() (r int64, exists bool) { v := m.input_tokens if v == nil { return } return *v, true } // OldInputTokens returns the old "input_tokens" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldInputTokens(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldInputTokens is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldInputTokens requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldInputTokens: %w", err) } return oldValue.InputTokens, nil } // AddInputTokens adds i to the "input_tokens" field. func (m *BillingRecordMutation) AddInputTokens(i int64) { if m.addinput_tokens != nil { *m.addinput_tokens += i } else { m.addinput_tokens = &i } } // AddedInputTokens returns the value that was added to the "input_tokens" field in this mutation. func (m *BillingRecordMutation) AddedInputTokens() (r int64, exists bool) { v := m.addinput_tokens if v == nil { return } return *v, true } // ResetInputTokens resets all changes to the "input_tokens" field. func (m *BillingRecordMutation) ResetInputTokens() { m.input_tokens = nil m.addinput_tokens = nil } // SetOutputTokens sets the "output_tokens" field. func (m *BillingRecordMutation) SetOutputTokens(i int64) { m.output_tokens = &i m.addoutput_tokens = nil } // OutputTokens returns the value of the "output_tokens" field in the mutation. func (m *BillingRecordMutation) OutputTokens() (r int64, exists bool) { v := m.output_tokens if v == nil { return } return *v, true } // OldOutputTokens returns the old "output_tokens" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldOutputTokens(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOutputTokens is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOutputTokens requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOutputTokens: %w", err) } return oldValue.OutputTokens, nil } // AddOutputTokens adds i to the "output_tokens" field. func (m *BillingRecordMutation) AddOutputTokens(i int64) { if m.addoutput_tokens != nil { *m.addoutput_tokens += i } else { m.addoutput_tokens = &i } } // AddedOutputTokens returns the value that was added to the "output_tokens" field in this mutation. func (m *BillingRecordMutation) AddedOutputTokens() (r int64, exists bool) { v := m.addoutput_tokens if v == nil { return } return *v, true } // ResetOutputTokens resets all changes to the "output_tokens" field. func (m *BillingRecordMutation) ResetOutputTokens() { m.output_tokens = nil m.addoutput_tokens = nil } // SetCost sets the "cost" field. func (m *BillingRecordMutation) SetCost(i int64) { m.cost = &i m.addcost = nil } // Cost returns the value of the "cost" field in the mutation. func (m *BillingRecordMutation) Cost() (r int64, exists bool) { v := m.cost if v == nil { return } return *v, true } // OldCost returns the old "cost" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldCost(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCost is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCost requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCost: %w", err) } return oldValue.Cost, nil } // AddCost adds i to the "cost" field. func (m *BillingRecordMutation) AddCost(i int64) { if m.addcost != nil { *m.addcost += i } else { m.addcost = &i } } // AddedCost returns the value that was added to the "cost" field in this mutation. func (m *BillingRecordMutation) AddedCost() (r int64, exists bool) { v := m.addcost if v == nil { return } return *v, true } // ResetCost resets all changes to the "cost" field. func (m *BillingRecordMutation) ResetCost() { m.cost = nil m.addcost = nil } // SetRequestTime sets the "request_time" field. func (m *BillingRecordMutation) SetRequestTime(t time.Time) { m.request_time = &t } // RequestTime returns the value of the "request_time" field in the mutation. func (m *BillingRecordMutation) RequestTime() (r time.Time, exists bool) { v := m.request_time if v == nil { return } return *v, true } // OldRequestTime returns the old "request_time" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldRequestTime(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRequestTime is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRequestTime requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRequestTime: %w", err) } return oldValue.RequestTime, nil } // ResetRequestTime resets all changes to the "request_time" field. func (m *BillingRecordMutation) ResetRequestTime() { m.request_time = nil } // SetMetadata sets the "metadata" field. func (m *BillingRecordMutation) SetMetadata(value map[string]interface{}) { m.metadata = &value } // Metadata returns the value of the "metadata" field in the mutation. func (m *BillingRecordMutation) Metadata() (r map[string]interface{}, exists bool) { v := m.metadata if v == nil { return } return *v, true } // OldMetadata returns the old "metadata" field's value of the BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) OldMetadata(ctx context.Context) (v map[string]interface{}, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldMetadata is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldMetadata requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldMetadata: %w", err) } return oldValue.Metadata, nil } // ResetMetadata resets all changes to the "metadata" field. func (m *BillingRecordMutation) ResetMetadata() { m.metadata = nil } // SetCreatedAt sets the "created_at" field. func (m *BillingRecordMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *BillingRecordMutation) 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 BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) 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 *BillingRecordMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *BillingRecordMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *BillingRecordMutation) 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 BillingRecord entity. // If the BillingRecord 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 *BillingRecordMutation) 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 *BillingRecordMutation) ResetUpdatedAt() { m.updated_at = nil } // Where appends a list predicates to the BillingRecordMutation builder. func (m *BillingRecordMutation) Where(ps ...predicate.BillingRecord) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the BillingRecordMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *BillingRecordMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.BillingRecord, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *BillingRecordMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *BillingRecordMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (BillingRecord). func (m *BillingRecordMutation) 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 *BillingRecordMutation) Fields() []string { fields := make([]string, 0, 11) if m.tenant_id != nil { fields = append(fields, billingrecord.FieldTenantID) } if m.user_id != nil { fields = append(fields, billingrecord.FieldUserID) } if m.model != nil { fields = append(fields, billingrecord.FieldModel) } if m.operation != nil { fields = append(fields, billingrecord.FieldOperation) } if m.input_tokens != nil { fields = append(fields, billingrecord.FieldInputTokens) } if m.output_tokens != nil { fields = append(fields, billingrecord.FieldOutputTokens) } if m.cost != nil { fields = append(fields, billingrecord.FieldCost) } if m.request_time != nil { fields = append(fields, billingrecord.FieldRequestTime) } if m.metadata != nil { fields = append(fields, billingrecord.FieldMetadata) } if m.created_at != nil { fields = append(fields, billingrecord.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, billingrecord.FieldUpdatedAt) } 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 *BillingRecordMutation) Field(name string) (ent.Value, bool) { switch name { case billingrecord.FieldTenantID: return m.TenantID() case billingrecord.FieldUserID: return m.UserID() case billingrecord.FieldModel: return m.Model() case billingrecord.FieldOperation: return m.Operation() case billingrecord.FieldInputTokens: return m.InputTokens() case billingrecord.FieldOutputTokens: return m.OutputTokens() case billingrecord.FieldCost: return m.Cost() case billingrecord.FieldRequestTime: return m.RequestTime() case billingrecord.FieldMetadata: return m.Metadata() case billingrecord.FieldCreatedAt: return m.CreatedAt() case billingrecord.FieldUpdatedAt: return m.UpdatedAt() } 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 *BillingRecordMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case billingrecord.FieldTenantID: return m.OldTenantID(ctx) case billingrecord.FieldUserID: return m.OldUserID(ctx) case billingrecord.FieldModel: return m.OldModel(ctx) case billingrecord.FieldOperation: return m.OldOperation(ctx) case billingrecord.FieldInputTokens: return m.OldInputTokens(ctx) case billingrecord.FieldOutputTokens: return m.OldOutputTokens(ctx) case billingrecord.FieldCost: return m.OldCost(ctx) case billingrecord.FieldRequestTime: return m.OldRequestTime(ctx) case billingrecord.FieldMetadata: return m.OldMetadata(ctx) case billingrecord.FieldCreatedAt: return m.OldCreatedAt(ctx) case billingrecord.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown BillingRecord 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 *BillingRecordMutation) SetField(name string, value ent.Value) error { switch name { case billingrecord.FieldTenantID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetTenantID(v) return nil case billingrecord.FieldUserID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case billingrecord.FieldModel: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetModel(v) return nil case billingrecord.FieldOperation: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOperation(v) return nil case billingrecord.FieldInputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetInputTokens(v) return nil case billingrecord.FieldOutputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOutputTokens(v) return nil case billingrecord.FieldCost: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCost(v) return nil case billingrecord.FieldRequestTime: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRequestTime(v) return nil case billingrecord.FieldMetadata: v, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetMetadata(v) return nil case billingrecord.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 billingrecord.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown BillingRecord field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *BillingRecordMutation) AddedFields() []string { var fields []string if m.addinput_tokens != nil { fields = append(fields, billingrecord.FieldInputTokens) } if m.addoutput_tokens != nil { fields = append(fields, billingrecord.FieldOutputTokens) } if m.addcost != nil { fields = append(fields, billingrecord.FieldCost) } 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 *BillingRecordMutation) AddedField(name string) (ent.Value, bool) { switch name { case billingrecord.FieldInputTokens: return m.AddedInputTokens() case billingrecord.FieldOutputTokens: return m.AddedOutputTokens() case billingrecord.FieldCost: return m.AddedCost() } 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 *BillingRecordMutation) AddField(name string, value ent.Value) error { switch name { case billingrecord.FieldInputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddInputTokens(v) return nil case billingrecord.FieldOutputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddOutputTokens(v) return nil case billingrecord.FieldCost: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddCost(v) return nil } return fmt.Errorf("unknown BillingRecord numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *BillingRecordMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *BillingRecordMutation) 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 *BillingRecordMutation) ClearField(name string) error { return fmt.Errorf("unknown BillingRecord 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 *BillingRecordMutation) ResetField(name string) error { switch name { case billingrecord.FieldTenantID: m.ResetTenantID() return nil case billingrecord.FieldUserID: m.ResetUserID() return nil case billingrecord.FieldModel: m.ResetModel() return nil case billingrecord.FieldOperation: m.ResetOperation() return nil case billingrecord.FieldInputTokens: m.ResetInputTokens() return nil case billingrecord.FieldOutputTokens: m.ResetOutputTokens() return nil case billingrecord.FieldCost: m.ResetCost() return nil case billingrecord.FieldRequestTime: m.ResetRequestTime() return nil case billingrecord.FieldMetadata: m.ResetMetadata() return nil case billingrecord.FieldCreatedAt: m.ResetCreatedAt() return nil case billingrecord.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown BillingRecord field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *BillingRecordMutation) 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 *BillingRecordMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *BillingRecordMutation) 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 *BillingRecordMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *BillingRecordMutation) 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 *BillingRecordMutation) 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 *BillingRecordMutation) ClearEdge(name string) error { return fmt.Errorf("unknown BillingRecord 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 *BillingRecordMutation) ResetEdge(name string) error { return fmt.Errorf("unknown BillingRecord edge %s", name) } // BillingUsageMutation represents an operation that mutates the BillingUsage nodes in the graph. type BillingUsageMutation struct { config op Op typ string id *string deleted_at *time.Time user_id *string model_name *string tokens *int64 addtokens *int64 operation *string created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*BillingUsage, error) predicates []predicate.BillingUsage } var _ ent.Mutation = (*BillingUsageMutation)(nil) // billingusageOption allows management of the mutation configuration using functional options. type billingusageOption func(*BillingUsageMutation) // newBillingUsageMutation creates new mutation for the BillingUsage entity. func newBillingUsageMutation(c config, op Op, opts ...billingusageOption) *BillingUsageMutation { m := &BillingUsageMutation{ config: c, op: op, typ: TypeBillingUsage, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withBillingUsageID sets the ID field of the mutation. func withBillingUsageID(id string) billingusageOption { return func(m *BillingUsageMutation) { var ( err error once sync.Once value *BillingUsage ) m.oldValue = func(ctx context.Context) (*BillingUsage, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().BillingUsage.Get(ctx, id) } }) return value, err } m.id = &id } } // withBillingUsage sets the old BillingUsage of the mutation. func withBillingUsage(node *BillingUsage) billingusageOption { return func(m *BillingUsageMutation) { m.oldValue = func(context.Context) (*BillingUsage, 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 BillingUsageMutation) 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 BillingUsageMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 BillingUsage entities. func (m *BillingUsageMutation) SetID(id string) { 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 *BillingUsageMutation) ID() (id string, 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 *BillingUsageMutation) IDs(ctx context.Context) ([]string, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []string{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().BillingUsage.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetDeletedAt sets the "deleted_at" field. func (m *BillingUsageMutation) SetDeletedAt(t time.Time) { m.deleted_at = &t } // DeletedAt returns the value of the "deleted_at" field in the mutation. func (m *BillingUsageMutation) 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 BillingUsage entity. // If the BillingUsage 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 *BillingUsageMutation) 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 *BillingUsageMutation) ClearDeletedAt() { m.deleted_at = nil m.clearedFields[billingusage.FieldDeletedAt] = struct{}{} } // DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation. func (m *BillingUsageMutation) DeletedAtCleared() bool { _, ok := m.clearedFields[billingusage.FieldDeletedAt] return ok } // ResetDeletedAt resets all changes to the "deleted_at" field. func (m *BillingUsageMutation) ResetDeletedAt() { m.deleted_at = nil delete(m.clearedFields, billingusage.FieldDeletedAt) } // SetUserID sets the "user_id" field. func (m *BillingUsageMutation) SetUserID(s string) { m.user_id = &s } // UserID returns the value of the "user_id" field in the mutation. func (m *BillingUsageMutation) UserID() (r string, exists bool) { v := m.user_id if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the BillingUsage entity. // If the BillingUsage 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 *BillingUsageMutation) OldUserID(ctx context.Context) (v string, 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 *BillingUsageMutation) ResetUserID() { m.user_id = nil } // SetModelName sets the "model_name" field. func (m *BillingUsageMutation) SetModelName(s string) { m.model_name = &s } // ModelName returns the value of the "model_name" field in the mutation. func (m *BillingUsageMutation) ModelName() (r string, exists bool) { v := m.model_name if v == nil { return } return *v, true } // OldModelName returns the old "model_name" field's value of the BillingUsage entity. // If the BillingUsage 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 *BillingUsageMutation) OldModelName(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldModelName is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldModelName requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldModelName: %w", err) } return oldValue.ModelName, nil } // ResetModelName resets all changes to the "model_name" field. func (m *BillingUsageMutation) ResetModelName() { m.model_name = nil } // SetTokens sets the "tokens" field. func (m *BillingUsageMutation) SetTokens(i int64) { m.tokens = &i m.addtokens = nil } // Tokens returns the value of the "tokens" field in the mutation. func (m *BillingUsageMutation) Tokens() (r int64, exists bool) { v := m.tokens if v == nil { return } return *v, true } // OldTokens returns the old "tokens" field's value of the BillingUsage entity. // If the BillingUsage 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 *BillingUsageMutation) OldTokens(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldTokens is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldTokens requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldTokens: %w", err) } return oldValue.Tokens, nil } // AddTokens adds i to the "tokens" field. func (m *BillingUsageMutation) AddTokens(i int64) { if m.addtokens != nil { *m.addtokens += i } else { m.addtokens = &i } } // AddedTokens returns the value that was added to the "tokens" field in this mutation. func (m *BillingUsageMutation) AddedTokens() (r int64, exists bool) { v := m.addtokens if v == nil { return } return *v, true } // ResetTokens resets all changes to the "tokens" field. func (m *BillingUsageMutation) ResetTokens() { m.tokens = nil m.addtokens = nil } // SetOperation sets the "operation" field. func (m *BillingUsageMutation) SetOperation(s string) { m.operation = &s } // Operation returns the value of the "operation" field in the mutation. func (m *BillingUsageMutation) Operation() (r string, exists bool) { v := m.operation if v == nil { return } return *v, true } // OldOperation returns the old "operation" field's value of the BillingUsage entity. // If the BillingUsage 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 *BillingUsageMutation) OldOperation(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOperation is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOperation requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOperation: %w", err) } return oldValue.Operation, nil } // ResetOperation resets all changes to the "operation" field. func (m *BillingUsageMutation) ResetOperation() { m.operation = nil } // SetCreatedAt sets the "created_at" field. func (m *BillingUsageMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *BillingUsageMutation) 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 BillingUsage entity. // If the BillingUsage 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 *BillingUsageMutation) 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 *BillingUsageMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *BillingUsageMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *BillingUsageMutation) 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 BillingUsage entity. // If the BillingUsage 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 *BillingUsageMutation) 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 *BillingUsageMutation) ResetUpdatedAt() { m.updated_at = nil } // Where appends a list predicates to the BillingUsageMutation builder. func (m *BillingUsageMutation) Where(ps ...predicate.BillingUsage) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the BillingUsageMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *BillingUsageMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.BillingUsage, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *BillingUsageMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *BillingUsageMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (BillingUsage). func (m *BillingUsageMutation) 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 *BillingUsageMutation) Fields() []string { fields := make([]string, 0, 7) if m.deleted_at != nil { fields = append(fields, billingusage.FieldDeletedAt) } if m.user_id != nil { fields = append(fields, billingusage.FieldUserID) } if m.model_name != nil { fields = append(fields, billingusage.FieldModelName) } if m.tokens != nil { fields = append(fields, billingusage.FieldTokens) } if m.operation != nil { fields = append(fields, billingusage.FieldOperation) } if m.created_at != nil { fields = append(fields, billingusage.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, billingusage.FieldUpdatedAt) } 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 *BillingUsageMutation) Field(name string) (ent.Value, bool) { switch name { case billingusage.FieldDeletedAt: return m.DeletedAt() case billingusage.FieldUserID: return m.UserID() case billingusage.FieldModelName: return m.ModelName() case billingusage.FieldTokens: return m.Tokens() case billingusage.FieldOperation: return m.Operation() case billingusage.FieldCreatedAt: return m.CreatedAt() case billingusage.FieldUpdatedAt: return m.UpdatedAt() } 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 *BillingUsageMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case billingusage.FieldDeletedAt: return m.OldDeletedAt(ctx) case billingusage.FieldUserID: return m.OldUserID(ctx) case billingusage.FieldModelName: return m.OldModelName(ctx) case billingusage.FieldTokens: return m.OldTokens(ctx) case billingusage.FieldOperation: return m.OldOperation(ctx) case billingusage.FieldCreatedAt: return m.OldCreatedAt(ctx) case billingusage.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown BillingUsage 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 *BillingUsageMutation) SetField(name string, value ent.Value) error { switch name { case billingusage.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 billingusage.FieldUserID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case billingusage.FieldModelName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetModelName(v) return nil case billingusage.FieldTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetTokens(v) return nil case billingusage.FieldOperation: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOperation(v) return nil case billingusage.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 billingusage.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown BillingUsage field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *BillingUsageMutation) AddedFields() []string { var fields []string if m.addtokens != nil { fields = append(fields, billingusage.FieldTokens) } 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 *BillingUsageMutation) AddedField(name string) (ent.Value, bool) { switch name { case billingusage.FieldTokens: return m.AddedTokens() } 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 *BillingUsageMutation) AddField(name string, value ent.Value) error { switch name { case billingusage.FieldTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddTokens(v) return nil } return fmt.Errorf("unknown BillingUsage numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *BillingUsageMutation) ClearedFields() []string { var fields []string if m.FieldCleared(billingusage.FieldDeletedAt) { fields = append(fields, billingusage.FieldDeletedAt) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *BillingUsageMutation) 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 *BillingUsageMutation) ClearField(name string) error { switch name { case billingusage.FieldDeletedAt: m.ClearDeletedAt() return nil } return fmt.Errorf("unknown BillingUsage 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 *BillingUsageMutation) ResetField(name string) error { switch name { case billingusage.FieldDeletedAt: m.ResetDeletedAt() return nil case billingusage.FieldUserID: m.ResetUserID() return nil case billingusage.FieldModelName: m.ResetModelName() return nil case billingusage.FieldTokens: m.ResetTokens() return nil case billingusage.FieldOperation: m.ResetOperation() return nil case billingusage.FieldCreatedAt: m.ResetCreatedAt() return nil case billingusage.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown BillingUsage field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *BillingUsageMutation) 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 *BillingUsageMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *BillingUsageMutation) 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 *BillingUsageMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *BillingUsageMutation) 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 *BillingUsageMutation) 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 *BillingUsageMutation) ClearEdge(name string) error { return fmt.Errorf("unknown BillingUsage 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 *BillingUsageMutation) ResetEdge(name string) error { return fmt.Errorf("unknown BillingUsage edge %s", name) } // CodeSnippetMutation represents an operation that mutates the CodeSnippet nodes in the graph. type CodeSnippetMutation struct { config op Op typ string id *uuid.UUID name *string snippet_type *string language *string content *string hash *string start_line *int addstart_line *int end_line *int addend_line *int start_column *int addstart_column *int end_column *int addend_column *int namespace *string container_name *string scope *[]string appendscope []string dependencies *[]string appenddependencies []string parameters *[]map[string]interface{} appendparameters []map[string]interface{} signature *string definition_text *string structured_info *map[string]interface{} embedding *pgvector.Vector workspacePath *string clearedFields map[string]struct{} source_file *uuid.UUID clearedsource_file bool done bool oldValue func(context.Context) (*CodeSnippet, error) predicates []predicate.CodeSnippet } var _ ent.Mutation = (*CodeSnippetMutation)(nil) // codesnippetOption allows management of the mutation configuration using functional options. type codesnippetOption func(*CodeSnippetMutation) // newCodeSnippetMutation creates new mutation for the CodeSnippet entity. func newCodeSnippetMutation(c config, op Op, opts ...codesnippetOption) *CodeSnippetMutation { m := &CodeSnippetMutation{ config: c, op: op, typ: TypeCodeSnippet, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withCodeSnippetID sets the ID field of the mutation. func withCodeSnippetID(id uuid.UUID) codesnippetOption { return func(m *CodeSnippetMutation) { var ( err error once sync.Once value *CodeSnippet ) m.oldValue = func(ctx context.Context) (*CodeSnippet, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().CodeSnippet.Get(ctx, id) } }) return value, err } m.id = &id } } // withCodeSnippet sets the old CodeSnippet of the mutation. func withCodeSnippet(node *CodeSnippet) codesnippetOption { return func(m *CodeSnippetMutation) { m.oldValue = func(context.Context) (*CodeSnippet, 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 CodeSnippetMutation) 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 CodeSnippetMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 CodeSnippet entities. func (m *CodeSnippetMutation) SetID(id uuid.UUID) { 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 *CodeSnippetMutation) ID() (id uuid.UUID, 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 *CodeSnippetMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().CodeSnippet.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetWorkspaceFileID sets the "workspace_file_id" field. func (m *CodeSnippetMutation) SetWorkspaceFileID(u uuid.UUID) { m.source_file = &u } // WorkspaceFileID returns the value of the "workspace_file_id" field in the mutation. func (m *CodeSnippetMutation) WorkspaceFileID() (r uuid.UUID, exists bool) { v := m.source_file if v == nil { return } return *v, true } // OldWorkspaceFileID returns the old "workspace_file_id" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldWorkspaceFileID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldWorkspaceFileID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldWorkspaceFileID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldWorkspaceFileID: %w", err) } return oldValue.WorkspaceFileID, nil } // ResetWorkspaceFileID resets all changes to the "workspace_file_id" field. func (m *CodeSnippetMutation) ResetWorkspaceFileID() { m.source_file = nil } // SetName sets the "name" field. func (m *CodeSnippetMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *CodeSnippetMutation) 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 CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) 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 *CodeSnippetMutation) ResetName() { m.name = nil } // SetSnippetType sets the "snippet_type" field. func (m *CodeSnippetMutation) SetSnippetType(s string) { m.snippet_type = &s } // SnippetType returns the value of the "snippet_type" field in the mutation. func (m *CodeSnippetMutation) SnippetType() (r string, exists bool) { v := m.snippet_type if v == nil { return } return *v, true } // OldSnippetType returns the old "snippet_type" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldSnippetType(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSnippetType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSnippetType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSnippetType: %w", err) } return oldValue.SnippetType, nil } // ResetSnippetType resets all changes to the "snippet_type" field. func (m *CodeSnippetMutation) ResetSnippetType() { m.snippet_type = nil } // SetLanguage sets the "language" field. func (m *CodeSnippetMutation) SetLanguage(s string) { m.language = &s } // Language returns the value of the "language" field in the mutation. func (m *CodeSnippetMutation) Language() (r string, exists bool) { v := m.language if v == nil { return } return *v, true } // OldLanguage returns the old "language" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldLanguage(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldLanguage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldLanguage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldLanguage: %w", err) } return oldValue.Language, nil } // ResetLanguage resets all changes to the "language" field. func (m *CodeSnippetMutation) ResetLanguage() { m.language = nil } // SetContent sets the "content" field. func (m *CodeSnippetMutation) SetContent(s string) { m.content = &s } // Content returns the value of the "content" field in the mutation. func (m *CodeSnippetMutation) Content() (r string, exists bool) { v := m.content if v == nil { return } return *v, true } // OldContent returns the old "content" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldContent(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldContent is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldContent requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldContent: %w", err) } return oldValue.Content, nil } // ResetContent resets all changes to the "content" field. func (m *CodeSnippetMutation) ResetContent() { m.content = nil } // SetHash sets the "hash" field. func (m *CodeSnippetMutation) SetHash(s string) { m.hash = &s } // Hash returns the value of the "hash" field in the mutation. func (m *CodeSnippetMutation) Hash() (r string, exists bool) { v := m.hash if v == nil { return } return *v, true } // OldHash returns the old "hash" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldHash(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldHash is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldHash requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldHash: %w", err) } return oldValue.Hash, nil } // ResetHash resets all changes to the "hash" field. func (m *CodeSnippetMutation) ResetHash() { m.hash = nil } // SetStartLine sets the "start_line" field. func (m *CodeSnippetMutation) SetStartLine(i int) { m.start_line = &i m.addstart_line = nil } // StartLine returns the value of the "start_line" field in the mutation. func (m *CodeSnippetMutation) StartLine() (r int, exists bool) { v := m.start_line if v == nil { return } return *v, true } // OldStartLine returns the old "start_line" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldStartLine(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldStartLine is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldStartLine requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldStartLine: %w", err) } return oldValue.StartLine, nil } // AddStartLine adds i to the "start_line" field. func (m *CodeSnippetMutation) AddStartLine(i int) { if m.addstart_line != nil { *m.addstart_line += i } else { m.addstart_line = &i } } // AddedStartLine returns the value that was added to the "start_line" field in this mutation. func (m *CodeSnippetMutation) AddedStartLine() (r int, exists bool) { v := m.addstart_line if v == nil { return } return *v, true } // ResetStartLine resets all changes to the "start_line" field. func (m *CodeSnippetMutation) ResetStartLine() { m.start_line = nil m.addstart_line = nil } // SetEndLine sets the "end_line" field. func (m *CodeSnippetMutation) SetEndLine(i int) { m.end_line = &i m.addend_line = nil } // EndLine returns the value of the "end_line" field in the mutation. func (m *CodeSnippetMutation) EndLine() (r int, exists bool) { v := m.end_line if v == nil { return } return *v, true } // OldEndLine returns the old "end_line" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldEndLine(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEndLine is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEndLine requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEndLine: %w", err) } return oldValue.EndLine, nil } // AddEndLine adds i to the "end_line" field. func (m *CodeSnippetMutation) AddEndLine(i int) { if m.addend_line != nil { *m.addend_line += i } else { m.addend_line = &i } } // AddedEndLine returns the value that was added to the "end_line" field in this mutation. func (m *CodeSnippetMutation) AddedEndLine() (r int, exists bool) { v := m.addend_line if v == nil { return } return *v, true } // ResetEndLine resets all changes to the "end_line" field. func (m *CodeSnippetMutation) ResetEndLine() { m.end_line = nil m.addend_line = nil } // SetStartColumn sets the "start_column" field. func (m *CodeSnippetMutation) SetStartColumn(i int) { m.start_column = &i m.addstart_column = nil } // StartColumn returns the value of the "start_column" field in the mutation. func (m *CodeSnippetMutation) StartColumn() (r int, exists bool) { v := m.start_column if v == nil { return } return *v, true } // OldStartColumn returns the old "start_column" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldStartColumn(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldStartColumn is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldStartColumn requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldStartColumn: %w", err) } return oldValue.StartColumn, nil } // AddStartColumn adds i to the "start_column" field. func (m *CodeSnippetMutation) AddStartColumn(i int) { if m.addstart_column != nil { *m.addstart_column += i } else { m.addstart_column = &i } } // AddedStartColumn returns the value that was added to the "start_column" field in this mutation. func (m *CodeSnippetMutation) AddedStartColumn() (r int, exists bool) { v := m.addstart_column if v == nil { return } return *v, true } // ResetStartColumn resets all changes to the "start_column" field. func (m *CodeSnippetMutation) ResetStartColumn() { m.start_column = nil m.addstart_column = nil } // SetEndColumn sets the "end_column" field. func (m *CodeSnippetMutation) SetEndColumn(i int) { m.end_column = &i m.addend_column = nil } // EndColumn returns the value of the "end_column" field in the mutation. func (m *CodeSnippetMutation) EndColumn() (r int, exists bool) { v := m.end_column if v == nil { return } return *v, true } // OldEndColumn returns the old "end_column" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldEndColumn(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEndColumn is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEndColumn requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEndColumn: %w", err) } return oldValue.EndColumn, nil } // AddEndColumn adds i to the "end_column" field. func (m *CodeSnippetMutation) AddEndColumn(i int) { if m.addend_column != nil { *m.addend_column += i } else { m.addend_column = &i } } // AddedEndColumn returns the value that was added to the "end_column" field in this mutation. func (m *CodeSnippetMutation) AddedEndColumn() (r int, exists bool) { v := m.addend_column if v == nil { return } return *v, true } // ResetEndColumn resets all changes to the "end_column" field. func (m *CodeSnippetMutation) ResetEndColumn() { m.end_column = nil m.addend_column = nil } // SetNamespace sets the "namespace" field. func (m *CodeSnippetMutation) SetNamespace(s string) { m.namespace = &s } // Namespace returns the value of the "namespace" field in the mutation. func (m *CodeSnippetMutation) Namespace() (r string, exists bool) { v := m.namespace if v == nil { return } return *v, true } // OldNamespace returns the old "namespace" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldNamespace(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldNamespace is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldNamespace requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldNamespace: %w", err) } return oldValue.Namespace, nil } // ClearNamespace clears the value of the "namespace" field. func (m *CodeSnippetMutation) ClearNamespace() { m.namespace = nil m.clearedFields[codesnippet.FieldNamespace] = struct{}{} } // NamespaceCleared returns if the "namespace" field was cleared in this mutation. func (m *CodeSnippetMutation) NamespaceCleared() bool { _, ok := m.clearedFields[codesnippet.FieldNamespace] return ok } // ResetNamespace resets all changes to the "namespace" field. func (m *CodeSnippetMutation) ResetNamespace() { m.namespace = nil delete(m.clearedFields, codesnippet.FieldNamespace) } // SetContainerName sets the "container_name" field. func (m *CodeSnippetMutation) SetContainerName(s string) { m.container_name = &s } // ContainerName returns the value of the "container_name" field in the mutation. func (m *CodeSnippetMutation) ContainerName() (r string, exists bool) { v := m.container_name if v == nil { return } return *v, true } // OldContainerName returns the old "container_name" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldContainerName(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldContainerName is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldContainerName requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldContainerName: %w", err) } return oldValue.ContainerName, nil } // ClearContainerName clears the value of the "container_name" field. func (m *CodeSnippetMutation) ClearContainerName() { m.container_name = nil m.clearedFields[codesnippet.FieldContainerName] = struct{}{} } // ContainerNameCleared returns if the "container_name" field was cleared in this mutation. func (m *CodeSnippetMutation) ContainerNameCleared() bool { _, ok := m.clearedFields[codesnippet.FieldContainerName] return ok } // ResetContainerName resets all changes to the "container_name" field. func (m *CodeSnippetMutation) ResetContainerName() { m.container_name = nil delete(m.clearedFields, codesnippet.FieldContainerName) } // SetScope sets the "scope" field. func (m *CodeSnippetMutation) SetScope(s []string) { m.scope = &s m.appendscope = nil } // Scope returns the value of the "scope" field in the mutation. func (m *CodeSnippetMutation) Scope() (r []string, exists bool) { v := m.scope if v == nil { return } return *v, true } // OldScope returns the old "scope" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldScope(ctx context.Context) (v []string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldScope is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldScope requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldScope: %w", err) } return oldValue.Scope, nil } // AppendScope adds s to the "scope" field. func (m *CodeSnippetMutation) AppendScope(s []string) { m.appendscope = append(m.appendscope, s...) } // AppendedScope returns the list of values that were appended to the "scope" field in this mutation. func (m *CodeSnippetMutation) AppendedScope() ([]string, bool) { if len(m.appendscope) == 0 { return nil, false } return m.appendscope, true } // ClearScope clears the value of the "scope" field. func (m *CodeSnippetMutation) ClearScope() { m.scope = nil m.appendscope = nil m.clearedFields[codesnippet.FieldScope] = struct{}{} } // ScopeCleared returns if the "scope" field was cleared in this mutation. func (m *CodeSnippetMutation) ScopeCleared() bool { _, ok := m.clearedFields[codesnippet.FieldScope] return ok } // ResetScope resets all changes to the "scope" field. func (m *CodeSnippetMutation) ResetScope() { m.scope = nil m.appendscope = nil delete(m.clearedFields, codesnippet.FieldScope) } // SetDependencies sets the "dependencies" field. func (m *CodeSnippetMutation) SetDependencies(s []string) { m.dependencies = &s m.appenddependencies = nil } // Dependencies returns the value of the "dependencies" field in the mutation. func (m *CodeSnippetMutation) Dependencies() (r []string, exists bool) { v := m.dependencies if v == nil { return } return *v, true } // OldDependencies returns the old "dependencies" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldDependencies(ctx context.Context) (v []string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldDependencies is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldDependencies requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldDependencies: %w", err) } return oldValue.Dependencies, nil } // AppendDependencies adds s to the "dependencies" field. func (m *CodeSnippetMutation) AppendDependencies(s []string) { m.appenddependencies = append(m.appenddependencies, s...) } // AppendedDependencies returns the list of values that were appended to the "dependencies" field in this mutation. func (m *CodeSnippetMutation) AppendedDependencies() ([]string, bool) { if len(m.appenddependencies) == 0 { return nil, false } return m.appenddependencies, true } // ClearDependencies clears the value of the "dependencies" field. func (m *CodeSnippetMutation) ClearDependencies() { m.dependencies = nil m.appenddependencies = nil m.clearedFields[codesnippet.FieldDependencies] = struct{}{} } // DependenciesCleared returns if the "dependencies" field was cleared in this mutation. func (m *CodeSnippetMutation) DependenciesCleared() bool { _, ok := m.clearedFields[codesnippet.FieldDependencies] return ok } // ResetDependencies resets all changes to the "dependencies" field. func (m *CodeSnippetMutation) ResetDependencies() { m.dependencies = nil m.appenddependencies = nil delete(m.clearedFields, codesnippet.FieldDependencies) } // SetParameters sets the "parameters" field. func (m *CodeSnippetMutation) SetParameters(value []map[string]interface{}) { m.parameters = &value m.appendparameters = nil } // Parameters returns the value of the "parameters" field in the mutation. func (m *CodeSnippetMutation) Parameters() (r []map[string]interface{}, exists bool) { v := m.parameters if v == nil { return } return *v, true } // OldParameters returns the old "parameters" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldParameters(ctx context.Context) (v []map[string]interface{}, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldParameters is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldParameters requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldParameters: %w", err) } return oldValue.Parameters, nil } // AppendParameters adds value to the "parameters" field. func (m *CodeSnippetMutation) AppendParameters(value []map[string]interface{}) { m.appendparameters = append(m.appendparameters, value...) } // AppendedParameters returns the list of values that were appended to the "parameters" field in this mutation. func (m *CodeSnippetMutation) AppendedParameters() ([]map[string]interface{}, bool) { if len(m.appendparameters) == 0 { return nil, false } return m.appendparameters, true } // ClearParameters clears the value of the "parameters" field. func (m *CodeSnippetMutation) ClearParameters() { m.parameters = nil m.appendparameters = nil m.clearedFields[codesnippet.FieldParameters] = struct{}{} } // ParametersCleared returns if the "parameters" field was cleared in this mutation. func (m *CodeSnippetMutation) ParametersCleared() bool { _, ok := m.clearedFields[codesnippet.FieldParameters] return ok } // ResetParameters resets all changes to the "parameters" field. func (m *CodeSnippetMutation) ResetParameters() { m.parameters = nil m.appendparameters = nil delete(m.clearedFields, codesnippet.FieldParameters) } // SetSignature sets the "signature" field. func (m *CodeSnippetMutation) SetSignature(s string) { m.signature = &s } // Signature returns the value of the "signature" field in the mutation. func (m *CodeSnippetMutation) Signature() (r string, exists bool) { v := m.signature if v == nil { return } return *v, true } // OldSignature returns the old "signature" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldSignature(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSignature is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSignature requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSignature: %w", err) } return oldValue.Signature, nil } // ClearSignature clears the value of the "signature" field. func (m *CodeSnippetMutation) ClearSignature() { m.signature = nil m.clearedFields[codesnippet.FieldSignature] = struct{}{} } // SignatureCleared returns if the "signature" field was cleared in this mutation. func (m *CodeSnippetMutation) SignatureCleared() bool { _, ok := m.clearedFields[codesnippet.FieldSignature] return ok } // ResetSignature resets all changes to the "signature" field. func (m *CodeSnippetMutation) ResetSignature() { m.signature = nil delete(m.clearedFields, codesnippet.FieldSignature) } // SetDefinitionText sets the "definition_text" field. func (m *CodeSnippetMutation) SetDefinitionText(s string) { m.definition_text = &s } // DefinitionText returns the value of the "definition_text" field in the mutation. func (m *CodeSnippetMutation) DefinitionText() (r string, exists bool) { v := m.definition_text if v == nil { return } return *v, true } // OldDefinitionText returns the old "definition_text" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldDefinitionText(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldDefinitionText is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldDefinitionText requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldDefinitionText: %w", err) } return oldValue.DefinitionText, nil } // ClearDefinitionText clears the value of the "definition_text" field. func (m *CodeSnippetMutation) ClearDefinitionText() { m.definition_text = nil m.clearedFields[codesnippet.FieldDefinitionText] = struct{}{} } // DefinitionTextCleared returns if the "definition_text" field was cleared in this mutation. func (m *CodeSnippetMutation) DefinitionTextCleared() bool { _, ok := m.clearedFields[codesnippet.FieldDefinitionText] return ok } // ResetDefinitionText resets all changes to the "definition_text" field. func (m *CodeSnippetMutation) ResetDefinitionText() { m.definition_text = nil delete(m.clearedFields, codesnippet.FieldDefinitionText) } // SetStructuredInfo sets the "structured_info" field. func (m *CodeSnippetMutation) SetStructuredInfo(value map[string]interface{}) { m.structured_info = &value } // StructuredInfo returns the value of the "structured_info" field in the mutation. func (m *CodeSnippetMutation) StructuredInfo() (r map[string]interface{}, exists bool) { v := m.structured_info if v == nil { return } return *v, true } // OldStructuredInfo returns the old "structured_info" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldStructuredInfo(ctx context.Context) (v map[string]interface{}, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldStructuredInfo is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldStructuredInfo requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldStructuredInfo: %w", err) } return oldValue.StructuredInfo, nil } // ClearStructuredInfo clears the value of the "structured_info" field. func (m *CodeSnippetMutation) ClearStructuredInfo() { m.structured_info = nil m.clearedFields[codesnippet.FieldStructuredInfo] = struct{}{} } // StructuredInfoCleared returns if the "structured_info" field was cleared in this mutation. func (m *CodeSnippetMutation) StructuredInfoCleared() bool { _, ok := m.clearedFields[codesnippet.FieldStructuredInfo] return ok } // ResetStructuredInfo resets all changes to the "structured_info" field. func (m *CodeSnippetMutation) ResetStructuredInfo() { m.structured_info = nil delete(m.clearedFields, codesnippet.FieldStructuredInfo) } // SetEmbedding sets the "embedding" field. func (m *CodeSnippetMutation) SetEmbedding(pg pgvector.Vector) { m.embedding = &pg } // Embedding returns the value of the "embedding" field in the mutation. func (m *CodeSnippetMutation) Embedding() (r pgvector.Vector, exists bool) { v := m.embedding if v == nil { return } return *v, true } // OldEmbedding returns the old "embedding" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldEmbedding(ctx context.Context) (v pgvector.Vector, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEmbedding is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEmbedding requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEmbedding: %w", err) } return oldValue.Embedding, nil } // ClearEmbedding clears the value of the "embedding" field. func (m *CodeSnippetMutation) ClearEmbedding() { m.embedding = nil m.clearedFields[codesnippet.FieldEmbedding] = struct{}{} } // EmbeddingCleared returns if the "embedding" field was cleared in this mutation. func (m *CodeSnippetMutation) EmbeddingCleared() bool { _, ok := m.clearedFields[codesnippet.FieldEmbedding] return ok } // ResetEmbedding resets all changes to the "embedding" field. func (m *CodeSnippetMutation) ResetEmbedding() { m.embedding = nil delete(m.clearedFields, codesnippet.FieldEmbedding) } // SetWorkspacePath sets the "workspacePath" field. func (m *CodeSnippetMutation) SetWorkspacePath(s string) { m.workspacePath = &s } // WorkspacePath returns the value of the "workspacePath" field in the mutation. func (m *CodeSnippetMutation) WorkspacePath() (r string, exists bool) { v := m.workspacePath if v == nil { return } return *v, true } // OldWorkspacePath returns the old "workspacePath" field's value of the CodeSnippet entity. // If the CodeSnippet 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 *CodeSnippetMutation) OldWorkspacePath(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldWorkspacePath is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldWorkspacePath requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldWorkspacePath: %w", err) } return oldValue.WorkspacePath, nil } // ClearWorkspacePath clears the value of the "workspacePath" field. func (m *CodeSnippetMutation) ClearWorkspacePath() { m.workspacePath = nil m.clearedFields[codesnippet.FieldWorkspacePath] = struct{}{} } // WorkspacePathCleared returns if the "workspacePath" field was cleared in this mutation. func (m *CodeSnippetMutation) WorkspacePathCleared() bool { _, ok := m.clearedFields[codesnippet.FieldWorkspacePath] return ok } // ResetWorkspacePath resets all changes to the "workspacePath" field. func (m *CodeSnippetMutation) ResetWorkspacePath() { m.workspacePath = nil delete(m.clearedFields, codesnippet.FieldWorkspacePath) } // SetSourceFileID sets the "source_file" edge to the WorkspaceFile entity by id. func (m *CodeSnippetMutation) SetSourceFileID(id uuid.UUID) { m.source_file = &id } // ClearSourceFile clears the "source_file" edge to the WorkspaceFile entity. func (m *CodeSnippetMutation) ClearSourceFile() { m.clearedsource_file = true m.clearedFields[codesnippet.FieldWorkspaceFileID] = struct{}{} } // SourceFileCleared reports if the "source_file" edge to the WorkspaceFile entity was cleared. func (m *CodeSnippetMutation) SourceFileCleared() bool { return m.clearedsource_file } // SourceFileID returns the "source_file" edge ID in the mutation. func (m *CodeSnippetMutation) SourceFileID() (id uuid.UUID, exists bool) { if m.source_file != nil { return *m.source_file, true } return } // SourceFileIDs returns the "source_file" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // SourceFileID instead. It exists only for internal usage by the builders. func (m *CodeSnippetMutation) SourceFileIDs() (ids []uuid.UUID) { if id := m.source_file; id != nil { ids = append(ids, *id) } return } // ResetSourceFile resets all changes to the "source_file" edge. func (m *CodeSnippetMutation) ResetSourceFile() { m.source_file = nil m.clearedsource_file = false } // Where appends a list predicates to the CodeSnippetMutation builder. func (m *CodeSnippetMutation) Where(ps ...predicate.CodeSnippet) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the CodeSnippetMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *CodeSnippetMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.CodeSnippet, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *CodeSnippetMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *CodeSnippetMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (CodeSnippet). func (m *CodeSnippetMutation) 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 *CodeSnippetMutation) Fields() []string { fields := make([]string, 0, 20) if m.source_file != nil { fields = append(fields, codesnippet.FieldWorkspaceFileID) } if m.name != nil { fields = append(fields, codesnippet.FieldName) } if m.snippet_type != nil { fields = append(fields, codesnippet.FieldSnippetType) } if m.language != nil { fields = append(fields, codesnippet.FieldLanguage) } if m.content != nil { fields = append(fields, codesnippet.FieldContent) } if m.hash != nil { fields = append(fields, codesnippet.FieldHash) } if m.start_line != nil { fields = append(fields, codesnippet.FieldStartLine) } if m.end_line != nil { fields = append(fields, codesnippet.FieldEndLine) } if m.start_column != nil { fields = append(fields, codesnippet.FieldStartColumn) } if m.end_column != nil { fields = append(fields, codesnippet.FieldEndColumn) } if m.namespace != nil { fields = append(fields, codesnippet.FieldNamespace) } if m.container_name != nil { fields = append(fields, codesnippet.FieldContainerName) } if m.scope != nil { fields = append(fields, codesnippet.FieldScope) } if m.dependencies != nil { fields = append(fields, codesnippet.FieldDependencies) } if m.parameters != nil { fields = append(fields, codesnippet.FieldParameters) } if m.signature != nil { fields = append(fields, codesnippet.FieldSignature) } if m.definition_text != nil { fields = append(fields, codesnippet.FieldDefinitionText) } if m.structured_info != nil { fields = append(fields, codesnippet.FieldStructuredInfo) } if m.embedding != nil { fields = append(fields, codesnippet.FieldEmbedding) } if m.workspacePath != nil { fields = append(fields, codesnippet.FieldWorkspacePath) } 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 *CodeSnippetMutation) Field(name string) (ent.Value, bool) { switch name { case codesnippet.FieldWorkspaceFileID: return m.WorkspaceFileID() case codesnippet.FieldName: return m.Name() case codesnippet.FieldSnippetType: return m.SnippetType() case codesnippet.FieldLanguage: return m.Language() case codesnippet.FieldContent: return m.Content() case codesnippet.FieldHash: return m.Hash() case codesnippet.FieldStartLine: return m.StartLine() case codesnippet.FieldEndLine: return m.EndLine() case codesnippet.FieldStartColumn: return m.StartColumn() case codesnippet.FieldEndColumn: return m.EndColumn() case codesnippet.FieldNamespace: return m.Namespace() case codesnippet.FieldContainerName: return m.ContainerName() case codesnippet.FieldScope: return m.Scope() case codesnippet.FieldDependencies: return m.Dependencies() case codesnippet.FieldParameters: return m.Parameters() case codesnippet.FieldSignature: return m.Signature() case codesnippet.FieldDefinitionText: return m.DefinitionText() case codesnippet.FieldStructuredInfo: return m.StructuredInfo() case codesnippet.FieldEmbedding: return m.Embedding() case codesnippet.FieldWorkspacePath: return m.WorkspacePath() } 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 *CodeSnippetMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case codesnippet.FieldWorkspaceFileID: return m.OldWorkspaceFileID(ctx) case codesnippet.FieldName: return m.OldName(ctx) case codesnippet.FieldSnippetType: return m.OldSnippetType(ctx) case codesnippet.FieldLanguage: return m.OldLanguage(ctx) case codesnippet.FieldContent: return m.OldContent(ctx) case codesnippet.FieldHash: return m.OldHash(ctx) case codesnippet.FieldStartLine: return m.OldStartLine(ctx) case codesnippet.FieldEndLine: return m.OldEndLine(ctx) case codesnippet.FieldStartColumn: return m.OldStartColumn(ctx) case codesnippet.FieldEndColumn: return m.OldEndColumn(ctx) case codesnippet.FieldNamespace: return m.OldNamespace(ctx) case codesnippet.FieldContainerName: return m.OldContainerName(ctx) case codesnippet.FieldScope: return m.OldScope(ctx) case codesnippet.FieldDependencies: return m.OldDependencies(ctx) case codesnippet.FieldParameters: return m.OldParameters(ctx) case codesnippet.FieldSignature: return m.OldSignature(ctx) case codesnippet.FieldDefinitionText: return m.OldDefinitionText(ctx) case codesnippet.FieldStructuredInfo: return m.OldStructuredInfo(ctx) case codesnippet.FieldEmbedding: return m.OldEmbedding(ctx) case codesnippet.FieldWorkspacePath: return m.OldWorkspacePath(ctx) } return nil, fmt.Errorf("unknown CodeSnippet 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 *CodeSnippetMutation) SetField(name string, value ent.Value) error { switch name { case codesnippet.FieldWorkspaceFileID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetWorkspaceFileID(v) return nil case codesnippet.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case codesnippet.FieldSnippetType: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSnippetType(v) return nil case codesnippet.FieldLanguage: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetLanguage(v) return nil case codesnippet.FieldContent: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContent(v) return nil case codesnippet.FieldHash: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetHash(v) return nil case codesnippet.FieldStartLine: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStartLine(v) return nil case codesnippet.FieldEndLine: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEndLine(v) return nil case codesnippet.FieldStartColumn: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStartColumn(v) return nil case codesnippet.FieldEndColumn: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEndColumn(v) return nil case codesnippet.FieldNamespace: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetNamespace(v) return nil case codesnippet.FieldContainerName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContainerName(v) return nil case codesnippet.FieldScope: v, ok := value.([]string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetScope(v) return nil case codesnippet.FieldDependencies: v, ok := value.([]string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDependencies(v) return nil case codesnippet.FieldParameters: v, ok := value.([]map[string]interface{}) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetParameters(v) return nil case codesnippet.FieldSignature: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSignature(v) return nil case codesnippet.FieldDefinitionText: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDefinitionText(v) return nil case codesnippet.FieldStructuredInfo: v, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStructuredInfo(v) return nil case codesnippet.FieldEmbedding: v, ok := value.(pgvector.Vector) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEmbedding(v) return nil case codesnippet.FieldWorkspacePath: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetWorkspacePath(v) return nil } return fmt.Errorf("unknown CodeSnippet field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *CodeSnippetMutation) AddedFields() []string { var fields []string if m.addstart_line != nil { fields = append(fields, codesnippet.FieldStartLine) } if m.addend_line != nil { fields = append(fields, codesnippet.FieldEndLine) } if m.addstart_column != nil { fields = append(fields, codesnippet.FieldStartColumn) } if m.addend_column != nil { fields = append(fields, codesnippet.FieldEndColumn) } 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 *CodeSnippetMutation) AddedField(name string) (ent.Value, bool) { switch name { case codesnippet.FieldStartLine: return m.AddedStartLine() case codesnippet.FieldEndLine: return m.AddedEndLine() case codesnippet.FieldStartColumn: return m.AddedStartColumn() case codesnippet.FieldEndColumn: return m.AddedEndColumn() } 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 *CodeSnippetMutation) AddField(name string, value ent.Value) error { switch name { case codesnippet.FieldStartLine: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddStartLine(v) return nil case codesnippet.FieldEndLine: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddEndLine(v) return nil case codesnippet.FieldStartColumn: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddStartColumn(v) return nil case codesnippet.FieldEndColumn: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddEndColumn(v) return nil } return fmt.Errorf("unknown CodeSnippet numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *CodeSnippetMutation) ClearedFields() []string { var fields []string if m.FieldCleared(codesnippet.FieldNamespace) { fields = append(fields, codesnippet.FieldNamespace) } if m.FieldCleared(codesnippet.FieldContainerName) { fields = append(fields, codesnippet.FieldContainerName) } if m.FieldCleared(codesnippet.FieldScope) { fields = append(fields, codesnippet.FieldScope) } if m.FieldCleared(codesnippet.FieldDependencies) { fields = append(fields, codesnippet.FieldDependencies) } if m.FieldCleared(codesnippet.FieldParameters) { fields = append(fields, codesnippet.FieldParameters) } if m.FieldCleared(codesnippet.FieldSignature) { fields = append(fields, codesnippet.FieldSignature) } if m.FieldCleared(codesnippet.FieldDefinitionText) { fields = append(fields, codesnippet.FieldDefinitionText) } if m.FieldCleared(codesnippet.FieldStructuredInfo) { fields = append(fields, codesnippet.FieldStructuredInfo) } if m.FieldCleared(codesnippet.FieldEmbedding) { fields = append(fields, codesnippet.FieldEmbedding) } if m.FieldCleared(codesnippet.FieldWorkspacePath) { fields = append(fields, codesnippet.FieldWorkspacePath) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *CodeSnippetMutation) 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 *CodeSnippetMutation) ClearField(name string) error { switch name { case codesnippet.FieldNamespace: m.ClearNamespace() return nil case codesnippet.FieldContainerName: m.ClearContainerName() return nil case codesnippet.FieldScope: m.ClearScope() return nil case codesnippet.FieldDependencies: m.ClearDependencies() return nil case codesnippet.FieldParameters: m.ClearParameters() return nil case codesnippet.FieldSignature: m.ClearSignature() return nil case codesnippet.FieldDefinitionText: m.ClearDefinitionText() return nil case codesnippet.FieldStructuredInfo: m.ClearStructuredInfo() return nil case codesnippet.FieldEmbedding: m.ClearEmbedding() return nil case codesnippet.FieldWorkspacePath: m.ClearWorkspacePath() return nil } return fmt.Errorf("unknown CodeSnippet 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 *CodeSnippetMutation) ResetField(name string) error { switch name { case codesnippet.FieldWorkspaceFileID: m.ResetWorkspaceFileID() return nil case codesnippet.FieldName: m.ResetName() return nil case codesnippet.FieldSnippetType: m.ResetSnippetType() return nil case codesnippet.FieldLanguage: m.ResetLanguage() return nil case codesnippet.FieldContent: m.ResetContent() return nil case codesnippet.FieldHash: m.ResetHash() return nil case codesnippet.FieldStartLine: m.ResetStartLine() return nil case codesnippet.FieldEndLine: m.ResetEndLine() return nil case codesnippet.FieldStartColumn: m.ResetStartColumn() return nil case codesnippet.FieldEndColumn: m.ResetEndColumn() return nil case codesnippet.FieldNamespace: m.ResetNamespace() return nil case codesnippet.FieldContainerName: m.ResetContainerName() return nil case codesnippet.FieldScope: m.ResetScope() return nil case codesnippet.FieldDependencies: m.ResetDependencies() return nil case codesnippet.FieldParameters: m.ResetParameters() return nil case codesnippet.FieldSignature: m.ResetSignature() return nil case codesnippet.FieldDefinitionText: m.ResetDefinitionText() return nil case codesnippet.FieldStructuredInfo: m.ResetStructuredInfo() return nil case codesnippet.FieldEmbedding: m.ResetEmbedding() return nil case codesnippet.FieldWorkspacePath: m.ResetWorkspacePath() return nil } return fmt.Errorf("unknown CodeSnippet field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *CodeSnippetMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.source_file != nil { edges = append(edges, codesnippet.EdgeSourceFile) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *CodeSnippetMutation) AddedIDs(name string) []ent.Value { switch name { case codesnippet.EdgeSourceFile: if id := m.source_file; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *CodeSnippetMutation) 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 *CodeSnippetMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *CodeSnippetMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedsource_file { edges = append(edges, codesnippet.EdgeSourceFile) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *CodeSnippetMutation) EdgeCleared(name string) bool { switch name { case codesnippet.EdgeSourceFile: return m.clearedsource_file } 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 *CodeSnippetMutation) ClearEdge(name string) error { switch name { case codesnippet.EdgeSourceFile: m.ClearSourceFile() return nil } return fmt.Errorf("unknown CodeSnippet 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 *CodeSnippetMutation) ResetEdge(name string) error { switch name { case codesnippet.EdgeSourceFile: m.ResetSourceFile() return nil } return fmt.Errorf("unknown CodeSnippet edge %s", name) } // ExtensionMutation represents an operation that mutates the Extension nodes in the graph. type ExtensionMutation struct { config op Op typ string id *uuid.UUID version *string _path *string created_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*Extension, error) predicates []predicate.Extension } var _ ent.Mutation = (*ExtensionMutation)(nil) // extensionOption allows management of the mutation configuration using functional options. type extensionOption func(*ExtensionMutation) // newExtensionMutation creates new mutation for the Extension entity. func newExtensionMutation(c config, op Op, opts ...extensionOption) *ExtensionMutation { m := &ExtensionMutation{ config: c, op: op, typ: TypeExtension, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withExtensionID sets the ID field of the mutation. func withExtensionID(id uuid.UUID) extensionOption { return func(m *ExtensionMutation) { var ( err error once sync.Once value *Extension ) m.oldValue = func(ctx context.Context) (*Extension, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().Extension.Get(ctx, id) } }) return value, err } m.id = &id } } // withExtension sets the old Extension of the mutation. func withExtension(node *Extension) extensionOption { return func(m *ExtensionMutation) { m.oldValue = func(context.Context) (*Extension, 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 ExtensionMutation) 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 ExtensionMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 Extension entities. func (m *ExtensionMutation) SetID(id uuid.UUID) { 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 *ExtensionMutation) ID() (id uuid.UUID, 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 *ExtensionMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().Extension.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetVersion sets the "version" field. func (m *ExtensionMutation) SetVersion(s string) { m.version = &s } // Version returns the value of the "version" field in the mutation. func (m *ExtensionMutation) Version() (r string, exists bool) { v := m.version if v == nil { return } return *v, true } // OldVersion returns the old "version" field's value of the Extension entity. // If the Extension 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 *ExtensionMutation) OldVersion(ctx context.Context) (v string, 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 } // ResetVersion resets all changes to the "version" field. func (m *ExtensionMutation) ResetVersion() { m.version = nil } // SetPath sets the "path" field. func (m *ExtensionMutation) SetPath(s string) { m._path = &s } // Path returns the value of the "path" field in the mutation. func (m *ExtensionMutation) Path() (r string, exists bool) { v := m._path if v == nil { return } return *v, true } // OldPath returns the old "path" field's value of the Extension entity. // If the Extension 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 *ExtensionMutation) OldPath(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPath is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPath requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPath: %w", err) } return oldValue.Path, nil } // ResetPath resets all changes to the "path" field. func (m *ExtensionMutation) ResetPath() { m._path = nil } // SetCreatedAt sets the "created_at" field. func (m *ExtensionMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *ExtensionMutation) 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 Extension entity. // If the Extension 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 *ExtensionMutation) 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 *ExtensionMutation) ResetCreatedAt() { m.created_at = nil } // Where appends a list predicates to the ExtensionMutation builder. func (m *ExtensionMutation) Where(ps ...predicate.Extension) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the ExtensionMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *ExtensionMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.Extension, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *ExtensionMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *ExtensionMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (Extension). func (m *ExtensionMutation) 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 *ExtensionMutation) Fields() []string { fields := make([]string, 0, 3) if m.version != nil { fields = append(fields, extension.FieldVersion) } if m._path != nil { fields = append(fields, extension.FieldPath) } if m.created_at != nil { fields = append(fields, extension.FieldCreatedAt) } 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 *ExtensionMutation) Field(name string) (ent.Value, bool) { switch name { case extension.FieldVersion: return m.Version() case extension.FieldPath: return m.Path() case extension.FieldCreatedAt: return m.CreatedAt() } 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 *ExtensionMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case extension.FieldVersion: return m.OldVersion(ctx) case extension.FieldPath: return m.OldPath(ctx) case extension.FieldCreatedAt: return m.OldCreatedAt(ctx) } return nil, fmt.Errorf("unknown Extension 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 *ExtensionMutation) SetField(name string, value ent.Value) error { switch name { case extension.FieldVersion: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetVersion(v) return nil case extension.FieldPath: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPath(v) return nil case extension.FieldCreatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatedAt(v) return nil } return fmt.Errorf("unknown Extension field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *ExtensionMutation) 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 *ExtensionMutation) 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 *ExtensionMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown Extension numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *ExtensionMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *ExtensionMutation) 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 *ExtensionMutation) ClearField(name string) error { return fmt.Errorf("unknown Extension 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 *ExtensionMutation) ResetField(name string) error { switch name { case extension.FieldVersion: m.ResetVersion() return nil case extension.FieldPath: m.ResetPath() return nil case extension.FieldCreatedAt: m.ResetCreatedAt() return nil } return fmt.Errorf("unknown Extension field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *ExtensionMutation) 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 *ExtensionMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *ExtensionMutation) 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 *ExtensionMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *ExtensionMutation) 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 *ExtensionMutation) 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 *ExtensionMutation) ClearEdge(name string) error { return fmt.Errorf("unknown Extension 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 *ExtensionMutation) ResetEdge(name string) error { return fmt.Errorf("unknown Extension edge %s", name) } // InviteCodeMutation represents an operation that mutates the InviteCode nodes in the graph. type InviteCodeMutation struct { config op Op typ string id *uuid.UUID admin_id *uuid.UUID code *string status *consts.InviteCodeStatus created_at *time.Time updated_at *time.Time expired_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*InviteCode, error) predicates []predicate.InviteCode } var _ ent.Mutation = (*InviteCodeMutation)(nil) // invitecodeOption allows management of the mutation configuration using functional options. type invitecodeOption func(*InviteCodeMutation) // newInviteCodeMutation creates new mutation for the InviteCode entity. func newInviteCodeMutation(c config, op Op, opts ...invitecodeOption) *InviteCodeMutation { m := &InviteCodeMutation{ config: c, op: op, typ: TypeInviteCode, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withInviteCodeID sets the ID field of the mutation. func withInviteCodeID(id uuid.UUID) invitecodeOption { return func(m *InviteCodeMutation) { var ( err error once sync.Once value *InviteCode ) m.oldValue = func(ctx context.Context) (*InviteCode, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().InviteCode.Get(ctx, id) } }) return value, err } m.id = &id } } // withInviteCode sets the old InviteCode of the mutation. func withInviteCode(node *InviteCode) invitecodeOption { return func(m *InviteCodeMutation) { m.oldValue = func(context.Context) (*InviteCode, 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 InviteCodeMutation) 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 InviteCodeMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 InviteCode entities. func (m *InviteCodeMutation) SetID(id uuid.UUID) { 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 *InviteCodeMutation) ID() (id uuid.UUID, 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 *InviteCodeMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().InviteCode.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetAdminID sets the "admin_id" field. func (m *InviteCodeMutation) SetAdminID(u uuid.UUID) { m.admin_id = &u } // AdminID returns the value of the "admin_id" field in the mutation. func (m *InviteCodeMutation) AdminID() (r uuid.UUID, exists bool) { v := m.admin_id if v == nil { return } return *v, true } // OldAdminID returns the old "admin_id" field's value of the InviteCode entity. // If the InviteCode 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 *InviteCodeMutation) OldAdminID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAdminID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAdminID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAdminID: %w", err) } return oldValue.AdminID, nil } // ResetAdminID resets all changes to the "admin_id" field. func (m *InviteCodeMutation) ResetAdminID() { m.admin_id = nil } // SetCode sets the "code" field. func (m *InviteCodeMutation) SetCode(s string) { m.code = &s } // Code returns the value of the "code" field in the mutation. func (m *InviteCodeMutation) 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 InviteCode entity. // If the InviteCode 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 *InviteCodeMutation) 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 *InviteCodeMutation) ResetCode() { m.code = nil } // SetStatus sets the "status" field. func (m *InviteCodeMutation) SetStatus(ccs consts.InviteCodeStatus) { m.status = &ccs } // Status returns the value of the "status" field in the mutation. func (m *InviteCodeMutation) Status() (r consts.InviteCodeStatus, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the InviteCode entity. // If the InviteCode 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 *InviteCodeMutation) OldStatus(ctx context.Context) (v consts.InviteCodeStatus, 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 *InviteCodeMutation) ResetStatus() { m.status = nil } // SetCreatedAt sets the "created_at" field. func (m *InviteCodeMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *InviteCodeMutation) 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 InviteCode entity. // If the InviteCode 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 *InviteCodeMutation) 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 *InviteCodeMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *InviteCodeMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *InviteCodeMutation) 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 InviteCode entity. // If the InviteCode 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 *InviteCodeMutation) 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 *InviteCodeMutation) ResetUpdatedAt() { m.updated_at = nil } // SetExpiredAt sets the "expired_at" field. func (m *InviteCodeMutation) SetExpiredAt(t time.Time) { m.expired_at = &t } // ExpiredAt returns the value of the "expired_at" field in the mutation. func (m *InviteCodeMutation) 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 InviteCode entity. // If the InviteCode 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 *InviteCodeMutation) 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 *InviteCodeMutation) ResetExpiredAt() { m.expired_at = nil } // Where appends a list predicates to the InviteCodeMutation builder. func (m *InviteCodeMutation) Where(ps ...predicate.InviteCode) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the InviteCodeMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *InviteCodeMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.InviteCode, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *InviteCodeMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *InviteCodeMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (InviteCode). func (m *InviteCodeMutation) 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 *InviteCodeMutation) Fields() []string { fields := make([]string, 0, 6) if m.admin_id != nil { fields = append(fields, invitecode.FieldAdminID) } if m.code != nil { fields = append(fields, invitecode.FieldCode) } if m.status != nil { fields = append(fields, invitecode.FieldStatus) } if m.created_at != nil { fields = append(fields, invitecode.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, invitecode.FieldUpdatedAt) } if m.expired_at != nil { fields = append(fields, invitecode.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 *InviteCodeMutation) Field(name string) (ent.Value, bool) { switch name { case invitecode.FieldAdminID: return m.AdminID() case invitecode.FieldCode: return m.Code() case invitecode.FieldStatus: return m.Status() case invitecode.FieldCreatedAt: return m.CreatedAt() case invitecode.FieldUpdatedAt: return m.UpdatedAt() case invitecode.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 *InviteCodeMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case invitecode.FieldAdminID: return m.OldAdminID(ctx) case invitecode.FieldCode: return m.OldCode(ctx) case invitecode.FieldStatus: return m.OldStatus(ctx) case invitecode.FieldCreatedAt: return m.OldCreatedAt(ctx) case invitecode.FieldUpdatedAt: return m.OldUpdatedAt(ctx) case invitecode.FieldExpiredAt: return m.OldExpiredAt(ctx) } return nil, fmt.Errorf("unknown InviteCode 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 *InviteCodeMutation) SetField(name string, value ent.Value) error { switch name { case invitecode.FieldAdminID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAdminID(v) return nil case invitecode.FieldCode: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCode(v) return nil case invitecode.FieldStatus: v, ok := value.(consts.InviteCodeStatus) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case invitecode.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 invitecode.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 invitecode.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 InviteCode field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *InviteCodeMutation) 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 *InviteCodeMutation) 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 *InviteCodeMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown InviteCode numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *InviteCodeMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *InviteCodeMutation) 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 *InviteCodeMutation) ClearField(name string) error { return fmt.Errorf("unknown InviteCode 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 *InviteCodeMutation) ResetField(name string) error { switch name { case invitecode.FieldAdminID: m.ResetAdminID() return nil case invitecode.FieldCode: m.ResetCode() return nil case invitecode.FieldStatus: m.ResetStatus() return nil case invitecode.FieldCreatedAt: m.ResetCreatedAt() return nil case invitecode.FieldUpdatedAt: m.ResetUpdatedAt() return nil case invitecode.FieldExpiredAt: m.ResetExpiredAt() return nil } return fmt.Errorf("unknown InviteCode field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *InviteCodeMutation) 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 *InviteCodeMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *InviteCodeMutation) 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 *InviteCodeMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *InviteCodeMutation) 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 *InviteCodeMutation) 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 *InviteCodeMutation) ClearEdge(name string) error { return fmt.Errorf("unknown InviteCode 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 *InviteCodeMutation) ResetEdge(name string) error { return fmt.Errorf("unknown InviteCode edge %s", name) } // LicenseMutation represents an operation that mutates the License nodes in the graph. type LicenseMutation struct { config op Op typ string id *int _type *consts.LicenseType data *[]byte code *string created_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*License, error) predicates []predicate.License } var _ ent.Mutation = (*LicenseMutation)(nil) // licenseOption allows management of the mutation configuration using functional options. type licenseOption func(*LicenseMutation) // newLicenseMutation creates new mutation for the License entity. func newLicenseMutation(c config, op Op, opts ...licenseOption) *LicenseMutation { m := &LicenseMutation{ config: c, op: op, typ: TypeLicense, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withLicenseID sets the ID field of the mutation. func withLicenseID(id int) licenseOption { return func(m *LicenseMutation) { var ( err error once sync.Once value *License ) m.oldValue = func(ctx context.Context) (*License, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().License.Get(ctx, id) } }) return value, err } m.id = &id } } // withLicense sets the old License of the mutation. func withLicense(node *License) licenseOption { return func(m *LicenseMutation) { m.oldValue = func(context.Context) (*License, 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 LicenseMutation) 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 LicenseMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 License entities. func (m *LicenseMutation) SetID(id int) { 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 *LicenseMutation) ID() (id int, exists bool) { if m.id == nil { return } return *m.id, true } // IDs queries the database and returns the entity ids that match the mutation's predicate. // That means, if the mutation is applied within a transaction with an isolation level such // as sql.LevelSerializable, the returned ids match the ids of the rows that will be updated // or updated by the mutation. func (m *LicenseMutation) IDs(ctx context.Context) ([]int, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []int{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().License.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetType sets the "type" field. func (m *LicenseMutation) SetType(ct consts.LicenseType) { m._type = &ct } // GetType returns the value of the "type" field in the mutation. func (m *LicenseMutation) GetType() (r consts.LicenseType, exists bool) { v := m._type if v == nil { return } return *v, true } // OldType returns the old "type" field's value of the License entity. // If the License 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 *LicenseMutation) OldType(ctx context.Context) (v consts.LicenseType, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldType: %w", err) } return oldValue.Type, nil } // ResetType resets all changes to the "type" field. func (m *LicenseMutation) ResetType() { m._type = nil } // SetData sets the "data" field. func (m *LicenseMutation) SetData(b []byte) { m.data = &b } // Data returns the value of the "data" field in the mutation. func (m *LicenseMutation) Data() (r []byte, exists bool) { v := m.data if v == nil { return } return *v, true } // OldData returns the old "data" field's value of the License entity. // If the License 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 *LicenseMutation) OldData(ctx context.Context) (v []byte, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldData is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldData requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldData: %w", err) } return oldValue.Data, nil } // ClearData clears the value of the "data" field. func (m *LicenseMutation) ClearData() { m.data = nil m.clearedFields[license.FieldData] = struct{}{} } // DataCleared returns if the "data" field was cleared in this mutation. func (m *LicenseMutation) DataCleared() bool { _, ok := m.clearedFields[license.FieldData] return ok } // ResetData resets all changes to the "data" field. func (m *LicenseMutation) ResetData() { m.data = nil delete(m.clearedFields, license.FieldData) } // SetCode sets the "code" field. func (m *LicenseMutation) SetCode(s string) { m.code = &s } // Code returns the value of the "code" field in the mutation. func (m *LicenseMutation) 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 License entity. // If the License 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 *LicenseMutation) 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 } // ClearCode clears the value of the "code" field. func (m *LicenseMutation) ClearCode() { m.code = nil m.clearedFields[license.FieldCode] = struct{}{} } // CodeCleared returns if the "code" field was cleared in this mutation. func (m *LicenseMutation) CodeCleared() bool { _, ok := m.clearedFields[license.FieldCode] return ok } // ResetCode resets all changes to the "code" field. func (m *LicenseMutation) ResetCode() { m.code = nil delete(m.clearedFields, license.FieldCode) } // SetCreatedAt sets the "created_at" field. func (m *LicenseMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *LicenseMutation) 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 License entity. // If the License 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 *LicenseMutation) 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 *LicenseMutation) ResetCreatedAt() { m.created_at = nil } // Where appends a list predicates to the LicenseMutation builder. func (m *LicenseMutation) Where(ps ...predicate.License) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the LicenseMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *LicenseMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.License, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *LicenseMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *LicenseMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (License). func (m *LicenseMutation) 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 *LicenseMutation) Fields() []string { fields := make([]string, 0, 4) if m._type != nil { fields = append(fields, license.FieldType) } if m.data != nil { fields = append(fields, license.FieldData) } if m.code != nil { fields = append(fields, license.FieldCode) } if m.created_at != nil { fields = append(fields, license.FieldCreatedAt) } 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 *LicenseMutation) Field(name string) (ent.Value, bool) { switch name { case license.FieldType: return m.GetType() case license.FieldData: return m.Data() case license.FieldCode: return m.Code() case license.FieldCreatedAt: return m.CreatedAt() } 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 *LicenseMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case license.FieldType: return m.OldType(ctx) case license.FieldData: return m.OldData(ctx) case license.FieldCode: return m.OldCode(ctx) case license.FieldCreatedAt: return m.OldCreatedAt(ctx) } return nil, fmt.Errorf("unknown License 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 *LicenseMutation) SetField(name string, value ent.Value) error { switch name { case license.FieldType: v, ok := value.(consts.LicenseType) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetType(v) return nil case license.FieldData: v, ok := value.([]byte) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetData(v) return nil case license.FieldCode: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCode(v) return nil case license.FieldCreatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatedAt(v) return nil } return fmt.Errorf("unknown License field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *LicenseMutation) 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 *LicenseMutation) 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 *LicenseMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown License numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *LicenseMutation) ClearedFields() []string { var fields []string if m.FieldCleared(license.FieldData) { fields = append(fields, license.FieldData) } if m.FieldCleared(license.FieldCode) { fields = append(fields, license.FieldCode) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *LicenseMutation) 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 *LicenseMutation) ClearField(name string) error { switch name { case license.FieldData: m.ClearData() return nil case license.FieldCode: m.ClearCode() return nil } return fmt.Errorf("unknown License 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 *LicenseMutation) ResetField(name string) error { switch name { case license.FieldType: m.ResetType() return nil case license.FieldData: m.ResetData() return nil case license.FieldCode: m.ResetCode() return nil case license.FieldCreatedAt: m.ResetCreatedAt() return nil } return fmt.Errorf("unknown License field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *LicenseMutation) 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 *LicenseMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *LicenseMutation) 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 *LicenseMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *LicenseMutation) 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 *LicenseMutation) 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 *LicenseMutation) ClearEdge(name string) error { return fmt.Errorf("unknown License 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 *LicenseMutation) ResetEdge(name string) error { return fmt.Errorf("unknown License edge %s", name) } // ModelMutation represents an operation that mutates the Model nodes in the graph. type ModelMutation struct { config op Op typ string id *uuid.UUID model_name *string model_type *consts.ModelType show_name *string api_base *string api_key *string api_version *string api_header *string description *string is_internal *bool provider *consts.ModelProvider status *consts.ModelStatus parameters **types.ModelParam context_length *int addcontext_length *int created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} tasks map[uuid.UUID]struct{} removedtasks map[uuid.UUID]struct{} clearedtasks bool user *uuid.UUID cleareduser bool done bool oldValue func(context.Context) (*Model, error) predicates []predicate.Model } var _ ent.Mutation = (*ModelMutation)(nil) // modelOption allows management of the mutation configuration using functional options. type modelOption func(*ModelMutation) // newModelMutation creates new mutation for the Model entity. func newModelMutation(c config, op Op, opts ...modelOption) *ModelMutation { m := &ModelMutation{ config: c, op: op, typ: TypeModel, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withModelID sets the ID field of the mutation. func withModelID(id uuid.UUID) modelOption { return func(m *ModelMutation) { var ( err error once sync.Once value *Model ) m.oldValue = func(ctx context.Context) (*Model, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().Model.Get(ctx, id) } }) return value, err } m.id = &id } } // withModel sets the old Model of the mutation. func withModel(node *Model) modelOption { return func(m *ModelMutation) { m.oldValue = func(context.Context) (*Model, 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 ModelMutation) 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 ModelMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 Model entities. func (m *ModelMutation) SetID(id uuid.UUID) { 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 *ModelMutation) ID() (id uuid.UUID, 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 *ModelMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().Model.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUserID sets the "user_id" field. func (m *ModelMutation) SetUserID(u uuid.UUID) { m.user = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *ModelMutation) UserID() (r uuid.UUID, exists bool) { v := m.user if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the Model entity. // If the Model 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 *ModelMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 } // ClearUserID clears the value of the "user_id" field. func (m *ModelMutation) ClearUserID() { m.user = nil m.clearedFields[model.FieldUserID] = struct{}{} } // UserIDCleared returns if the "user_id" field was cleared in this mutation. func (m *ModelMutation) UserIDCleared() bool { _, ok := m.clearedFields[model.FieldUserID] return ok } // ResetUserID resets all changes to the "user_id" field. func (m *ModelMutation) ResetUserID() { m.user = nil delete(m.clearedFields, model.FieldUserID) } // SetModelName sets the "model_name" field. func (m *ModelMutation) SetModelName(s string) { m.model_name = &s } // ModelName returns the value of the "model_name" field in the mutation. func (m *ModelMutation) ModelName() (r string, exists bool) { v := m.model_name if v == nil { return } return *v, true } // OldModelName returns the old "model_name" field's value of the Model entity. // If the Model 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 *ModelMutation) OldModelName(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldModelName is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldModelName requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldModelName: %w", err) } return oldValue.ModelName, nil } // ResetModelName resets all changes to the "model_name" field. func (m *ModelMutation) ResetModelName() { m.model_name = nil } // SetModelType sets the "model_type" field. func (m *ModelMutation) SetModelType(ct consts.ModelType) { m.model_type = &ct } // ModelType returns the value of the "model_type" field in the mutation. func (m *ModelMutation) ModelType() (r consts.ModelType, exists bool) { v := m.model_type if v == nil { return } return *v, true } // OldModelType returns the old "model_type" field's value of the Model entity. // If the Model 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 *ModelMutation) OldModelType(ctx context.Context) (v consts.ModelType, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldModelType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldModelType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldModelType: %w", err) } return oldValue.ModelType, nil } // ResetModelType resets all changes to the "model_type" field. func (m *ModelMutation) ResetModelType() { m.model_type = nil } // SetShowName sets the "show_name" field. func (m *ModelMutation) SetShowName(s string) { m.show_name = &s } // ShowName returns the value of the "show_name" field in the mutation. func (m *ModelMutation) ShowName() (r string, exists bool) { v := m.show_name if v == nil { return } return *v, true } // OldShowName returns the old "show_name" field's value of the Model entity. // If the Model 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 *ModelMutation) OldShowName(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldShowName is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldShowName requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldShowName: %w", err) } return oldValue.ShowName, nil } // ClearShowName clears the value of the "show_name" field. func (m *ModelMutation) ClearShowName() { m.show_name = nil m.clearedFields[model.FieldShowName] = struct{}{} } // ShowNameCleared returns if the "show_name" field was cleared in this mutation. func (m *ModelMutation) ShowNameCleared() bool { _, ok := m.clearedFields[model.FieldShowName] return ok } // ResetShowName resets all changes to the "show_name" field. func (m *ModelMutation) ResetShowName() { m.show_name = nil delete(m.clearedFields, model.FieldShowName) } // SetAPIBase sets the "api_base" field. func (m *ModelMutation) SetAPIBase(s string) { m.api_base = &s } // APIBase returns the value of the "api_base" field in the mutation. func (m *ModelMutation) APIBase() (r string, exists bool) { v := m.api_base if v == nil { return } return *v, true } // OldAPIBase returns the old "api_base" field's value of the Model entity. // If the Model 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 *ModelMutation) OldAPIBase(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAPIBase is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAPIBase requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAPIBase: %w", err) } return oldValue.APIBase, nil } // ResetAPIBase resets all changes to the "api_base" field. func (m *ModelMutation) ResetAPIBase() { m.api_base = nil } // SetAPIKey sets the "api_key" field. func (m *ModelMutation) SetAPIKey(s string) { m.api_key = &s } // APIKey returns the value of the "api_key" field in the mutation. func (m *ModelMutation) APIKey() (r string, exists bool) { v := m.api_key if v == nil { return } return *v, true } // OldAPIKey returns the old "api_key" field's value of the Model entity. // If the Model 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 *ModelMutation) OldAPIKey(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAPIKey is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAPIKey requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAPIKey: %w", err) } return oldValue.APIKey, nil } // ClearAPIKey clears the value of the "api_key" field. func (m *ModelMutation) ClearAPIKey() { m.api_key = nil m.clearedFields[model.FieldAPIKey] = struct{}{} } // APIKeyCleared returns if the "api_key" field was cleared in this mutation. func (m *ModelMutation) APIKeyCleared() bool { _, ok := m.clearedFields[model.FieldAPIKey] return ok } // ResetAPIKey resets all changes to the "api_key" field. func (m *ModelMutation) ResetAPIKey() { m.api_key = nil delete(m.clearedFields, model.FieldAPIKey) } // SetAPIVersion sets the "api_version" field. func (m *ModelMutation) SetAPIVersion(s string) { m.api_version = &s } // APIVersion returns the value of the "api_version" field in the mutation. func (m *ModelMutation) APIVersion() (r string, exists bool) { v := m.api_version if v == nil { return } return *v, true } // OldAPIVersion returns the old "api_version" field's value of the Model entity. // If the Model 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 *ModelMutation) OldAPIVersion(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAPIVersion is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAPIVersion requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAPIVersion: %w", err) } return oldValue.APIVersion, nil } // ClearAPIVersion clears the value of the "api_version" field. func (m *ModelMutation) ClearAPIVersion() { m.api_version = nil m.clearedFields[model.FieldAPIVersion] = struct{}{} } // APIVersionCleared returns if the "api_version" field was cleared in this mutation. func (m *ModelMutation) APIVersionCleared() bool { _, ok := m.clearedFields[model.FieldAPIVersion] return ok } // ResetAPIVersion resets all changes to the "api_version" field. func (m *ModelMutation) ResetAPIVersion() { m.api_version = nil delete(m.clearedFields, model.FieldAPIVersion) } // SetAPIHeader sets the "api_header" field. func (m *ModelMutation) SetAPIHeader(s string) { m.api_header = &s } // APIHeader returns the value of the "api_header" field in the mutation. func (m *ModelMutation) APIHeader() (r string, exists bool) { v := m.api_header if v == nil { return } return *v, true } // OldAPIHeader returns the old "api_header" field's value of the Model entity. // If the Model 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 *ModelMutation) OldAPIHeader(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAPIHeader is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAPIHeader requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAPIHeader: %w", err) } return oldValue.APIHeader, nil } // ClearAPIHeader clears the value of the "api_header" field. func (m *ModelMutation) ClearAPIHeader() { m.api_header = nil m.clearedFields[model.FieldAPIHeader] = struct{}{} } // APIHeaderCleared returns if the "api_header" field was cleared in this mutation. func (m *ModelMutation) APIHeaderCleared() bool { _, ok := m.clearedFields[model.FieldAPIHeader] return ok } // ResetAPIHeader resets all changes to the "api_header" field. func (m *ModelMutation) ResetAPIHeader() { m.api_header = nil delete(m.clearedFields, model.FieldAPIHeader) } // SetDescription sets the "description" field. func (m *ModelMutation) SetDescription(s string) { m.description = &s } // Description returns the value of the "description" field in the mutation. func (m *ModelMutation) 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 Model entity. // If the Model 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 *ModelMutation) 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 *ModelMutation) ClearDescription() { m.description = nil m.clearedFields[model.FieldDescription] = struct{}{} } // DescriptionCleared returns if the "description" field was cleared in this mutation. func (m *ModelMutation) DescriptionCleared() bool { _, ok := m.clearedFields[model.FieldDescription] return ok } // ResetDescription resets all changes to the "description" field. func (m *ModelMutation) ResetDescription() { m.description = nil delete(m.clearedFields, model.FieldDescription) } // SetIsInternal sets the "is_internal" field. func (m *ModelMutation) SetIsInternal(b bool) { m.is_internal = &b } // IsInternal returns the value of the "is_internal" field in the mutation. func (m *ModelMutation) IsInternal() (r bool, exists bool) { v := m.is_internal if v == nil { return } return *v, true } // OldIsInternal returns the old "is_internal" field's value of the Model entity. // If the Model 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 *ModelMutation) OldIsInternal(ctx context.Context) (v bool, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIsInternal is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIsInternal requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIsInternal: %w", err) } return oldValue.IsInternal, nil } // ResetIsInternal resets all changes to the "is_internal" field. func (m *ModelMutation) ResetIsInternal() { m.is_internal = nil } // SetProvider sets the "provider" field. func (m *ModelMutation) SetProvider(cp consts.ModelProvider) { m.provider = &cp } // Provider returns the value of the "provider" field in the mutation. func (m *ModelMutation) Provider() (r consts.ModelProvider, exists bool) { v := m.provider if v == nil { return } return *v, true } // OldProvider returns the old "provider" field's value of the Model entity. // If the Model 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 *ModelMutation) OldProvider(ctx context.Context) (v consts.ModelProvider, 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 *ModelMutation) ResetProvider() { m.provider = nil } // SetStatus sets the "status" field. func (m *ModelMutation) SetStatus(cs consts.ModelStatus) { m.status = &cs } // Status returns the value of the "status" field in the mutation. func (m *ModelMutation) Status() (r consts.ModelStatus, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the Model entity. // If the Model 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 *ModelMutation) OldStatus(ctx context.Context) (v consts.ModelStatus, 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 *ModelMutation) ResetStatus() { m.status = nil } // SetParameters sets the "parameters" field. func (m *ModelMutation) SetParameters(tp *types.ModelParam) { m.parameters = &tp } // Parameters returns the value of the "parameters" field in the mutation. func (m *ModelMutation) Parameters() (r *types.ModelParam, exists bool) { v := m.parameters if v == nil { return } return *v, true } // OldParameters returns the old "parameters" field's value of the Model entity. // If the Model 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 *ModelMutation) OldParameters(ctx context.Context) (v *types.ModelParam, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldParameters is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldParameters requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldParameters: %w", err) } return oldValue.Parameters, nil } // ClearParameters clears the value of the "parameters" field. func (m *ModelMutation) ClearParameters() { m.parameters = nil m.clearedFields[model.FieldParameters] = struct{}{} } // ParametersCleared returns if the "parameters" field was cleared in this mutation. func (m *ModelMutation) ParametersCleared() bool { _, ok := m.clearedFields[model.FieldParameters] return ok } // ResetParameters resets all changes to the "parameters" field. func (m *ModelMutation) ResetParameters() { m.parameters = nil delete(m.clearedFields, model.FieldParameters) } // SetContextLength sets the "context_length" field. func (m *ModelMutation) SetContextLength(i int) { m.context_length = &i m.addcontext_length = nil } // ContextLength returns the value of the "context_length" field in the mutation. func (m *ModelMutation) ContextLength() (r int, exists bool) { v := m.context_length if v == nil { return } return *v, true } // OldContextLength returns the old "context_length" field's value of the Model entity. // If the Model 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 *ModelMutation) OldContextLength(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldContextLength is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldContextLength requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldContextLength: %w", err) } return oldValue.ContextLength, nil } // AddContextLength adds i to the "context_length" field. func (m *ModelMutation) AddContextLength(i int) { if m.addcontext_length != nil { *m.addcontext_length += i } else { m.addcontext_length = &i } } // AddedContextLength returns the value that was added to the "context_length" field in this mutation. func (m *ModelMutation) AddedContextLength() (r int, exists bool) { v := m.addcontext_length if v == nil { return } return *v, true } // ClearContextLength clears the value of the "context_length" field. func (m *ModelMutation) ClearContextLength() { m.context_length = nil m.addcontext_length = nil m.clearedFields[model.FieldContextLength] = struct{}{} } // ContextLengthCleared returns if the "context_length" field was cleared in this mutation. func (m *ModelMutation) ContextLengthCleared() bool { _, ok := m.clearedFields[model.FieldContextLength] return ok } // ResetContextLength resets all changes to the "context_length" field. func (m *ModelMutation) ResetContextLength() { m.context_length = nil m.addcontext_length = nil delete(m.clearedFields, model.FieldContextLength) } // SetCreatedAt sets the "created_at" field. func (m *ModelMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *ModelMutation) 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 Model entity. // If the Model 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 *ModelMutation) 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 *ModelMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *ModelMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *ModelMutation) 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 Model entity. // If the Model 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 *ModelMutation) 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 *ModelMutation) ResetUpdatedAt() { m.updated_at = nil } // AddTaskIDs adds the "tasks" edge to the Task entity by ids. func (m *ModelMutation) AddTaskIDs(ids ...uuid.UUID) { if m.tasks == nil { m.tasks = make(map[uuid.UUID]struct{}) } for i := range ids { m.tasks[ids[i]] = struct{}{} } } // ClearTasks clears the "tasks" edge to the Task entity. func (m *ModelMutation) ClearTasks() { m.clearedtasks = true } // TasksCleared reports if the "tasks" edge to the Task entity was cleared. func (m *ModelMutation) TasksCleared() bool { return m.clearedtasks } // RemoveTaskIDs removes the "tasks" edge to the Task entity by IDs. func (m *ModelMutation) RemoveTaskIDs(ids ...uuid.UUID) { if m.removedtasks == nil { m.removedtasks = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.tasks, ids[i]) m.removedtasks[ids[i]] = struct{}{} } } // RemovedTasks returns the removed IDs of the "tasks" edge to the Task entity. func (m *ModelMutation) RemovedTasksIDs() (ids []uuid.UUID) { for id := range m.removedtasks { ids = append(ids, id) } return } // TasksIDs returns the "tasks" edge IDs in the mutation. func (m *ModelMutation) TasksIDs() (ids []uuid.UUID) { for id := range m.tasks { ids = append(ids, id) } return } // ResetTasks resets all changes to the "tasks" edge. func (m *ModelMutation) ResetTasks() { m.tasks = nil m.clearedtasks = false m.removedtasks = nil } // ClearUser clears the "user" edge to the User entity. func (m *ModelMutation) ClearUser() { m.cleareduser = true m.clearedFields[model.FieldUserID] = struct{}{} } // UserCleared reports if the "user" edge to the User entity was cleared. func (m *ModelMutation) UserCleared() bool { return m.UserIDCleared() || 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 *ModelMutation) UserIDs() (ids []uuid.UUID) { if id := m.user; id != nil { ids = append(ids, *id) } return } // ResetUser resets all changes to the "user" edge. func (m *ModelMutation) ResetUser() { m.user = nil m.cleareduser = false } // Where appends a list predicates to the ModelMutation builder. func (m *ModelMutation) Where(ps ...predicate.Model) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the ModelMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *ModelMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.Model, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *ModelMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *ModelMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (Model). func (m *ModelMutation) 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 *ModelMutation) Fields() []string { fields := make([]string, 0, 16) if m.user != nil { fields = append(fields, model.FieldUserID) } if m.model_name != nil { fields = append(fields, model.FieldModelName) } if m.model_type != nil { fields = append(fields, model.FieldModelType) } if m.show_name != nil { fields = append(fields, model.FieldShowName) } if m.api_base != nil { fields = append(fields, model.FieldAPIBase) } if m.api_key != nil { fields = append(fields, model.FieldAPIKey) } if m.api_version != nil { fields = append(fields, model.FieldAPIVersion) } if m.api_header != nil { fields = append(fields, model.FieldAPIHeader) } if m.description != nil { fields = append(fields, model.FieldDescription) } if m.is_internal != nil { fields = append(fields, model.FieldIsInternal) } if m.provider != nil { fields = append(fields, model.FieldProvider) } if m.status != nil { fields = append(fields, model.FieldStatus) } if m.parameters != nil { fields = append(fields, model.FieldParameters) } if m.context_length != nil { fields = append(fields, model.FieldContextLength) } if m.created_at != nil { fields = append(fields, model.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, model.FieldUpdatedAt) } 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 *ModelMutation) Field(name string) (ent.Value, bool) { switch name { case model.FieldUserID: return m.UserID() case model.FieldModelName: return m.ModelName() case model.FieldModelType: return m.ModelType() case model.FieldShowName: return m.ShowName() case model.FieldAPIBase: return m.APIBase() case model.FieldAPIKey: return m.APIKey() case model.FieldAPIVersion: return m.APIVersion() case model.FieldAPIHeader: return m.APIHeader() case model.FieldDescription: return m.Description() case model.FieldIsInternal: return m.IsInternal() case model.FieldProvider: return m.Provider() case model.FieldStatus: return m.Status() case model.FieldParameters: return m.Parameters() case model.FieldContextLength: return m.ContextLength() case model.FieldCreatedAt: return m.CreatedAt() case model.FieldUpdatedAt: return m.UpdatedAt() } 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 *ModelMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case model.FieldUserID: return m.OldUserID(ctx) case model.FieldModelName: return m.OldModelName(ctx) case model.FieldModelType: return m.OldModelType(ctx) case model.FieldShowName: return m.OldShowName(ctx) case model.FieldAPIBase: return m.OldAPIBase(ctx) case model.FieldAPIKey: return m.OldAPIKey(ctx) case model.FieldAPIVersion: return m.OldAPIVersion(ctx) case model.FieldAPIHeader: return m.OldAPIHeader(ctx) case model.FieldDescription: return m.OldDescription(ctx) case model.FieldIsInternal: return m.OldIsInternal(ctx) case model.FieldProvider: return m.OldProvider(ctx) case model.FieldStatus: return m.OldStatus(ctx) case model.FieldParameters: return m.OldParameters(ctx) case model.FieldContextLength: return m.OldContextLength(ctx) case model.FieldCreatedAt: return m.OldCreatedAt(ctx) case model.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown Model 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 *ModelMutation) SetField(name string, value ent.Value) error { switch name { case model.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case model.FieldModelName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetModelName(v) return nil case model.FieldModelType: v, ok := value.(consts.ModelType) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetModelType(v) return nil case model.FieldShowName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetShowName(v) return nil case model.FieldAPIBase: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAPIBase(v) return nil case model.FieldAPIKey: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAPIKey(v) return nil case model.FieldAPIVersion: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAPIVersion(v) return nil case model.FieldAPIHeader: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAPIHeader(v) return nil case model.FieldDescription: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDescription(v) return nil case model.FieldIsInternal: v, ok := value.(bool) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIsInternal(v) return nil case model.FieldProvider: v, ok := value.(consts.ModelProvider) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetProvider(v) return nil case model.FieldStatus: v, ok := value.(consts.ModelStatus) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case model.FieldParameters: v, ok := value.(*types.ModelParam) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetParameters(v) return nil case model.FieldContextLength: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContextLength(v) return nil case model.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 model.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown Model field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *ModelMutation) AddedFields() []string { var fields []string if m.addcontext_length != nil { fields = append(fields, model.FieldContextLength) } 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 *ModelMutation) AddedField(name string) (ent.Value, bool) { switch name { case model.FieldContextLength: return m.AddedContextLength() } 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 *ModelMutation) AddField(name string, value ent.Value) error { switch name { case model.FieldContextLength: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddContextLength(v) return nil } return fmt.Errorf("unknown Model numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *ModelMutation) ClearedFields() []string { var fields []string if m.FieldCleared(model.FieldUserID) { fields = append(fields, model.FieldUserID) } if m.FieldCleared(model.FieldShowName) { fields = append(fields, model.FieldShowName) } if m.FieldCleared(model.FieldAPIKey) { fields = append(fields, model.FieldAPIKey) } if m.FieldCleared(model.FieldAPIVersion) { fields = append(fields, model.FieldAPIVersion) } if m.FieldCleared(model.FieldAPIHeader) { fields = append(fields, model.FieldAPIHeader) } if m.FieldCleared(model.FieldDescription) { fields = append(fields, model.FieldDescription) } if m.FieldCleared(model.FieldParameters) { fields = append(fields, model.FieldParameters) } if m.FieldCleared(model.FieldContextLength) { fields = append(fields, model.FieldContextLength) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *ModelMutation) 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 *ModelMutation) ClearField(name string) error { switch name { case model.FieldUserID: m.ClearUserID() return nil case model.FieldShowName: m.ClearShowName() return nil case model.FieldAPIKey: m.ClearAPIKey() return nil case model.FieldAPIVersion: m.ClearAPIVersion() return nil case model.FieldAPIHeader: m.ClearAPIHeader() return nil case model.FieldDescription: m.ClearDescription() return nil case model.FieldParameters: m.ClearParameters() return nil case model.FieldContextLength: m.ClearContextLength() return nil } return fmt.Errorf("unknown Model 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 *ModelMutation) ResetField(name string) error { switch name { case model.FieldUserID: m.ResetUserID() return nil case model.FieldModelName: m.ResetModelName() return nil case model.FieldModelType: m.ResetModelType() return nil case model.FieldShowName: m.ResetShowName() return nil case model.FieldAPIBase: m.ResetAPIBase() return nil case model.FieldAPIKey: m.ResetAPIKey() return nil case model.FieldAPIVersion: m.ResetAPIVersion() return nil case model.FieldAPIHeader: m.ResetAPIHeader() return nil case model.FieldDescription: m.ResetDescription() return nil case model.FieldIsInternal: m.ResetIsInternal() return nil case model.FieldProvider: m.ResetProvider() return nil case model.FieldStatus: m.ResetStatus() return nil case model.FieldParameters: m.ResetParameters() return nil case model.FieldContextLength: m.ResetContextLength() return nil case model.FieldCreatedAt: m.ResetCreatedAt() return nil case model.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown Model field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *ModelMutation) AddedEdges() []string { edges := make([]string, 0, 2) if m.tasks != nil { edges = append(edges, model.EdgeTasks) } if m.user != nil { edges = append(edges, model.EdgeUser) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *ModelMutation) AddedIDs(name string) []ent.Value { switch name { case model.EdgeTasks: ids := make([]ent.Value, 0, len(m.tasks)) for id := range m.tasks { ids = append(ids, id) } return ids case model.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 *ModelMutation) RemovedEdges() []string { edges := make([]string, 0, 2) if m.removedtasks != nil { edges = append(edges, model.EdgeTasks) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *ModelMutation) RemovedIDs(name string) []ent.Value { switch name { case model.EdgeTasks: ids := make([]ent.Value, 0, len(m.removedtasks)) for id := range m.removedtasks { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *ModelMutation) ClearedEdges() []string { edges := make([]string, 0, 2) if m.clearedtasks { edges = append(edges, model.EdgeTasks) } if m.cleareduser { edges = append(edges, model.EdgeUser) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *ModelMutation) EdgeCleared(name string) bool { switch name { case model.EdgeTasks: return m.clearedtasks case model.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 *ModelMutation) ClearEdge(name string) error { switch name { case model.EdgeUser: m.ClearUser() return nil } return fmt.Errorf("unknown Model 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 *ModelMutation) ResetEdge(name string) error { switch name { case model.EdgeTasks: m.ResetTasks() return nil case model.EdgeUser: m.ResetUser() return nil } return fmt.Errorf("unknown Model edge %s", name) } // ModelProviderMutation represents an operation that mutates the ModelProvider nodes in the graph. type ModelProviderMutation struct { config op Op typ string id *string name *string api_base *string priority *int addpriority *int created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} models map[uuid.UUID]struct{} removedmodels map[uuid.UUID]struct{} clearedmodels bool done bool oldValue func(context.Context) (*ModelProvider, error) predicates []predicate.ModelProvider } var _ ent.Mutation = (*ModelProviderMutation)(nil) // modelproviderOption allows management of the mutation configuration using functional options. type modelproviderOption func(*ModelProviderMutation) // newModelProviderMutation creates new mutation for the ModelProvider entity. func newModelProviderMutation(c config, op Op, opts ...modelproviderOption) *ModelProviderMutation { m := &ModelProviderMutation{ config: c, op: op, typ: TypeModelProvider, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withModelProviderID sets the ID field of the mutation. func withModelProviderID(id string) modelproviderOption { return func(m *ModelProviderMutation) { var ( err error once sync.Once value *ModelProvider ) m.oldValue = func(ctx context.Context) (*ModelProvider, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().ModelProvider.Get(ctx, id) } }) return value, err } m.id = &id } } // withModelProvider sets the old ModelProvider of the mutation. func withModelProvider(node *ModelProvider) modelproviderOption { return func(m *ModelProviderMutation) { m.oldValue = func(context.Context) (*ModelProvider, 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 ModelProviderMutation) 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 ModelProviderMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 ModelProvider entities. func (m *ModelProviderMutation) SetID(id string) { 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 *ModelProviderMutation) ID() (id string, 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 *ModelProviderMutation) IDs(ctx context.Context) ([]string, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []string{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().ModelProvider.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetName sets the "name" field. func (m *ModelProviderMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *ModelProviderMutation) 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 ModelProvider entity. // If the ModelProvider 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 *ModelProviderMutation) 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 *ModelProviderMutation) ResetName() { m.name = nil } // SetAPIBase sets the "api_base" field. func (m *ModelProviderMutation) SetAPIBase(s string) { m.api_base = &s } // APIBase returns the value of the "api_base" field in the mutation. func (m *ModelProviderMutation) APIBase() (r string, exists bool) { v := m.api_base if v == nil { return } return *v, true } // OldAPIBase returns the old "api_base" field's value of the ModelProvider entity. // If the ModelProvider 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 *ModelProviderMutation) OldAPIBase(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAPIBase is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAPIBase requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAPIBase: %w", err) } return oldValue.APIBase, nil } // ResetAPIBase resets all changes to the "api_base" field. func (m *ModelProviderMutation) ResetAPIBase() { m.api_base = nil } // SetPriority sets the "priority" field. func (m *ModelProviderMutation) SetPriority(i int) { m.priority = &i m.addpriority = nil } // Priority returns the value of the "priority" field in the mutation. func (m *ModelProviderMutation) Priority() (r int, exists bool) { v := m.priority if v == nil { return } return *v, true } // OldPriority returns the old "priority" field's value of the ModelProvider entity. // If the ModelProvider 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 *ModelProviderMutation) OldPriority(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPriority is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPriority requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPriority: %w", err) } return oldValue.Priority, nil } // AddPriority adds i to the "priority" field. func (m *ModelProviderMutation) AddPriority(i int) { if m.addpriority != nil { *m.addpriority += i } else { m.addpriority = &i } } // AddedPriority returns the value that was added to the "priority" field in this mutation. func (m *ModelProviderMutation) AddedPriority() (r int, exists bool) { v := m.addpriority if v == nil { return } return *v, true } // ResetPriority resets all changes to the "priority" field. func (m *ModelProviderMutation) ResetPriority() { m.priority = nil m.addpriority = nil } // SetCreatedAt sets the "created_at" field. func (m *ModelProviderMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *ModelProviderMutation) 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 ModelProvider entity. // If the ModelProvider 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 *ModelProviderMutation) 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 *ModelProviderMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *ModelProviderMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *ModelProviderMutation) 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 ModelProvider entity. // If the ModelProvider 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 *ModelProviderMutation) 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 *ModelProviderMutation) ResetUpdatedAt() { m.updated_at = nil } // AddModelIDs adds the "models" edge to the ModelProviderModel entity by ids. func (m *ModelProviderMutation) AddModelIDs(ids ...uuid.UUID) { if m.models == nil { m.models = make(map[uuid.UUID]struct{}) } for i := range ids { m.models[ids[i]] = struct{}{} } } // ClearModels clears the "models" edge to the ModelProviderModel entity. func (m *ModelProviderMutation) ClearModels() { m.clearedmodels = true } // ModelsCleared reports if the "models" edge to the ModelProviderModel entity was cleared. func (m *ModelProviderMutation) ModelsCleared() bool { return m.clearedmodels } // RemoveModelIDs removes the "models" edge to the ModelProviderModel entity by IDs. func (m *ModelProviderMutation) RemoveModelIDs(ids ...uuid.UUID) { if m.removedmodels == nil { m.removedmodels = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.models, ids[i]) m.removedmodels[ids[i]] = struct{}{} } } // RemovedModels returns the removed IDs of the "models" edge to the ModelProviderModel entity. func (m *ModelProviderMutation) RemovedModelsIDs() (ids []uuid.UUID) { for id := range m.removedmodels { ids = append(ids, id) } return } // ModelsIDs returns the "models" edge IDs in the mutation. func (m *ModelProviderMutation) ModelsIDs() (ids []uuid.UUID) { for id := range m.models { ids = append(ids, id) } return } // ResetModels resets all changes to the "models" edge. func (m *ModelProviderMutation) ResetModels() { m.models = nil m.clearedmodels = false m.removedmodels = nil } // Where appends a list predicates to the ModelProviderMutation builder. func (m *ModelProviderMutation) Where(ps ...predicate.ModelProvider) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the ModelProviderMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *ModelProviderMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.ModelProvider, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *ModelProviderMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *ModelProviderMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (ModelProvider). func (m *ModelProviderMutation) 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 *ModelProviderMutation) Fields() []string { fields := make([]string, 0, 5) if m.name != nil { fields = append(fields, modelprovider.FieldName) } if m.api_base != nil { fields = append(fields, modelprovider.FieldAPIBase) } if m.priority != nil { fields = append(fields, modelprovider.FieldPriority) } if m.created_at != nil { fields = append(fields, modelprovider.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, modelprovider.FieldUpdatedAt) } 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 *ModelProviderMutation) Field(name string) (ent.Value, bool) { switch name { case modelprovider.FieldName: return m.Name() case modelprovider.FieldAPIBase: return m.APIBase() case modelprovider.FieldPriority: return m.Priority() case modelprovider.FieldCreatedAt: return m.CreatedAt() case modelprovider.FieldUpdatedAt: return m.UpdatedAt() } 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 *ModelProviderMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case modelprovider.FieldName: return m.OldName(ctx) case modelprovider.FieldAPIBase: return m.OldAPIBase(ctx) case modelprovider.FieldPriority: return m.OldPriority(ctx) case modelprovider.FieldCreatedAt: return m.OldCreatedAt(ctx) case modelprovider.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown ModelProvider 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 *ModelProviderMutation) SetField(name string, value ent.Value) error { switch name { case modelprovider.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case modelprovider.FieldAPIBase: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAPIBase(v) return nil case modelprovider.FieldPriority: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPriority(v) return nil case modelprovider.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 modelprovider.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown ModelProvider field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *ModelProviderMutation) AddedFields() []string { var fields []string if m.addpriority != nil { fields = append(fields, modelprovider.FieldPriority) } 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 *ModelProviderMutation) AddedField(name string) (ent.Value, bool) { switch name { case modelprovider.FieldPriority: return m.AddedPriority() } 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 *ModelProviderMutation) AddField(name string, value ent.Value) error { switch name { case modelprovider.FieldPriority: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddPriority(v) return nil } return fmt.Errorf("unknown ModelProvider numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *ModelProviderMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *ModelProviderMutation) 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 *ModelProviderMutation) ClearField(name string) error { return fmt.Errorf("unknown ModelProvider 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 *ModelProviderMutation) ResetField(name string) error { switch name { case modelprovider.FieldName: m.ResetName() return nil case modelprovider.FieldAPIBase: m.ResetAPIBase() return nil case modelprovider.FieldPriority: m.ResetPriority() return nil case modelprovider.FieldCreatedAt: m.ResetCreatedAt() return nil case modelprovider.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown ModelProvider field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *ModelProviderMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.models != nil { edges = append(edges, modelprovider.EdgeModels) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *ModelProviderMutation) AddedIDs(name string) []ent.Value { switch name { case modelprovider.EdgeModels: ids := make([]ent.Value, 0, len(m.models)) for id := range m.models { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *ModelProviderMutation) RemovedEdges() []string { edges := make([]string, 0, 1) if m.removedmodels != nil { edges = append(edges, modelprovider.EdgeModels) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *ModelProviderMutation) RemovedIDs(name string) []ent.Value { switch name { case modelprovider.EdgeModels: ids := make([]ent.Value, 0, len(m.removedmodels)) for id := range m.removedmodels { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *ModelProviderMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedmodels { edges = append(edges, modelprovider.EdgeModels) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *ModelProviderMutation) EdgeCleared(name string) bool { switch name { case modelprovider.EdgeModels: return m.clearedmodels } 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 *ModelProviderMutation) ClearEdge(name string) error { switch name { } return fmt.Errorf("unknown ModelProvider 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 *ModelProviderMutation) ResetEdge(name string) error { switch name { case modelprovider.EdgeModels: m.ResetModels() return nil } return fmt.Errorf("unknown ModelProvider edge %s", name) } // ModelProviderModelMutation represents an operation that mutates the ModelProviderModel nodes in the graph. type ModelProviderModelMutation struct { config op Op typ string id *uuid.UUID name *string created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} provider *string clearedprovider bool done bool oldValue func(context.Context) (*ModelProviderModel, error) predicates []predicate.ModelProviderModel } var _ ent.Mutation = (*ModelProviderModelMutation)(nil) // modelprovidermodelOption allows management of the mutation configuration using functional options. type modelprovidermodelOption func(*ModelProviderModelMutation) // newModelProviderModelMutation creates new mutation for the ModelProviderModel entity. func newModelProviderModelMutation(c config, op Op, opts ...modelprovidermodelOption) *ModelProviderModelMutation { m := &ModelProviderModelMutation{ config: c, op: op, typ: TypeModelProviderModel, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withModelProviderModelID sets the ID field of the mutation. func withModelProviderModelID(id uuid.UUID) modelprovidermodelOption { return func(m *ModelProviderModelMutation) { var ( err error once sync.Once value *ModelProviderModel ) m.oldValue = func(ctx context.Context) (*ModelProviderModel, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().ModelProviderModel.Get(ctx, id) } }) return value, err } m.id = &id } } // withModelProviderModel sets the old ModelProviderModel of the mutation. func withModelProviderModel(node *ModelProviderModel) modelprovidermodelOption { return func(m *ModelProviderModelMutation) { m.oldValue = func(context.Context) (*ModelProviderModel, 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 ModelProviderModelMutation) 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 ModelProviderModelMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 ModelProviderModel entities. func (m *ModelProviderModelMutation) SetID(id uuid.UUID) { 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 *ModelProviderModelMutation) ID() (id uuid.UUID, 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 *ModelProviderModelMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().ModelProviderModel.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetName sets the "name" field. func (m *ModelProviderModelMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *ModelProviderModelMutation) 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 ModelProviderModel entity. // If the ModelProviderModel 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 *ModelProviderModelMutation) 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 *ModelProviderModelMutation) ResetName() { m.name = nil } // SetProviderID sets the "provider_id" field. func (m *ModelProviderModelMutation) SetProviderID(s string) { m.provider = &s } // ProviderID returns the value of the "provider_id" field in the mutation. func (m *ModelProviderModelMutation) ProviderID() (r string, exists bool) { v := m.provider if v == nil { return } return *v, true } // OldProviderID returns the old "provider_id" field's value of the ModelProviderModel entity. // If the ModelProviderModel 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 *ModelProviderModelMutation) OldProviderID(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldProviderID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldProviderID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldProviderID: %w", err) } return oldValue.ProviderID, nil } // ClearProviderID clears the value of the "provider_id" field. func (m *ModelProviderModelMutation) ClearProviderID() { m.provider = nil m.clearedFields[modelprovidermodel.FieldProviderID] = struct{}{} } // ProviderIDCleared returns if the "provider_id" field was cleared in this mutation. func (m *ModelProviderModelMutation) ProviderIDCleared() bool { _, ok := m.clearedFields[modelprovidermodel.FieldProviderID] return ok } // ResetProviderID resets all changes to the "provider_id" field. func (m *ModelProviderModelMutation) ResetProviderID() { m.provider = nil delete(m.clearedFields, modelprovidermodel.FieldProviderID) } // SetCreatedAt sets the "created_at" field. func (m *ModelProviderModelMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *ModelProviderModelMutation) 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 ModelProviderModel entity. // If the ModelProviderModel 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 *ModelProviderModelMutation) 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 *ModelProviderModelMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *ModelProviderModelMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *ModelProviderModelMutation) 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 ModelProviderModel entity. // If the ModelProviderModel 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 *ModelProviderModelMutation) 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 *ModelProviderModelMutation) ResetUpdatedAt() { m.updated_at = nil } // ClearProvider clears the "provider" edge to the ModelProvider entity. func (m *ModelProviderModelMutation) ClearProvider() { m.clearedprovider = true m.clearedFields[modelprovidermodel.FieldProviderID] = struct{}{} } // ProviderCleared reports if the "provider" edge to the ModelProvider entity was cleared. func (m *ModelProviderModelMutation) ProviderCleared() bool { return m.ProviderIDCleared() || m.clearedprovider } // ProviderIDs returns the "provider" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // ProviderID instead. It exists only for internal usage by the builders. func (m *ModelProviderModelMutation) ProviderIDs() (ids []string) { if id := m.provider; id != nil { ids = append(ids, *id) } return } // ResetProvider resets all changes to the "provider" edge. func (m *ModelProviderModelMutation) ResetProvider() { m.provider = nil m.clearedprovider = false } // Where appends a list predicates to the ModelProviderModelMutation builder. func (m *ModelProviderModelMutation) Where(ps ...predicate.ModelProviderModel) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the ModelProviderModelMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *ModelProviderModelMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.ModelProviderModel, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *ModelProviderModelMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *ModelProviderModelMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (ModelProviderModel). func (m *ModelProviderModelMutation) 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 *ModelProviderModelMutation) Fields() []string { fields := make([]string, 0, 4) if m.name != nil { fields = append(fields, modelprovidermodel.FieldName) } if m.provider != nil { fields = append(fields, modelprovidermodel.FieldProviderID) } if m.created_at != nil { fields = append(fields, modelprovidermodel.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, modelprovidermodel.FieldUpdatedAt) } 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 *ModelProviderModelMutation) Field(name string) (ent.Value, bool) { switch name { case modelprovidermodel.FieldName: return m.Name() case modelprovidermodel.FieldProviderID: return m.ProviderID() case modelprovidermodel.FieldCreatedAt: return m.CreatedAt() case modelprovidermodel.FieldUpdatedAt: return m.UpdatedAt() } 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 *ModelProviderModelMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case modelprovidermodel.FieldName: return m.OldName(ctx) case modelprovidermodel.FieldProviderID: return m.OldProviderID(ctx) case modelprovidermodel.FieldCreatedAt: return m.OldCreatedAt(ctx) case modelprovidermodel.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown ModelProviderModel 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 *ModelProviderModelMutation) SetField(name string, value ent.Value) error { switch name { case modelprovidermodel.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case modelprovidermodel.FieldProviderID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetProviderID(v) return nil case modelprovidermodel.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 modelprovidermodel.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown ModelProviderModel field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *ModelProviderModelMutation) 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 *ModelProviderModelMutation) 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 *ModelProviderModelMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown ModelProviderModel numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *ModelProviderModelMutation) ClearedFields() []string { var fields []string if m.FieldCleared(modelprovidermodel.FieldProviderID) { fields = append(fields, modelprovidermodel.FieldProviderID) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *ModelProviderModelMutation) 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 *ModelProviderModelMutation) ClearField(name string) error { switch name { case modelprovidermodel.FieldProviderID: m.ClearProviderID() return nil } return fmt.Errorf("unknown ModelProviderModel 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 *ModelProviderModelMutation) ResetField(name string) error { switch name { case modelprovidermodel.FieldName: m.ResetName() return nil case modelprovidermodel.FieldProviderID: m.ResetProviderID() return nil case modelprovidermodel.FieldCreatedAt: m.ResetCreatedAt() return nil case modelprovidermodel.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown ModelProviderModel field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *ModelProviderModelMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.provider != nil { edges = append(edges, modelprovidermodel.EdgeProvider) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *ModelProviderModelMutation) AddedIDs(name string) []ent.Value { switch name { case modelprovidermodel.EdgeProvider: if id := m.provider; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *ModelProviderModelMutation) 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 *ModelProviderModelMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *ModelProviderModelMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedprovider { edges = append(edges, modelprovidermodel.EdgeProvider) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *ModelProviderModelMutation) EdgeCleared(name string) bool { switch name { case modelprovidermodel.EdgeProvider: return m.clearedprovider } 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 *ModelProviderModelMutation) ClearEdge(name string) error { switch name { case modelprovidermodel.EdgeProvider: m.ClearProvider() return nil } return fmt.Errorf("unknown ModelProviderModel 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 *ModelProviderModelMutation) ResetEdge(name string) error { switch name { case modelprovidermodel.EdgeProvider: m.ResetProvider() return nil } return fmt.Errorf("unknown ModelProviderModel 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 name *string description *string created_at *time.Time clearedFields map[string]struct{} admins map[uuid.UUID]struct{} removedadmins map[uuid.UUID]struct{} clearedadmins bool admin_roles map[uuid.UUID]struct{} removedadmin_roles map[uuid.UUID]struct{} clearedadmin_roles 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("db: 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) } } // 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 } // 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 } // AddAdminIDs adds the "admins" edge to the Admin entity by ids. func (m *RoleMutation) AddAdminIDs(ids ...uuid.UUID) { if m.admins == nil { m.admins = make(map[uuid.UUID]struct{}) } for i := range ids { m.admins[ids[i]] = struct{}{} } } // ClearAdmins clears the "admins" edge to the Admin entity. func (m *RoleMutation) ClearAdmins() { m.clearedadmins = true } // AdminsCleared reports if the "admins" edge to the Admin entity was cleared. func (m *RoleMutation) AdminsCleared() bool { return m.clearedadmins } // RemoveAdminIDs removes the "admins" edge to the Admin entity by IDs. func (m *RoleMutation) RemoveAdminIDs(ids ...uuid.UUID) { if m.removedadmins == nil { m.removedadmins = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.admins, ids[i]) m.removedadmins[ids[i]] = struct{}{} } } // RemovedAdmins returns the removed IDs of the "admins" edge to the Admin entity. func (m *RoleMutation) RemovedAdminsIDs() (ids []uuid.UUID) { for id := range m.removedadmins { ids = append(ids, id) } return } // AdminsIDs returns the "admins" edge IDs in the mutation. func (m *RoleMutation) AdminsIDs() (ids []uuid.UUID) { for id := range m.admins { ids = append(ids, id) } return } // ResetAdmins resets all changes to the "admins" edge. func (m *RoleMutation) ResetAdmins() { m.admins = nil m.clearedadmins = false m.removedadmins = nil } // AddAdminRoleIDs adds the "admin_roles" edge to the AdminRole entity by ids. func (m *RoleMutation) AddAdminRoleIDs(ids ...uuid.UUID) { if m.admin_roles == nil { m.admin_roles = make(map[uuid.UUID]struct{}) } for i := range ids { m.admin_roles[ids[i]] = struct{}{} } } // ClearAdminRoles clears the "admin_roles" edge to the AdminRole entity. func (m *RoleMutation) ClearAdminRoles() { m.clearedadmin_roles = true } // AdminRolesCleared reports if the "admin_roles" edge to the AdminRole entity was cleared. func (m *RoleMutation) AdminRolesCleared() bool { return m.clearedadmin_roles } // RemoveAdminRoleIDs removes the "admin_roles" edge to the AdminRole entity by IDs. func (m *RoleMutation) RemoveAdminRoleIDs(ids ...uuid.UUID) { if m.removedadmin_roles == nil { m.removedadmin_roles = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.admin_roles, ids[i]) m.removedadmin_roles[ids[i]] = struct{}{} } } // RemovedAdminRoles returns the removed IDs of the "admin_roles" edge to the AdminRole entity. func (m *RoleMutation) RemovedAdminRolesIDs() (ids []uuid.UUID) { for id := range m.removedadmin_roles { ids = append(ids, id) } return } // AdminRolesIDs returns the "admin_roles" edge IDs in the mutation. func (m *RoleMutation) AdminRolesIDs() (ids []uuid.UUID) { for id := range m.admin_roles { ids = append(ids, id) } return } // ResetAdminRoles resets all changes to the "admin_roles" edge. func (m *RoleMutation) ResetAdminRoles() { m.admin_roles = nil m.clearedadmin_roles = false m.removedadmin_roles = 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, 3) if m.name != nil { fields = append(fields, role.FieldName) } if m.description != nil { fields = append(fields, role.FieldDescription) } if m.created_at != nil { fields = append(fields, role.FieldCreatedAt) } 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.FieldName: return m.Name() case role.FieldDescription: return m.Description() case role.FieldCreatedAt: return m.CreatedAt() } 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.FieldName: return m.OldName(ctx) case role.FieldDescription: return m.OldDescription(ctx) case role.FieldCreatedAt: return m.OldCreatedAt(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.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 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 } 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 { 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 *RoleMutation) 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 *RoleMutation) AddField(name string, value ent.Value) error { switch name { } 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 { return nil } // 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 { 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.FieldName: m.ResetName() return nil case role.FieldDescription: m.ResetDescription() return nil case role.FieldCreatedAt: m.ResetCreatedAt() 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, 2) if m.admins != nil { edges = append(edges, role.EdgeAdmins) } if m.admin_roles != nil { edges = append(edges, role.EdgeAdminRoles) } 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.EdgeAdmins: ids := make([]ent.Value, 0, len(m.admins)) for id := range m.admins { ids = append(ids, id) } return ids case role.EdgeAdminRoles: ids := make([]ent.Value, 0, len(m.admin_roles)) for id := range m.admin_roles { 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, 2) if m.removedadmins != nil { edges = append(edges, role.EdgeAdmins) } if m.removedadmin_roles != nil { edges = append(edges, role.EdgeAdminRoles) } 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.EdgeAdmins: ids := make([]ent.Value, 0, len(m.removedadmins)) for id := range m.removedadmins { ids = append(ids, id) } return ids case role.EdgeAdminRoles: ids := make([]ent.Value, 0, len(m.removedadmin_roles)) for id := range m.removedadmin_roles { 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, 2) if m.clearedadmins { edges = append(edges, role.EdgeAdmins) } if m.clearedadmin_roles { edges = append(edges, role.EdgeAdminRoles) } 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.EdgeAdmins: return m.clearedadmins case role.EdgeAdminRoles: return m.clearedadmin_roles } 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.EdgeAdmins: m.ResetAdmins() return nil case role.EdgeAdminRoles: m.ResetAdminRoles() return nil } return fmt.Errorf("unknown Role edge %s", name) } // SecurityScanningMutation represents an operation that mutates the SecurityScanning nodes in the graph. type SecurityScanningMutation struct { config op Op typ string id *uuid.UUID status *consts.SecurityScanningStatus workspace *string language *consts.SecurityScanningLanguage rule *string error_message *string created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} user *uuid.UUID cleareduser bool results map[uuid.UUID]struct{} removedresults map[uuid.UUID]struct{} clearedresults bool workspace_edge *uuid.UUID clearedworkspace_edge bool done bool oldValue func(context.Context) (*SecurityScanning, error) predicates []predicate.SecurityScanning } var _ ent.Mutation = (*SecurityScanningMutation)(nil) // securityscanningOption allows management of the mutation configuration using functional options. type securityscanningOption func(*SecurityScanningMutation) // newSecurityScanningMutation creates new mutation for the SecurityScanning entity. func newSecurityScanningMutation(c config, op Op, opts ...securityscanningOption) *SecurityScanningMutation { m := &SecurityScanningMutation{ config: c, op: op, typ: TypeSecurityScanning, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withSecurityScanningID sets the ID field of the mutation. func withSecurityScanningID(id uuid.UUID) securityscanningOption { return func(m *SecurityScanningMutation) { var ( err error once sync.Once value *SecurityScanning ) m.oldValue = func(ctx context.Context) (*SecurityScanning, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().SecurityScanning.Get(ctx, id) } }) return value, err } m.id = &id } } // withSecurityScanning sets the old SecurityScanning of the mutation. func withSecurityScanning(node *SecurityScanning) securityscanningOption { return func(m *SecurityScanningMutation) { m.oldValue = func(context.Context) (*SecurityScanning, 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 SecurityScanningMutation) 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 SecurityScanningMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 SecurityScanning entities. func (m *SecurityScanningMutation) SetID(id uuid.UUID) { 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 *SecurityScanningMutation) ID() (id uuid.UUID, 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 *SecurityScanningMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().SecurityScanning.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUserID sets the "user_id" field. func (m *SecurityScanningMutation) SetUserID(u uuid.UUID) { m.user = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *SecurityScanningMutation) UserID() (r uuid.UUID, exists bool) { v := m.user if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 *SecurityScanningMutation) ResetUserID() { m.user = nil } // SetWorkspaceID sets the "workspace_id" field. func (m *SecurityScanningMutation) SetWorkspaceID(u uuid.UUID) { m.workspace_edge = &u } // WorkspaceID returns the value of the "workspace_id" field in the mutation. func (m *SecurityScanningMutation) WorkspaceID() (r uuid.UUID, exists bool) { v := m.workspace_edge if v == nil { return } return *v, true } // OldWorkspaceID returns the old "workspace_id" field's value of the SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) OldWorkspaceID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldWorkspaceID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldWorkspaceID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldWorkspaceID: %w", err) } return oldValue.WorkspaceID, nil } // ResetWorkspaceID resets all changes to the "workspace_id" field. func (m *SecurityScanningMutation) ResetWorkspaceID() { m.workspace_edge = nil } // SetStatus sets the "status" field. func (m *SecurityScanningMutation) SetStatus(css consts.SecurityScanningStatus) { m.status = &css } // Status returns the value of the "status" field in the mutation. func (m *SecurityScanningMutation) Status() (r consts.SecurityScanningStatus, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) OldStatus(ctx context.Context) (v consts.SecurityScanningStatus, 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 *SecurityScanningMutation) ResetStatus() { m.status = nil } // SetWorkspace sets the "workspace" field. func (m *SecurityScanningMutation) SetWorkspace(s string) { m.workspace = &s } // Workspace returns the value of the "workspace" field in the mutation. func (m *SecurityScanningMutation) Workspace() (r string, exists bool) { v := m.workspace if v == nil { return } return *v, true } // OldWorkspace returns the old "workspace" field's value of the SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) OldWorkspace(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldWorkspace is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldWorkspace requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldWorkspace: %w", err) } return oldValue.Workspace, nil } // ResetWorkspace resets all changes to the "workspace" field. func (m *SecurityScanningMutation) ResetWorkspace() { m.workspace = nil } // SetLanguage sets the "language" field. func (m *SecurityScanningMutation) SetLanguage(csl consts.SecurityScanningLanguage) { m.language = &csl } // Language returns the value of the "language" field in the mutation. func (m *SecurityScanningMutation) Language() (r consts.SecurityScanningLanguage, exists bool) { v := m.language if v == nil { return } return *v, true } // OldLanguage returns the old "language" field's value of the SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) OldLanguage(ctx context.Context) (v consts.SecurityScanningLanguage, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldLanguage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldLanguage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldLanguage: %w", err) } return oldValue.Language, nil } // ResetLanguage resets all changes to the "language" field. func (m *SecurityScanningMutation) ResetLanguage() { m.language = nil } // SetRule sets the "rule" field. func (m *SecurityScanningMutation) SetRule(s string) { m.rule = &s } // Rule returns the value of the "rule" field in the mutation. func (m *SecurityScanningMutation) Rule() (r string, exists bool) { v := m.rule if v == nil { return } return *v, true } // OldRule returns the old "rule" field's value of the SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) OldRule(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRule is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRule requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRule: %w", err) } return oldValue.Rule, nil } // ClearRule clears the value of the "rule" field. func (m *SecurityScanningMutation) ClearRule() { m.rule = nil m.clearedFields[securityscanning.FieldRule] = struct{}{} } // RuleCleared returns if the "rule" field was cleared in this mutation. func (m *SecurityScanningMutation) RuleCleared() bool { _, ok := m.clearedFields[securityscanning.FieldRule] return ok } // ResetRule resets all changes to the "rule" field. func (m *SecurityScanningMutation) ResetRule() { m.rule = nil delete(m.clearedFields, securityscanning.FieldRule) } // SetErrorMessage sets the "error_message" field. func (m *SecurityScanningMutation) SetErrorMessage(s string) { m.error_message = &s } // ErrorMessage returns the value of the "error_message" field in the mutation. func (m *SecurityScanningMutation) ErrorMessage() (r string, exists bool) { v := m.error_message if v == nil { return } return *v, true } // OldErrorMessage returns the old "error_message" field's value of the SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) OldErrorMessage(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldErrorMessage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldErrorMessage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldErrorMessage: %w", err) } return oldValue.ErrorMessage, nil } // ClearErrorMessage clears the value of the "error_message" field. func (m *SecurityScanningMutation) ClearErrorMessage() { m.error_message = nil m.clearedFields[securityscanning.FieldErrorMessage] = struct{}{} } // ErrorMessageCleared returns if the "error_message" field was cleared in this mutation. func (m *SecurityScanningMutation) ErrorMessageCleared() bool { _, ok := m.clearedFields[securityscanning.FieldErrorMessage] return ok } // ResetErrorMessage resets all changes to the "error_message" field. func (m *SecurityScanningMutation) ResetErrorMessage() { m.error_message = nil delete(m.clearedFields, securityscanning.FieldErrorMessage) } // SetCreatedAt sets the "created_at" field. func (m *SecurityScanningMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *SecurityScanningMutation) 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 SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) 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 *SecurityScanningMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *SecurityScanningMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *SecurityScanningMutation) 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 SecurityScanning entity. // If the SecurityScanning 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 *SecurityScanningMutation) 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 *SecurityScanningMutation) ResetUpdatedAt() { m.updated_at = nil } // ClearUser clears the "user" edge to the User entity. func (m *SecurityScanningMutation) ClearUser() { m.cleareduser = true m.clearedFields[securityscanning.FieldUserID] = struct{}{} } // UserCleared reports if the "user" edge to the User entity was cleared. func (m *SecurityScanningMutation) 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 *SecurityScanningMutation) UserIDs() (ids []uuid.UUID) { if id := m.user; id != nil { ids = append(ids, *id) } return } // ResetUser resets all changes to the "user" edge. func (m *SecurityScanningMutation) ResetUser() { m.user = nil m.cleareduser = false } // AddResultIDs adds the "results" edge to the SecurityScanningResult entity by ids. func (m *SecurityScanningMutation) AddResultIDs(ids ...uuid.UUID) { if m.results == nil { m.results = make(map[uuid.UUID]struct{}) } for i := range ids { m.results[ids[i]] = struct{}{} } } // ClearResults clears the "results" edge to the SecurityScanningResult entity. func (m *SecurityScanningMutation) ClearResults() { m.clearedresults = true } // ResultsCleared reports if the "results" edge to the SecurityScanningResult entity was cleared. func (m *SecurityScanningMutation) ResultsCleared() bool { return m.clearedresults } // RemoveResultIDs removes the "results" edge to the SecurityScanningResult entity by IDs. func (m *SecurityScanningMutation) RemoveResultIDs(ids ...uuid.UUID) { if m.removedresults == nil { m.removedresults = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.results, ids[i]) m.removedresults[ids[i]] = struct{}{} } } // RemovedResults returns the removed IDs of the "results" edge to the SecurityScanningResult entity. func (m *SecurityScanningMutation) RemovedResultsIDs() (ids []uuid.UUID) { for id := range m.removedresults { ids = append(ids, id) } return } // ResultsIDs returns the "results" edge IDs in the mutation. func (m *SecurityScanningMutation) ResultsIDs() (ids []uuid.UUID) { for id := range m.results { ids = append(ids, id) } return } // ResetResults resets all changes to the "results" edge. func (m *SecurityScanningMutation) ResetResults() { m.results = nil m.clearedresults = false m.removedresults = nil } // SetWorkspaceEdgeID sets the "workspace_edge" edge to the Workspace entity by id. func (m *SecurityScanningMutation) SetWorkspaceEdgeID(id uuid.UUID) { m.workspace_edge = &id } // ClearWorkspaceEdge clears the "workspace_edge" edge to the Workspace entity. func (m *SecurityScanningMutation) ClearWorkspaceEdge() { m.clearedworkspace_edge = true m.clearedFields[securityscanning.FieldWorkspaceID] = struct{}{} } // WorkspaceEdgeCleared reports if the "workspace_edge" edge to the Workspace entity was cleared. func (m *SecurityScanningMutation) WorkspaceEdgeCleared() bool { return m.clearedworkspace_edge } // WorkspaceEdgeID returns the "workspace_edge" edge ID in the mutation. func (m *SecurityScanningMutation) WorkspaceEdgeID() (id uuid.UUID, exists bool) { if m.workspace_edge != nil { return *m.workspace_edge, true } return } // WorkspaceEdgeIDs returns the "workspace_edge" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // WorkspaceEdgeID instead. It exists only for internal usage by the builders. func (m *SecurityScanningMutation) WorkspaceEdgeIDs() (ids []uuid.UUID) { if id := m.workspace_edge; id != nil { ids = append(ids, *id) } return } // ResetWorkspaceEdge resets all changes to the "workspace_edge" edge. func (m *SecurityScanningMutation) ResetWorkspaceEdge() { m.workspace_edge = nil m.clearedworkspace_edge = false } // Where appends a list predicates to the SecurityScanningMutation builder. func (m *SecurityScanningMutation) Where(ps ...predicate.SecurityScanning) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the SecurityScanningMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *SecurityScanningMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.SecurityScanning, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *SecurityScanningMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *SecurityScanningMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (SecurityScanning). func (m *SecurityScanningMutation) 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 *SecurityScanningMutation) Fields() []string { fields := make([]string, 0, 9) if m.user != nil { fields = append(fields, securityscanning.FieldUserID) } if m.workspace_edge != nil { fields = append(fields, securityscanning.FieldWorkspaceID) } if m.status != nil { fields = append(fields, securityscanning.FieldStatus) } if m.workspace != nil { fields = append(fields, securityscanning.FieldWorkspace) } if m.language != nil { fields = append(fields, securityscanning.FieldLanguage) } if m.rule != nil { fields = append(fields, securityscanning.FieldRule) } if m.error_message != nil { fields = append(fields, securityscanning.FieldErrorMessage) } if m.created_at != nil { fields = append(fields, securityscanning.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, securityscanning.FieldUpdatedAt) } 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 *SecurityScanningMutation) Field(name string) (ent.Value, bool) { switch name { case securityscanning.FieldUserID: return m.UserID() case securityscanning.FieldWorkspaceID: return m.WorkspaceID() case securityscanning.FieldStatus: return m.Status() case securityscanning.FieldWorkspace: return m.Workspace() case securityscanning.FieldLanguage: return m.Language() case securityscanning.FieldRule: return m.Rule() case securityscanning.FieldErrorMessage: return m.ErrorMessage() case securityscanning.FieldCreatedAt: return m.CreatedAt() case securityscanning.FieldUpdatedAt: return m.UpdatedAt() } 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 *SecurityScanningMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case securityscanning.FieldUserID: return m.OldUserID(ctx) case securityscanning.FieldWorkspaceID: return m.OldWorkspaceID(ctx) case securityscanning.FieldStatus: return m.OldStatus(ctx) case securityscanning.FieldWorkspace: return m.OldWorkspace(ctx) case securityscanning.FieldLanguage: return m.OldLanguage(ctx) case securityscanning.FieldRule: return m.OldRule(ctx) case securityscanning.FieldErrorMessage: return m.OldErrorMessage(ctx) case securityscanning.FieldCreatedAt: return m.OldCreatedAt(ctx) case securityscanning.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown SecurityScanning 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 *SecurityScanningMutation) SetField(name string, value ent.Value) error { switch name { case securityscanning.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case securityscanning.FieldWorkspaceID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetWorkspaceID(v) return nil case securityscanning.FieldStatus: v, ok := value.(consts.SecurityScanningStatus) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case securityscanning.FieldWorkspace: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetWorkspace(v) return nil case securityscanning.FieldLanguage: v, ok := value.(consts.SecurityScanningLanguage) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetLanguage(v) return nil case securityscanning.FieldRule: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRule(v) return nil case securityscanning.FieldErrorMessage: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetErrorMessage(v) return nil case securityscanning.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 securityscanning.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown SecurityScanning field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *SecurityScanningMutation) 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 *SecurityScanningMutation) 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 *SecurityScanningMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown SecurityScanning numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *SecurityScanningMutation) ClearedFields() []string { var fields []string if m.FieldCleared(securityscanning.FieldRule) { fields = append(fields, securityscanning.FieldRule) } if m.FieldCleared(securityscanning.FieldErrorMessage) { fields = append(fields, securityscanning.FieldErrorMessage) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *SecurityScanningMutation) 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 *SecurityScanningMutation) ClearField(name string) error { switch name { case securityscanning.FieldRule: m.ClearRule() return nil case securityscanning.FieldErrorMessage: m.ClearErrorMessage() return nil } return fmt.Errorf("unknown SecurityScanning 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 *SecurityScanningMutation) ResetField(name string) error { switch name { case securityscanning.FieldUserID: m.ResetUserID() return nil case securityscanning.FieldWorkspaceID: m.ResetWorkspaceID() return nil case securityscanning.FieldStatus: m.ResetStatus() return nil case securityscanning.FieldWorkspace: m.ResetWorkspace() return nil case securityscanning.FieldLanguage: m.ResetLanguage() return nil case securityscanning.FieldRule: m.ResetRule() return nil case securityscanning.FieldErrorMessage: m.ResetErrorMessage() return nil case securityscanning.FieldCreatedAt: m.ResetCreatedAt() return nil case securityscanning.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown SecurityScanning field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *SecurityScanningMutation) AddedEdges() []string { edges := make([]string, 0, 3) if m.user != nil { edges = append(edges, securityscanning.EdgeUser) } if m.results != nil { edges = append(edges, securityscanning.EdgeResults) } if m.workspace_edge != nil { edges = append(edges, securityscanning.EdgeWorkspaceEdge) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *SecurityScanningMutation) AddedIDs(name string) []ent.Value { switch name { case securityscanning.EdgeUser: if id := m.user; id != nil { return []ent.Value{*id} } case securityscanning.EdgeResults: ids := make([]ent.Value, 0, len(m.results)) for id := range m.results { ids = append(ids, id) } return ids case securityscanning.EdgeWorkspaceEdge: if id := m.workspace_edge; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *SecurityScanningMutation) RemovedEdges() []string { edges := make([]string, 0, 3) if m.removedresults != nil { edges = append(edges, securityscanning.EdgeResults) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *SecurityScanningMutation) RemovedIDs(name string) []ent.Value { switch name { case securityscanning.EdgeResults: ids := make([]ent.Value, 0, len(m.removedresults)) for id := range m.removedresults { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *SecurityScanningMutation) ClearedEdges() []string { edges := make([]string, 0, 3) if m.cleareduser { edges = append(edges, securityscanning.EdgeUser) } if m.clearedresults { edges = append(edges, securityscanning.EdgeResults) } if m.clearedworkspace_edge { edges = append(edges, securityscanning.EdgeWorkspaceEdge) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *SecurityScanningMutation) EdgeCleared(name string) bool { switch name { case securityscanning.EdgeUser: return m.cleareduser case securityscanning.EdgeResults: return m.clearedresults case securityscanning.EdgeWorkspaceEdge: return m.clearedworkspace_edge } 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 *SecurityScanningMutation) ClearEdge(name string) error { switch name { case securityscanning.EdgeUser: m.ClearUser() return nil case securityscanning.EdgeWorkspaceEdge: m.ClearWorkspaceEdge() return nil } return fmt.Errorf("unknown SecurityScanning 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 *SecurityScanningMutation) ResetEdge(name string) error { switch name { case securityscanning.EdgeUser: m.ResetUser() return nil case securityscanning.EdgeResults: m.ResetResults() return nil case securityscanning.EdgeWorkspaceEdge: m.ResetWorkspaceEdge() return nil } return fmt.Errorf("unknown SecurityScanning edge %s", name) } // SecurityScanningResultMutation represents an operation that mutates the SecurityScanningResult nodes in the graph. type SecurityScanningResultMutation struct { config op Op typ string id *uuid.UUID check_id *string engine_kind *string lines *string _path *string message *string message_zh *string severity *string abstract_en *string abstract_zh *string category_en *string category_zh *string confidence *string cwe *[]interface{} appendcwe []interface{} impact *string owasp *[]interface{} appendowasp []interface{} file_content *string start_position **types.Position end_position **types.Position created_at *time.Time clearedFields map[string]struct{} security_scanning *uuid.UUID clearedsecurity_scanning bool done bool oldValue func(context.Context) (*SecurityScanningResult, error) predicates []predicate.SecurityScanningResult } var _ ent.Mutation = (*SecurityScanningResultMutation)(nil) // securityscanningresultOption allows management of the mutation configuration using functional options. type securityscanningresultOption func(*SecurityScanningResultMutation) // newSecurityScanningResultMutation creates new mutation for the SecurityScanningResult entity. func newSecurityScanningResultMutation(c config, op Op, opts ...securityscanningresultOption) *SecurityScanningResultMutation { m := &SecurityScanningResultMutation{ config: c, op: op, typ: TypeSecurityScanningResult, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withSecurityScanningResultID sets the ID field of the mutation. func withSecurityScanningResultID(id uuid.UUID) securityscanningresultOption { return func(m *SecurityScanningResultMutation) { var ( err error once sync.Once value *SecurityScanningResult ) m.oldValue = func(ctx context.Context) (*SecurityScanningResult, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().SecurityScanningResult.Get(ctx, id) } }) return value, err } m.id = &id } } // withSecurityScanningResult sets the old SecurityScanningResult of the mutation. func withSecurityScanningResult(node *SecurityScanningResult) securityscanningresultOption { return func(m *SecurityScanningResultMutation) { m.oldValue = func(context.Context) (*SecurityScanningResult, 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 SecurityScanningResultMutation) 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 SecurityScanningResultMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 SecurityScanningResult entities. func (m *SecurityScanningResultMutation) SetID(id uuid.UUID) { 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 *SecurityScanningResultMutation) ID() (id uuid.UUID, 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 *SecurityScanningResultMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().SecurityScanningResult.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetSecurityScanningID sets the "security_scanning_id" field. func (m *SecurityScanningResultMutation) SetSecurityScanningID(u uuid.UUID) { m.security_scanning = &u } // SecurityScanningID returns the value of the "security_scanning_id" field in the mutation. func (m *SecurityScanningResultMutation) SecurityScanningID() (r uuid.UUID, exists bool) { v := m.security_scanning if v == nil { return } return *v, true } // OldSecurityScanningID returns the old "security_scanning_id" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldSecurityScanningID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSecurityScanningID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSecurityScanningID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSecurityScanningID: %w", err) } return oldValue.SecurityScanningID, nil } // ResetSecurityScanningID resets all changes to the "security_scanning_id" field. func (m *SecurityScanningResultMutation) ResetSecurityScanningID() { m.security_scanning = nil } // SetCheckID sets the "check_id" field. func (m *SecurityScanningResultMutation) SetCheckID(s string) { m.check_id = &s } // CheckID returns the value of the "check_id" field in the mutation. func (m *SecurityScanningResultMutation) CheckID() (r string, exists bool) { v := m.check_id if v == nil { return } return *v, true } // OldCheckID returns the old "check_id" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldCheckID(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCheckID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCheckID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCheckID: %w", err) } return oldValue.CheckID, nil } // ResetCheckID resets all changes to the "check_id" field. func (m *SecurityScanningResultMutation) ResetCheckID() { m.check_id = nil } // SetEngineKind sets the "engine_kind" field. func (m *SecurityScanningResultMutation) SetEngineKind(s string) { m.engine_kind = &s } // EngineKind returns the value of the "engine_kind" field in the mutation. func (m *SecurityScanningResultMutation) EngineKind() (r string, exists bool) { v := m.engine_kind if v == nil { return } return *v, true } // OldEngineKind returns the old "engine_kind" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldEngineKind(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEngineKind is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEngineKind requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEngineKind: %w", err) } return oldValue.EngineKind, nil } // ResetEngineKind resets all changes to the "engine_kind" field. func (m *SecurityScanningResultMutation) ResetEngineKind() { m.engine_kind = nil } // SetLines sets the "lines" field. func (m *SecurityScanningResultMutation) SetLines(s string) { m.lines = &s } // Lines returns the value of the "lines" field in the mutation. func (m *SecurityScanningResultMutation) Lines() (r string, exists bool) { v := m.lines if v == nil { return } return *v, true } // OldLines returns the old "lines" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldLines(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldLines is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldLines requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldLines: %w", err) } return oldValue.Lines, nil } // ResetLines resets all changes to the "lines" field. func (m *SecurityScanningResultMutation) ResetLines() { m.lines = nil } // SetPath sets the "path" field. func (m *SecurityScanningResultMutation) SetPath(s string) { m._path = &s } // Path returns the value of the "path" field in the mutation. func (m *SecurityScanningResultMutation) Path() (r string, exists bool) { v := m._path if v == nil { return } return *v, true } // OldPath returns the old "path" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldPath(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPath is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPath requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPath: %w", err) } return oldValue.Path, nil } // ResetPath resets all changes to the "path" field. func (m *SecurityScanningResultMutation) ResetPath() { m._path = nil } // SetMessage sets the "message" field. func (m *SecurityScanningResultMutation) SetMessage(s string) { m.message = &s } // Message returns the value of the "message" field in the mutation. func (m *SecurityScanningResultMutation) Message() (r string, exists bool) { v := m.message if v == nil { return } return *v, true } // OldMessage returns the old "message" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldMessage(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldMessage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldMessage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldMessage: %w", err) } return oldValue.Message, nil } // ResetMessage resets all changes to the "message" field. func (m *SecurityScanningResultMutation) ResetMessage() { m.message = nil } // SetMessageZh sets the "message_zh" field. func (m *SecurityScanningResultMutation) SetMessageZh(s string) { m.message_zh = &s } // MessageZh returns the value of the "message_zh" field in the mutation. func (m *SecurityScanningResultMutation) MessageZh() (r string, exists bool) { v := m.message_zh if v == nil { return } return *v, true } // OldMessageZh returns the old "message_zh" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldMessageZh(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldMessageZh is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldMessageZh requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldMessageZh: %w", err) } return oldValue.MessageZh, nil } // ResetMessageZh resets all changes to the "message_zh" field. func (m *SecurityScanningResultMutation) ResetMessageZh() { m.message_zh = nil } // SetSeverity sets the "severity" field. func (m *SecurityScanningResultMutation) SetSeverity(s string) { m.severity = &s } // Severity returns the value of the "severity" field in the mutation. func (m *SecurityScanningResultMutation) Severity() (r string, exists bool) { v := m.severity if v == nil { return } return *v, true } // OldSeverity returns the old "severity" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldSeverity(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSeverity is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSeverity requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSeverity: %w", err) } return oldValue.Severity, nil } // ResetSeverity resets all changes to the "severity" field. func (m *SecurityScanningResultMutation) ResetSeverity() { m.severity = nil } // SetAbstractEn sets the "abstract_en" field. func (m *SecurityScanningResultMutation) SetAbstractEn(s string) { m.abstract_en = &s } // AbstractEn returns the value of the "abstract_en" field in the mutation. func (m *SecurityScanningResultMutation) AbstractEn() (r string, exists bool) { v := m.abstract_en if v == nil { return } return *v, true } // OldAbstractEn returns the old "abstract_en" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldAbstractEn(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAbstractEn is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAbstractEn requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAbstractEn: %w", err) } return oldValue.AbstractEn, nil } // ResetAbstractEn resets all changes to the "abstract_en" field. func (m *SecurityScanningResultMutation) ResetAbstractEn() { m.abstract_en = nil } // SetAbstractZh sets the "abstract_zh" field. func (m *SecurityScanningResultMutation) SetAbstractZh(s string) { m.abstract_zh = &s } // AbstractZh returns the value of the "abstract_zh" field in the mutation. func (m *SecurityScanningResultMutation) AbstractZh() (r string, exists bool) { v := m.abstract_zh if v == nil { return } return *v, true } // OldAbstractZh returns the old "abstract_zh" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldAbstractZh(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAbstractZh is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAbstractZh requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAbstractZh: %w", err) } return oldValue.AbstractZh, nil } // ResetAbstractZh resets all changes to the "abstract_zh" field. func (m *SecurityScanningResultMutation) ResetAbstractZh() { m.abstract_zh = nil } // SetCategoryEn sets the "category_en" field. func (m *SecurityScanningResultMutation) SetCategoryEn(s string) { m.category_en = &s } // CategoryEn returns the value of the "category_en" field in the mutation. func (m *SecurityScanningResultMutation) CategoryEn() (r string, exists bool) { v := m.category_en if v == nil { return } return *v, true } // OldCategoryEn returns the old "category_en" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldCategoryEn(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCategoryEn is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCategoryEn requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCategoryEn: %w", err) } return oldValue.CategoryEn, nil } // ResetCategoryEn resets all changes to the "category_en" field. func (m *SecurityScanningResultMutation) ResetCategoryEn() { m.category_en = nil } // SetCategoryZh sets the "category_zh" field. func (m *SecurityScanningResultMutation) SetCategoryZh(s string) { m.category_zh = &s } // CategoryZh returns the value of the "category_zh" field in the mutation. func (m *SecurityScanningResultMutation) CategoryZh() (r string, exists bool) { v := m.category_zh if v == nil { return } return *v, true } // OldCategoryZh returns the old "category_zh" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldCategoryZh(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCategoryZh is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCategoryZh requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCategoryZh: %w", err) } return oldValue.CategoryZh, nil } // ResetCategoryZh resets all changes to the "category_zh" field. func (m *SecurityScanningResultMutation) ResetCategoryZh() { m.category_zh = nil } // SetConfidence sets the "confidence" field. func (m *SecurityScanningResultMutation) SetConfidence(s string) { m.confidence = &s } // Confidence returns the value of the "confidence" field in the mutation. func (m *SecurityScanningResultMutation) Confidence() (r string, exists bool) { v := m.confidence if v == nil { return } return *v, true } // OldConfidence returns the old "confidence" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldConfidence(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldConfidence is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldConfidence requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldConfidence: %w", err) } return oldValue.Confidence, nil } // ResetConfidence resets all changes to the "confidence" field. func (m *SecurityScanningResultMutation) ResetConfidence() { m.confidence = nil } // SetCwe sets the "cwe" field. func (m *SecurityScanningResultMutation) SetCwe(i []interface{}) { m.cwe = &i m.appendcwe = nil } // Cwe returns the value of the "cwe" field in the mutation. func (m *SecurityScanningResultMutation) Cwe() (r []interface{}, exists bool) { v := m.cwe if v == nil { return } return *v, true } // OldCwe returns the old "cwe" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldCwe(ctx context.Context) (v []interface{}, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCwe is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCwe requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCwe: %w", err) } return oldValue.Cwe, nil } // AppendCwe adds i to the "cwe" field. func (m *SecurityScanningResultMutation) AppendCwe(i []interface{}) { m.appendcwe = append(m.appendcwe, i...) } // AppendedCwe returns the list of values that were appended to the "cwe" field in this mutation. func (m *SecurityScanningResultMutation) AppendedCwe() ([]interface{}, bool) { if len(m.appendcwe) == 0 { return nil, false } return m.appendcwe, true } // ResetCwe resets all changes to the "cwe" field. func (m *SecurityScanningResultMutation) ResetCwe() { m.cwe = nil m.appendcwe = nil } // SetImpact sets the "impact" field. func (m *SecurityScanningResultMutation) SetImpact(s string) { m.impact = &s } // Impact returns the value of the "impact" field in the mutation. func (m *SecurityScanningResultMutation) Impact() (r string, exists bool) { v := m.impact if v == nil { return } return *v, true } // OldImpact returns the old "impact" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldImpact(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldImpact is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldImpact requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldImpact: %w", err) } return oldValue.Impact, nil } // ResetImpact resets all changes to the "impact" field. func (m *SecurityScanningResultMutation) ResetImpact() { m.impact = nil } // SetOwasp sets the "owasp" field. func (m *SecurityScanningResultMutation) SetOwasp(i []interface{}) { m.owasp = &i m.appendowasp = nil } // Owasp returns the value of the "owasp" field in the mutation. func (m *SecurityScanningResultMutation) Owasp() (r []interface{}, exists bool) { v := m.owasp if v == nil { return } return *v, true } // OldOwasp returns the old "owasp" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldOwasp(ctx context.Context) (v []interface{}, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOwasp is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOwasp requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOwasp: %w", err) } return oldValue.Owasp, nil } // AppendOwasp adds i to the "owasp" field. func (m *SecurityScanningResultMutation) AppendOwasp(i []interface{}) { m.appendowasp = append(m.appendowasp, i...) } // AppendedOwasp returns the list of values that were appended to the "owasp" field in this mutation. func (m *SecurityScanningResultMutation) AppendedOwasp() ([]interface{}, bool) { if len(m.appendowasp) == 0 { return nil, false } return m.appendowasp, true } // ResetOwasp resets all changes to the "owasp" field. func (m *SecurityScanningResultMutation) ResetOwasp() { m.owasp = nil m.appendowasp = nil } // SetFileContent sets the "file_content" field. func (m *SecurityScanningResultMutation) SetFileContent(s string) { m.file_content = &s } // FileContent returns the value of the "file_content" field in the mutation. func (m *SecurityScanningResultMutation) FileContent() (r string, exists bool) { v := m.file_content if v == nil { return } return *v, true } // OldFileContent returns the old "file_content" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldFileContent(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldFileContent is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldFileContent requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldFileContent: %w", err) } return oldValue.FileContent, nil } // ResetFileContent resets all changes to the "file_content" field. func (m *SecurityScanningResultMutation) ResetFileContent() { m.file_content = nil } // SetStartPosition sets the "start_position" field. func (m *SecurityScanningResultMutation) SetStartPosition(t *types.Position) { m.start_position = &t } // StartPosition returns the value of the "start_position" field in the mutation. func (m *SecurityScanningResultMutation) StartPosition() (r *types.Position, exists bool) { v := m.start_position if v == nil { return } return *v, true } // OldStartPosition returns the old "start_position" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldStartPosition(ctx context.Context) (v *types.Position, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldStartPosition is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldStartPosition requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldStartPosition: %w", err) } return oldValue.StartPosition, nil } // ResetStartPosition resets all changes to the "start_position" field. func (m *SecurityScanningResultMutation) ResetStartPosition() { m.start_position = nil } // SetEndPosition sets the "end_position" field. func (m *SecurityScanningResultMutation) SetEndPosition(t *types.Position) { m.end_position = &t } // EndPosition returns the value of the "end_position" field in the mutation. func (m *SecurityScanningResultMutation) EndPosition() (r *types.Position, exists bool) { v := m.end_position if v == nil { return } return *v, true } // OldEndPosition returns the old "end_position" field's value of the SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) OldEndPosition(ctx context.Context) (v *types.Position, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEndPosition is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEndPosition requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEndPosition: %w", err) } return oldValue.EndPosition, nil } // ResetEndPosition resets all changes to the "end_position" field. func (m *SecurityScanningResultMutation) ResetEndPosition() { m.end_position = nil } // SetCreatedAt sets the "created_at" field. func (m *SecurityScanningResultMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *SecurityScanningResultMutation) 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 SecurityScanningResult entity. // If the SecurityScanningResult 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 *SecurityScanningResultMutation) 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 *SecurityScanningResultMutation) ResetCreatedAt() { m.created_at = nil } // ClearSecurityScanning clears the "security_scanning" edge to the SecurityScanning entity. func (m *SecurityScanningResultMutation) ClearSecurityScanning() { m.clearedsecurity_scanning = true m.clearedFields[securityscanningresult.FieldSecurityScanningID] = struct{}{} } // SecurityScanningCleared reports if the "security_scanning" edge to the SecurityScanning entity was cleared. func (m *SecurityScanningResultMutation) SecurityScanningCleared() bool { return m.clearedsecurity_scanning } // SecurityScanningIDs returns the "security_scanning" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // SecurityScanningID instead. It exists only for internal usage by the builders. func (m *SecurityScanningResultMutation) SecurityScanningIDs() (ids []uuid.UUID) { if id := m.security_scanning; id != nil { ids = append(ids, *id) } return } // ResetSecurityScanning resets all changes to the "security_scanning" edge. func (m *SecurityScanningResultMutation) ResetSecurityScanning() { m.security_scanning = nil m.clearedsecurity_scanning = false } // Where appends a list predicates to the SecurityScanningResultMutation builder. func (m *SecurityScanningResultMutation) Where(ps ...predicate.SecurityScanningResult) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the SecurityScanningResultMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *SecurityScanningResultMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.SecurityScanningResult, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *SecurityScanningResultMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *SecurityScanningResultMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (SecurityScanningResult). func (m *SecurityScanningResultMutation) 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 *SecurityScanningResultMutation) Fields() []string { fields := make([]string, 0, 20) if m.security_scanning != nil { fields = append(fields, securityscanningresult.FieldSecurityScanningID) } if m.check_id != nil { fields = append(fields, securityscanningresult.FieldCheckID) } if m.engine_kind != nil { fields = append(fields, securityscanningresult.FieldEngineKind) } if m.lines != nil { fields = append(fields, securityscanningresult.FieldLines) } if m._path != nil { fields = append(fields, securityscanningresult.FieldPath) } if m.message != nil { fields = append(fields, securityscanningresult.FieldMessage) } if m.message_zh != nil { fields = append(fields, securityscanningresult.FieldMessageZh) } if m.severity != nil { fields = append(fields, securityscanningresult.FieldSeverity) } if m.abstract_en != nil { fields = append(fields, securityscanningresult.FieldAbstractEn) } if m.abstract_zh != nil { fields = append(fields, securityscanningresult.FieldAbstractZh) } if m.category_en != nil { fields = append(fields, securityscanningresult.FieldCategoryEn) } if m.category_zh != nil { fields = append(fields, securityscanningresult.FieldCategoryZh) } if m.confidence != nil { fields = append(fields, securityscanningresult.FieldConfidence) } if m.cwe != nil { fields = append(fields, securityscanningresult.FieldCwe) } if m.impact != nil { fields = append(fields, securityscanningresult.FieldImpact) } if m.owasp != nil { fields = append(fields, securityscanningresult.FieldOwasp) } if m.file_content != nil { fields = append(fields, securityscanningresult.FieldFileContent) } if m.start_position != nil { fields = append(fields, securityscanningresult.FieldStartPosition) } if m.end_position != nil { fields = append(fields, securityscanningresult.FieldEndPosition) } if m.created_at != nil { fields = append(fields, securityscanningresult.FieldCreatedAt) } 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 *SecurityScanningResultMutation) Field(name string) (ent.Value, bool) { switch name { case securityscanningresult.FieldSecurityScanningID: return m.SecurityScanningID() case securityscanningresult.FieldCheckID: return m.CheckID() case securityscanningresult.FieldEngineKind: return m.EngineKind() case securityscanningresult.FieldLines: return m.Lines() case securityscanningresult.FieldPath: return m.Path() case securityscanningresult.FieldMessage: return m.Message() case securityscanningresult.FieldMessageZh: return m.MessageZh() case securityscanningresult.FieldSeverity: return m.Severity() case securityscanningresult.FieldAbstractEn: return m.AbstractEn() case securityscanningresult.FieldAbstractZh: return m.AbstractZh() case securityscanningresult.FieldCategoryEn: return m.CategoryEn() case securityscanningresult.FieldCategoryZh: return m.CategoryZh() case securityscanningresult.FieldConfidence: return m.Confidence() case securityscanningresult.FieldCwe: return m.Cwe() case securityscanningresult.FieldImpact: return m.Impact() case securityscanningresult.FieldOwasp: return m.Owasp() case securityscanningresult.FieldFileContent: return m.FileContent() case securityscanningresult.FieldStartPosition: return m.StartPosition() case securityscanningresult.FieldEndPosition: return m.EndPosition() case securityscanningresult.FieldCreatedAt: return m.CreatedAt() } 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 *SecurityScanningResultMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case securityscanningresult.FieldSecurityScanningID: return m.OldSecurityScanningID(ctx) case securityscanningresult.FieldCheckID: return m.OldCheckID(ctx) case securityscanningresult.FieldEngineKind: return m.OldEngineKind(ctx) case securityscanningresult.FieldLines: return m.OldLines(ctx) case securityscanningresult.FieldPath: return m.OldPath(ctx) case securityscanningresult.FieldMessage: return m.OldMessage(ctx) case securityscanningresult.FieldMessageZh: return m.OldMessageZh(ctx) case securityscanningresult.FieldSeverity: return m.OldSeverity(ctx) case securityscanningresult.FieldAbstractEn: return m.OldAbstractEn(ctx) case securityscanningresult.FieldAbstractZh: return m.OldAbstractZh(ctx) case securityscanningresult.FieldCategoryEn: return m.OldCategoryEn(ctx) case securityscanningresult.FieldCategoryZh: return m.OldCategoryZh(ctx) case securityscanningresult.FieldConfidence: return m.OldConfidence(ctx) case securityscanningresult.FieldCwe: return m.OldCwe(ctx) case securityscanningresult.FieldImpact: return m.OldImpact(ctx) case securityscanningresult.FieldOwasp: return m.OldOwasp(ctx) case securityscanningresult.FieldFileContent: return m.OldFileContent(ctx) case securityscanningresult.FieldStartPosition: return m.OldStartPosition(ctx) case securityscanningresult.FieldEndPosition: return m.OldEndPosition(ctx) case securityscanningresult.FieldCreatedAt: return m.OldCreatedAt(ctx) } return nil, fmt.Errorf("unknown SecurityScanningResult 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 *SecurityScanningResultMutation) SetField(name string, value ent.Value) error { switch name { case securityscanningresult.FieldSecurityScanningID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSecurityScanningID(v) return nil case securityscanningresult.FieldCheckID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCheckID(v) return nil case securityscanningresult.FieldEngineKind: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEngineKind(v) return nil case securityscanningresult.FieldLines: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetLines(v) return nil case securityscanningresult.FieldPath: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPath(v) return nil case securityscanningresult.FieldMessage: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetMessage(v) return nil case securityscanningresult.FieldMessageZh: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetMessageZh(v) return nil case securityscanningresult.FieldSeverity: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSeverity(v) return nil case securityscanningresult.FieldAbstractEn: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAbstractEn(v) return nil case securityscanningresult.FieldAbstractZh: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAbstractZh(v) return nil case securityscanningresult.FieldCategoryEn: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCategoryEn(v) return nil case securityscanningresult.FieldCategoryZh: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCategoryZh(v) return nil case securityscanningresult.FieldConfidence: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetConfidence(v) return nil case securityscanningresult.FieldCwe: v, ok := value.([]interface{}) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCwe(v) return nil case securityscanningresult.FieldImpact: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetImpact(v) return nil case securityscanningresult.FieldOwasp: v, ok := value.([]interface{}) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOwasp(v) return nil case securityscanningresult.FieldFileContent: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetFileContent(v) return nil case securityscanningresult.FieldStartPosition: v, ok := value.(*types.Position) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStartPosition(v) return nil case securityscanningresult.FieldEndPosition: v, ok := value.(*types.Position) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEndPosition(v) return nil case securityscanningresult.FieldCreatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatedAt(v) return nil } return fmt.Errorf("unknown SecurityScanningResult field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *SecurityScanningResultMutation) 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 *SecurityScanningResultMutation) 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 *SecurityScanningResultMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown SecurityScanningResult numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *SecurityScanningResultMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *SecurityScanningResultMutation) 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 *SecurityScanningResultMutation) ClearField(name string) error { return fmt.Errorf("unknown SecurityScanningResult 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 *SecurityScanningResultMutation) ResetField(name string) error { switch name { case securityscanningresult.FieldSecurityScanningID: m.ResetSecurityScanningID() return nil case securityscanningresult.FieldCheckID: m.ResetCheckID() return nil case securityscanningresult.FieldEngineKind: m.ResetEngineKind() return nil case securityscanningresult.FieldLines: m.ResetLines() return nil case securityscanningresult.FieldPath: m.ResetPath() return nil case securityscanningresult.FieldMessage: m.ResetMessage() return nil case securityscanningresult.FieldMessageZh: m.ResetMessageZh() return nil case securityscanningresult.FieldSeverity: m.ResetSeverity() return nil case securityscanningresult.FieldAbstractEn: m.ResetAbstractEn() return nil case securityscanningresult.FieldAbstractZh: m.ResetAbstractZh() return nil case securityscanningresult.FieldCategoryEn: m.ResetCategoryEn() return nil case securityscanningresult.FieldCategoryZh: m.ResetCategoryZh() return nil case securityscanningresult.FieldConfidence: m.ResetConfidence() return nil case securityscanningresult.FieldCwe: m.ResetCwe() return nil case securityscanningresult.FieldImpact: m.ResetImpact() return nil case securityscanningresult.FieldOwasp: m.ResetOwasp() return nil case securityscanningresult.FieldFileContent: m.ResetFileContent() return nil case securityscanningresult.FieldStartPosition: m.ResetStartPosition() return nil case securityscanningresult.FieldEndPosition: m.ResetEndPosition() return nil case securityscanningresult.FieldCreatedAt: m.ResetCreatedAt() return nil } return fmt.Errorf("unknown SecurityScanningResult field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *SecurityScanningResultMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.security_scanning != nil { edges = append(edges, securityscanningresult.EdgeSecurityScanning) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *SecurityScanningResultMutation) AddedIDs(name string) []ent.Value { switch name { case securityscanningresult.EdgeSecurityScanning: if id := m.security_scanning; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *SecurityScanningResultMutation) 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 *SecurityScanningResultMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *SecurityScanningResultMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedsecurity_scanning { edges = append(edges, securityscanningresult.EdgeSecurityScanning) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *SecurityScanningResultMutation) EdgeCleared(name string) bool { switch name { case securityscanningresult.EdgeSecurityScanning: return m.clearedsecurity_scanning } 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 *SecurityScanningResultMutation) ClearEdge(name string) error { switch name { case securityscanningresult.EdgeSecurityScanning: m.ClearSecurityScanning() return nil } return fmt.Errorf("unknown SecurityScanningResult 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 *SecurityScanningResultMutation) ResetEdge(name string) error { switch name { case securityscanningresult.EdgeSecurityScanning: m.ResetSecurityScanning() return nil } return fmt.Errorf("unknown SecurityScanningResult edge %s", name) } // SettingMutation represents an operation that mutates the Setting nodes in the graph. type SettingMutation struct { config op Op typ string id *uuid.UUID enable_sso *bool force_two_factor_auth *bool disable_password_login *bool enable_auto_login *bool dingtalk_oauth **types.DingtalkOAuth custom_oauth **types.CustomOAuth base_url *string created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} done bool oldValue func(context.Context) (*Setting, error) predicates []predicate.Setting } var _ ent.Mutation = (*SettingMutation)(nil) // settingOption allows management of the mutation configuration using functional options. type settingOption func(*SettingMutation) // newSettingMutation creates new mutation for the Setting entity. func newSettingMutation(c config, op Op, opts ...settingOption) *SettingMutation { m := &SettingMutation{ config: c, op: op, typ: TypeSetting, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withSettingID sets the ID field of the mutation. func withSettingID(id uuid.UUID) settingOption { return func(m *SettingMutation) { var ( err error once sync.Once value *Setting ) m.oldValue = func(ctx context.Context) (*Setting, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().Setting.Get(ctx, id) } }) return value, err } m.id = &id } } // withSetting sets the old Setting of the mutation. func withSetting(node *Setting) settingOption { return func(m *SettingMutation) { m.oldValue = func(context.Context) (*Setting, 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 SettingMutation) 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 SettingMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 Setting entities. func (m *SettingMutation) SetID(id uuid.UUID) { 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 *SettingMutation) ID() (id uuid.UUID, 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 *SettingMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().Setting.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetEnableSSO sets the "enable_sso" field. func (m *SettingMutation) SetEnableSSO(b bool) { m.enable_sso = &b } // EnableSSO returns the value of the "enable_sso" field in the mutation. func (m *SettingMutation) EnableSSO() (r bool, exists bool) { v := m.enable_sso if v == nil { return } return *v, true } // OldEnableSSO returns the old "enable_sso" field's value of the Setting entity. // If the Setting 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 *SettingMutation) OldEnableSSO(ctx context.Context) (v bool, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEnableSSO is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEnableSSO requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEnableSSO: %w", err) } return oldValue.EnableSSO, nil } // ResetEnableSSO resets all changes to the "enable_sso" field. func (m *SettingMutation) ResetEnableSSO() { m.enable_sso = nil } // SetForceTwoFactorAuth sets the "force_two_factor_auth" field. func (m *SettingMutation) SetForceTwoFactorAuth(b bool) { m.force_two_factor_auth = &b } // ForceTwoFactorAuth returns the value of the "force_two_factor_auth" field in the mutation. func (m *SettingMutation) ForceTwoFactorAuth() (r bool, exists bool) { v := m.force_two_factor_auth if v == nil { return } return *v, true } // OldForceTwoFactorAuth returns the old "force_two_factor_auth" field's value of the Setting entity. // If the Setting 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 *SettingMutation) OldForceTwoFactorAuth(ctx context.Context) (v bool, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldForceTwoFactorAuth is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldForceTwoFactorAuth requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldForceTwoFactorAuth: %w", err) } return oldValue.ForceTwoFactorAuth, nil } // ResetForceTwoFactorAuth resets all changes to the "force_two_factor_auth" field. func (m *SettingMutation) ResetForceTwoFactorAuth() { m.force_two_factor_auth = nil } // SetDisablePasswordLogin sets the "disable_password_login" field. func (m *SettingMutation) SetDisablePasswordLogin(b bool) { m.disable_password_login = &b } // DisablePasswordLogin returns the value of the "disable_password_login" field in the mutation. func (m *SettingMutation) DisablePasswordLogin() (r bool, exists bool) { v := m.disable_password_login if v == nil { return } return *v, true } // OldDisablePasswordLogin returns the old "disable_password_login" field's value of the Setting entity. // If the Setting 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 *SettingMutation) OldDisablePasswordLogin(ctx context.Context) (v bool, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldDisablePasswordLogin is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldDisablePasswordLogin requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldDisablePasswordLogin: %w", err) } return oldValue.DisablePasswordLogin, nil } // ResetDisablePasswordLogin resets all changes to the "disable_password_login" field. func (m *SettingMutation) ResetDisablePasswordLogin() { m.disable_password_login = nil } // SetEnableAutoLogin sets the "enable_auto_login" field. func (m *SettingMutation) SetEnableAutoLogin(b bool) { m.enable_auto_login = &b } // EnableAutoLogin returns the value of the "enable_auto_login" field in the mutation. func (m *SettingMutation) EnableAutoLogin() (r bool, exists bool) { v := m.enable_auto_login if v == nil { return } return *v, true } // OldEnableAutoLogin returns the old "enable_auto_login" field's value of the Setting entity. // If the Setting 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 *SettingMutation) OldEnableAutoLogin(ctx context.Context) (v bool, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldEnableAutoLogin is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldEnableAutoLogin requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldEnableAutoLogin: %w", err) } return oldValue.EnableAutoLogin, nil } // ResetEnableAutoLogin resets all changes to the "enable_auto_login" field. func (m *SettingMutation) ResetEnableAutoLogin() { m.enable_auto_login = nil } // SetDingtalkOauth sets the "dingtalk_oauth" field. func (m *SettingMutation) SetDingtalkOauth(to *types.DingtalkOAuth) { m.dingtalk_oauth = &to } // DingtalkOauth returns the value of the "dingtalk_oauth" field in the mutation. func (m *SettingMutation) DingtalkOauth() (r *types.DingtalkOAuth, exists bool) { v := m.dingtalk_oauth if v == nil { return } return *v, true } // OldDingtalkOauth returns the old "dingtalk_oauth" field's value of the Setting entity. // If the Setting 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 *SettingMutation) OldDingtalkOauth(ctx context.Context) (v *types.DingtalkOAuth, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldDingtalkOauth is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldDingtalkOauth requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldDingtalkOauth: %w", err) } return oldValue.DingtalkOauth, nil } // ClearDingtalkOauth clears the value of the "dingtalk_oauth" field. func (m *SettingMutation) ClearDingtalkOauth() { m.dingtalk_oauth = nil m.clearedFields[setting.FieldDingtalkOauth] = struct{}{} } // DingtalkOauthCleared returns if the "dingtalk_oauth" field was cleared in this mutation. func (m *SettingMutation) DingtalkOauthCleared() bool { _, ok := m.clearedFields[setting.FieldDingtalkOauth] return ok } // ResetDingtalkOauth resets all changes to the "dingtalk_oauth" field. func (m *SettingMutation) ResetDingtalkOauth() { m.dingtalk_oauth = nil delete(m.clearedFields, setting.FieldDingtalkOauth) } // SetCustomOauth sets the "custom_oauth" field. func (m *SettingMutation) SetCustomOauth(to *types.CustomOAuth) { m.custom_oauth = &to } // CustomOauth returns the value of the "custom_oauth" field in the mutation. func (m *SettingMutation) CustomOauth() (r *types.CustomOAuth, exists bool) { v := m.custom_oauth if v == nil { return } return *v, true } // OldCustomOauth returns the old "custom_oauth" field's value of the Setting entity. // If the Setting 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 *SettingMutation) OldCustomOauth(ctx context.Context) (v *types.CustomOAuth, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCustomOauth is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCustomOauth requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCustomOauth: %w", err) } return oldValue.CustomOauth, nil } // ClearCustomOauth clears the value of the "custom_oauth" field. func (m *SettingMutation) ClearCustomOauth() { m.custom_oauth = nil m.clearedFields[setting.FieldCustomOauth] = struct{}{} } // CustomOauthCleared returns if the "custom_oauth" field was cleared in this mutation. func (m *SettingMutation) CustomOauthCleared() bool { _, ok := m.clearedFields[setting.FieldCustomOauth] return ok } // ResetCustomOauth resets all changes to the "custom_oauth" field. func (m *SettingMutation) ResetCustomOauth() { m.custom_oauth = nil delete(m.clearedFields, setting.FieldCustomOauth) } // SetBaseURL sets the "base_url" field. func (m *SettingMutation) SetBaseURL(s string) { m.base_url = &s } // BaseURL returns the value of the "base_url" field in the mutation. func (m *SettingMutation) BaseURL() (r string, exists bool) { v := m.base_url if v == nil { return } return *v, true } // OldBaseURL returns the old "base_url" field's value of the Setting entity. // If the Setting 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 *SettingMutation) OldBaseURL(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldBaseURL is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldBaseURL requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldBaseURL: %w", err) } return oldValue.BaseURL, nil } // ClearBaseURL clears the value of the "base_url" field. func (m *SettingMutation) ClearBaseURL() { m.base_url = nil m.clearedFields[setting.FieldBaseURL] = struct{}{} } // BaseURLCleared returns if the "base_url" field was cleared in this mutation. func (m *SettingMutation) BaseURLCleared() bool { _, ok := m.clearedFields[setting.FieldBaseURL] return ok } // ResetBaseURL resets all changes to the "base_url" field. func (m *SettingMutation) ResetBaseURL() { m.base_url = nil delete(m.clearedFields, setting.FieldBaseURL) } // SetCreatedAt sets the "created_at" field. func (m *SettingMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *SettingMutation) 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 Setting entity. // If the Setting 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 *SettingMutation) 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 *SettingMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *SettingMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *SettingMutation) 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 Setting entity. // If the Setting 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 *SettingMutation) 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 *SettingMutation) ResetUpdatedAt() { m.updated_at = nil } // Where appends a list predicates to the SettingMutation builder. func (m *SettingMutation) Where(ps ...predicate.Setting) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the SettingMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *SettingMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.Setting, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *SettingMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *SettingMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (Setting). func (m *SettingMutation) 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 *SettingMutation) Fields() []string { fields := make([]string, 0, 9) if m.enable_sso != nil { fields = append(fields, setting.FieldEnableSSO) } if m.force_two_factor_auth != nil { fields = append(fields, setting.FieldForceTwoFactorAuth) } if m.disable_password_login != nil { fields = append(fields, setting.FieldDisablePasswordLogin) } if m.enable_auto_login != nil { fields = append(fields, setting.FieldEnableAutoLogin) } if m.dingtalk_oauth != nil { fields = append(fields, setting.FieldDingtalkOauth) } if m.custom_oauth != nil { fields = append(fields, setting.FieldCustomOauth) } if m.base_url != nil { fields = append(fields, setting.FieldBaseURL) } if m.created_at != nil { fields = append(fields, setting.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, setting.FieldUpdatedAt) } 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 *SettingMutation) Field(name string) (ent.Value, bool) { switch name { case setting.FieldEnableSSO: return m.EnableSSO() case setting.FieldForceTwoFactorAuth: return m.ForceTwoFactorAuth() case setting.FieldDisablePasswordLogin: return m.DisablePasswordLogin() case setting.FieldEnableAutoLogin: return m.EnableAutoLogin() case setting.FieldDingtalkOauth: return m.DingtalkOauth() case setting.FieldCustomOauth: return m.CustomOauth() case setting.FieldBaseURL: return m.BaseURL() case setting.FieldCreatedAt: return m.CreatedAt() case setting.FieldUpdatedAt: return m.UpdatedAt() } 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 *SettingMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case setting.FieldEnableSSO: return m.OldEnableSSO(ctx) case setting.FieldForceTwoFactorAuth: return m.OldForceTwoFactorAuth(ctx) case setting.FieldDisablePasswordLogin: return m.OldDisablePasswordLogin(ctx) case setting.FieldEnableAutoLogin: return m.OldEnableAutoLogin(ctx) case setting.FieldDingtalkOauth: return m.OldDingtalkOauth(ctx) case setting.FieldCustomOauth: return m.OldCustomOauth(ctx) case setting.FieldBaseURL: return m.OldBaseURL(ctx) case setting.FieldCreatedAt: return m.OldCreatedAt(ctx) case setting.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown Setting 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 *SettingMutation) SetField(name string, value ent.Value) error { switch name { case setting.FieldEnableSSO: v, ok := value.(bool) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEnableSSO(v) return nil case setting.FieldForceTwoFactorAuth: v, ok := value.(bool) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetForceTwoFactorAuth(v) return nil case setting.FieldDisablePasswordLogin: v, ok := value.(bool) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDisablePasswordLogin(v) return nil case setting.FieldEnableAutoLogin: v, ok := value.(bool) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEnableAutoLogin(v) return nil case setting.FieldDingtalkOauth: v, ok := value.(*types.DingtalkOAuth) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDingtalkOauth(v) return nil case setting.FieldCustomOauth: v, ok := value.(*types.CustomOAuth) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCustomOauth(v) return nil case setting.FieldBaseURL: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetBaseURL(v) return nil case setting.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 setting.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown Setting field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *SettingMutation) 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 *SettingMutation) 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 *SettingMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown Setting numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *SettingMutation) ClearedFields() []string { var fields []string if m.FieldCleared(setting.FieldDingtalkOauth) { fields = append(fields, setting.FieldDingtalkOauth) } if m.FieldCleared(setting.FieldCustomOauth) { fields = append(fields, setting.FieldCustomOauth) } if m.FieldCleared(setting.FieldBaseURL) { fields = append(fields, setting.FieldBaseURL) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *SettingMutation) 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 *SettingMutation) ClearField(name string) error { switch name { case setting.FieldDingtalkOauth: m.ClearDingtalkOauth() return nil case setting.FieldCustomOauth: m.ClearCustomOauth() return nil case setting.FieldBaseURL: m.ClearBaseURL() return nil } return fmt.Errorf("unknown Setting 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 *SettingMutation) ResetField(name string) error { switch name { case setting.FieldEnableSSO: m.ResetEnableSSO() return nil case setting.FieldForceTwoFactorAuth: m.ResetForceTwoFactorAuth() return nil case setting.FieldDisablePasswordLogin: m.ResetDisablePasswordLogin() return nil case setting.FieldEnableAutoLogin: m.ResetEnableAutoLogin() return nil case setting.FieldDingtalkOauth: m.ResetDingtalkOauth() return nil case setting.FieldCustomOauth: m.ResetCustomOauth() return nil case setting.FieldBaseURL: m.ResetBaseURL() return nil case setting.FieldCreatedAt: m.ResetCreatedAt() return nil case setting.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown Setting field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *SettingMutation) 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 *SettingMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *SettingMutation) 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 *SettingMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *SettingMutation) 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 *SettingMutation) 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 *SettingMutation) ClearEdge(name string) error { return fmt.Errorf("unknown Setting 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 *SettingMutation) ResetEdge(name string) error { return fmt.Errorf("unknown Setting edge %s", name) } // TaskMutation represents an operation that mutates the Task nodes in the graph. type TaskMutation struct { config op Op typ string id *uuid.UUID task_id *string request_id *string model_type *consts.ModelType is_accept *bool program_language *string work_mode *string prompt *string completion *string code_lines *int64 addcode_lines *int64 input_tokens *int64 addinput_tokens *int64 output_tokens *int64 addoutput_tokens *int64 is_suggested *bool source_code *string cursor_position *map[string]interface{} user_input *string created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} task_records map[uuid.UUID]struct{} removedtask_records map[uuid.UUID]struct{} clearedtask_records bool user *uuid.UUID cleareduser bool model *uuid.UUID clearedmodel bool done bool oldValue func(context.Context) (*Task, error) predicates []predicate.Task } var _ ent.Mutation = (*TaskMutation)(nil) // taskOption allows management of the mutation configuration using functional options. type taskOption func(*TaskMutation) // newTaskMutation creates new mutation for the Task entity. func newTaskMutation(c config, op Op, opts ...taskOption) *TaskMutation { m := &TaskMutation{ config: c, op: op, typ: TypeTask, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withTaskID sets the ID field of the mutation. func withTaskID(id uuid.UUID) taskOption { return func(m *TaskMutation) { var ( err error once sync.Once value *Task ) m.oldValue = func(ctx context.Context) (*Task, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().Task.Get(ctx, id) } }) return value, err } m.id = &id } } // withTask sets the old Task of the mutation. func withTask(node *Task) taskOption { return func(m *TaskMutation) { m.oldValue = func(context.Context) (*Task, 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 TaskMutation) 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 TaskMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 Task entities. func (m *TaskMutation) SetID(id uuid.UUID) { 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 *TaskMutation) ID() (id uuid.UUID, 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 *TaskMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().Task.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetTaskID sets the "task_id" field. func (m *TaskMutation) SetTaskID(s string) { m.task_id = &s } // TaskID returns the value of the "task_id" field in the mutation. func (m *TaskMutation) TaskID() (r string, exists bool) { v := m.task_id if v == nil { return } return *v, true } // OldTaskID returns the old "task_id" field's value of the Task entity. // If the Task 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 *TaskMutation) OldTaskID(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldTaskID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldTaskID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldTaskID: %w", err) } return oldValue.TaskID, nil } // ResetTaskID resets all changes to the "task_id" field. func (m *TaskMutation) ResetTaskID() { m.task_id = nil } // SetUserID sets the "user_id" field. func (m *TaskMutation) SetUserID(u uuid.UUID) { m.user = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *TaskMutation) UserID() (r uuid.UUID, exists bool) { v := m.user if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the Task entity. // If the Task 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 *TaskMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 } // ClearUserID clears the value of the "user_id" field. func (m *TaskMutation) ClearUserID() { m.user = nil m.clearedFields[task.FieldUserID] = struct{}{} } // UserIDCleared returns if the "user_id" field was cleared in this mutation. func (m *TaskMutation) UserIDCleared() bool { _, ok := m.clearedFields[task.FieldUserID] return ok } // ResetUserID resets all changes to the "user_id" field. func (m *TaskMutation) ResetUserID() { m.user = nil delete(m.clearedFields, task.FieldUserID) } // SetModelID sets the "model_id" field. func (m *TaskMutation) SetModelID(u uuid.UUID) { m.model = &u } // ModelID returns the value of the "model_id" field in the mutation. func (m *TaskMutation) ModelID() (r uuid.UUID, exists bool) { v := m.model if v == nil { return } return *v, true } // OldModelID returns the old "model_id" field's value of the Task entity. // If the Task 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 *TaskMutation) OldModelID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldModelID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldModelID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldModelID: %w", err) } return oldValue.ModelID, nil } // ClearModelID clears the value of the "model_id" field. func (m *TaskMutation) ClearModelID() { m.model = nil m.clearedFields[task.FieldModelID] = struct{}{} } // ModelIDCleared returns if the "model_id" field was cleared in this mutation. func (m *TaskMutation) ModelIDCleared() bool { _, ok := m.clearedFields[task.FieldModelID] return ok } // ResetModelID resets all changes to the "model_id" field. func (m *TaskMutation) ResetModelID() { m.model = nil delete(m.clearedFields, task.FieldModelID) } // SetRequestID sets the "request_id" field. func (m *TaskMutation) SetRequestID(s string) { m.request_id = &s } // RequestID returns the value of the "request_id" field in the mutation. func (m *TaskMutation) RequestID() (r string, exists bool) { v := m.request_id if v == nil { return } return *v, true } // OldRequestID returns the old "request_id" field's value of the Task entity. // If the Task 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 *TaskMutation) OldRequestID(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRequestID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRequestID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRequestID: %w", err) } return oldValue.RequestID, nil } // ClearRequestID clears the value of the "request_id" field. func (m *TaskMutation) ClearRequestID() { m.request_id = nil m.clearedFields[task.FieldRequestID] = struct{}{} } // RequestIDCleared returns if the "request_id" field was cleared in this mutation. func (m *TaskMutation) RequestIDCleared() bool { _, ok := m.clearedFields[task.FieldRequestID] return ok } // ResetRequestID resets all changes to the "request_id" field. func (m *TaskMutation) ResetRequestID() { m.request_id = nil delete(m.clearedFields, task.FieldRequestID) } // SetModelType sets the "model_type" field. func (m *TaskMutation) SetModelType(ct consts.ModelType) { m.model_type = &ct } // ModelType returns the value of the "model_type" field in the mutation. func (m *TaskMutation) ModelType() (r consts.ModelType, exists bool) { v := m.model_type if v == nil { return } return *v, true } // OldModelType returns the old "model_type" field's value of the Task entity. // If the Task 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 *TaskMutation) OldModelType(ctx context.Context) (v consts.ModelType, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldModelType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldModelType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldModelType: %w", err) } return oldValue.ModelType, nil } // ResetModelType resets all changes to the "model_type" field. func (m *TaskMutation) ResetModelType() { m.model_type = nil } // SetIsAccept sets the "is_accept" field. func (m *TaskMutation) SetIsAccept(b bool) { m.is_accept = &b } // IsAccept returns the value of the "is_accept" field in the mutation. func (m *TaskMutation) IsAccept() (r bool, exists bool) { v := m.is_accept if v == nil { return } return *v, true } // OldIsAccept returns the old "is_accept" field's value of the Task entity. // If the Task 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 *TaskMutation) OldIsAccept(ctx context.Context) (v bool, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIsAccept is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIsAccept requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIsAccept: %w", err) } return oldValue.IsAccept, nil } // ResetIsAccept resets all changes to the "is_accept" field. func (m *TaskMutation) ResetIsAccept() { m.is_accept = nil } // SetProgramLanguage sets the "program_language" field. func (m *TaskMutation) SetProgramLanguage(s string) { m.program_language = &s } // ProgramLanguage returns the value of the "program_language" field in the mutation. func (m *TaskMutation) ProgramLanguage() (r string, exists bool) { v := m.program_language if v == nil { return } return *v, true } // OldProgramLanguage returns the old "program_language" field's value of the Task entity. // If the Task 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 *TaskMutation) OldProgramLanguage(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldProgramLanguage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldProgramLanguage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldProgramLanguage: %w", err) } return oldValue.ProgramLanguage, nil } // ClearProgramLanguage clears the value of the "program_language" field. func (m *TaskMutation) ClearProgramLanguage() { m.program_language = nil m.clearedFields[task.FieldProgramLanguage] = struct{}{} } // ProgramLanguageCleared returns if the "program_language" field was cleared in this mutation. func (m *TaskMutation) ProgramLanguageCleared() bool { _, ok := m.clearedFields[task.FieldProgramLanguage] return ok } // ResetProgramLanguage resets all changes to the "program_language" field. func (m *TaskMutation) ResetProgramLanguage() { m.program_language = nil delete(m.clearedFields, task.FieldProgramLanguage) } // SetWorkMode sets the "work_mode" field. func (m *TaskMutation) SetWorkMode(s string) { m.work_mode = &s } // WorkMode returns the value of the "work_mode" field in the mutation. func (m *TaskMutation) WorkMode() (r string, exists bool) { v := m.work_mode if v == nil { return } return *v, true } // OldWorkMode returns the old "work_mode" field's value of the Task entity. // If the Task 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 *TaskMutation) OldWorkMode(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldWorkMode is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldWorkMode requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldWorkMode: %w", err) } return oldValue.WorkMode, nil } // ClearWorkMode clears the value of the "work_mode" field. func (m *TaskMutation) ClearWorkMode() { m.work_mode = nil m.clearedFields[task.FieldWorkMode] = struct{}{} } // WorkModeCleared returns if the "work_mode" field was cleared in this mutation. func (m *TaskMutation) WorkModeCleared() bool { _, ok := m.clearedFields[task.FieldWorkMode] return ok } // ResetWorkMode resets all changes to the "work_mode" field. func (m *TaskMutation) ResetWorkMode() { m.work_mode = nil delete(m.clearedFields, task.FieldWorkMode) } // SetPrompt sets the "prompt" field. func (m *TaskMutation) SetPrompt(s string) { m.prompt = &s } // Prompt returns the value of the "prompt" field in the mutation. func (m *TaskMutation) Prompt() (r string, exists bool) { v := m.prompt if v == nil { return } return *v, true } // OldPrompt returns the old "prompt" field's value of the Task entity. // If the Task 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 *TaskMutation) OldPrompt(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPrompt is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPrompt requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPrompt: %w", err) } return oldValue.Prompt, nil } // ClearPrompt clears the value of the "prompt" field. func (m *TaskMutation) ClearPrompt() { m.prompt = nil m.clearedFields[task.FieldPrompt] = struct{}{} } // PromptCleared returns if the "prompt" field was cleared in this mutation. func (m *TaskMutation) PromptCleared() bool { _, ok := m.clearedFields[task.FieldPrompt] return ok } // ResetPrompt resets all changes to the "prompt" field. func (m *TaskMutation) ResetPrompt() { m.prompt = nil delete(m.clearedFields, task.FieldPrompt) } // SetCompletion sets the "completion" field. func (m *TaskMutation) SetCompletion(s string) { m.completion = &s } // Completion returns the value of the "completion" field in the mutation. func (m *TaskMutation) Completion() (r string, exists bool) { v := m.completion if v == nil { return } return *v, true } // OldCompletion returns the old "completion" field's value of the Task entity. // If the Task 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 *TaskMutation) OldCompletion(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCompletion is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCompletion requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCompletion: %w", err) } return oldValue.Completion, nil } // ClearCompletion clears the value of the "completion" field. func (m *TaskMutation) ClearCompletion() { m.completion = nil m.clearedFields[task.FieldCompletion] = struct{}{} } // CompletionCleared returns if the "completion" field was cleared in this mutation. func (m *TaskMutation) CompletionCleared() bool { _, ok := m.clearedFields[task.FieldCompletion] return ok } // ResetCompletion resets all changes to the "completion" field. func (m *TaskMutation) ResetCompletion() { m.completion = nil delete(m.clearedFields, task.FieldCompletion) } // SetCodeLines sets the "code_lines" field. func (m *TaskMutation) SetCodeLines(i int64) { m.code_lines = &i m.addcode_lines = nil } // CodeLines returns the value of the "code_lines" field in the mutation. func (m *TaskMutation) CodeLines() (r int64, exists bool) { v := m.code_lines if v == nil { return } return *v, true } // OldCodeLines returns the old "code_lines" field's value of the Task entity. // If the Task 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 *TaskMutation) OldCodeLines(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCodeLines is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCodeLines requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCodeLines: %w", err) } return oldValue.CodeLines, nil } // AddCodeLines adds i to the "code_lines" field. func (m *TaskMutation) AddCodeLines(i int64) { if m.addcode_lines != nil { *m.addcode_lines += i } else { m.addcode_lines = &i } } // AddedCodeLines returns the value that was added to the "code_lines" field in this mutation. func (m *TaskMutation) AddedCodeLines() (r int64, exists bool) { v := m.addcode_lines if v == nil { return } return *v, true } // ClearCodeLines clears the value of the "code_lines" field. func (m *TaskMutation) ClearCodeLines() { m.code_lines = nil m.addcode_lines = nil m.clearedFields[task.FieldCodeLines] = struct{}{} } // CodeLinesCleared returns if the "code_lines" field was cleared in this mutation. func (m *TaskMutation) CodeLinesCleared() bool { _, ok := m.clearedFields[task.FieldCodeLines] return ok } // ResetCodeLines resets all changes to the "code_lines" field. func (m *TaskMutation) ResetCodeLines() { m.code_lines = nil m.addcode_lines = nil delete(m.clearedFields, task.FieldCodeLines) } // SetInputTokens sets the "input_tokens" field. func (m *TaskMutation) SetInputTokens(i int64) { m.input_tokens = &i m.addinput_tokens = nil } // InputTokens returns the value of the "input_tokens" field in the mutation. func (m *TaskMutation) InputTokens() (r int64, exists bool) { v := m.input_tokens if v == nil { return } return *v, true } // OldInputTokens returns the old "input_tokens" field's value of the Task entity. // If the Task 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 *TaskMutation) OldInputTokens(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldInputTokens is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldInputTokens requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldInputTokens: %w", err) } return oldValue.InputTokens, nil } // AddInputTokens adds i to the "input_tokens" field. func (m *TaskMutation) AddInputTokens(i int64) { if m.addinput_tokens != nil { *m.addinput_tokens += i } else { m.addinput_tokens = &i } } // AddedInputTokens returns the value that was added to the "input_tokens" field in this mutation. func (m *TaskMutation) AddedInputTokens() (r int64, exists bool) { v := m.addinput_tokens if v == nil { return } return *v, true } // ClearInputTokens clears the value of the "input_tokens" field. func (m *TaskMutation) ClearInputTokens() { m.input_tokens = nil m.addinput_tokens = nil m.clearedFields[task.FieldInputTokens] = struct{}{} } // InputTokensCleared returns if the "input_tokens" field was cleared in this mutation. func (m *TaskMutation) InputTokensCleared() bool { _, ok := m.clearedFields[task.FieldInputTokens] return ok } // ResetInputTokens resets all changes to the "input_tokens" field. func (m *TaskMutation) ResetInputTokens() { m.input_tokens = nil m.addinput_tokens = nil delete(m.clearedFields, task.FieldInputTokens) } // SetOutputTokens sets the "output_tokens" field. func (m *TaskMutation) SetOutputTokens(i int64) { m.output_tokens = &i m.addoutput_tokens = nil } // OutputTokens returns the value of the "output_tokens" field in the mutation. func (m *TaskMutation) OutputTokens() (r int64, exists bool) { v := m.output_tokens if v == nil { return } return *v, true } // OldOutputTokens returns the old "output_tokens" field's value of the Task entity. // If the Task 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 *TaskMutation) OldOutputTokens(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOutputTokens is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOutputTokens requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOutputTokens: %w", err) } return oldValue.OutputTokens, nil } // AddOutputTokens adds i to the "output_tokens" field. func (m *TaskMutation) AddOutputTokens(i int64) { if m.addoutput_tokens != nil { *m.addoutput_tokens += i } else { m.addoutput_tokens = &i } } // AddedOutputTokens returns the value that was added to the "output_tokens" field in this mutation. func (m *TaskMutation) AddedOutputTokens() (r int64, exists bool) { v := m.addoutput_tokens if v == nil { return } return *v, true } // ClearOutputTokens clears the value of the "output_tokens" field. func (m *TaskMutation) ClearOutputTokens() { m.output_tokens = nil m.addoutput_tokens = nil m.clearedFields[task.FieldOutputTokens] = struct{}{} } // OutputTokensCleared returns if the "output_tokens" field was cleared in this mutation. func (m *TaskMutation) OutputTokensCleared() bool { _, ok := m.clearedFields[task.FieldOutputTokens] return ok } // ResetOutputTokens resets all changes to the "output_tokens" field. func (m *TaskMutation) ResetOutputTokens() { m.output_tokens = nil m.addoutput_tokens = nil delete(m.clearedFields, task.FieldOutputTokens) } // SetIsSuggested sets the "is_suggested" field. func (m *TaskMutation) SetIsSuggested(b bool) { m.is_suggested = &b } // IsSuggested returns the value of the "is_suggested" field in the mutation. func (m *TaskMutation) IsSuggested() (r bool, exists bool) { v := m.is_suggested if v == nil { return } return *v, true } // OldIsSuggested returns the old "is_suggested" field's value of the Task entity. // If the Task 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 *TaskMutation) OldIsSuggested(ctx context.Context) (v bool, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIsSuggested is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIsSuggested requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIsSuggested: %w", err) } return oldValue.IsSuggested, nil } // ResetIsSuggested resets all changes to the "is_suggested" field. func (m *TaskMutation) ResetIsSuggested() { m.is_suggested = nil } // SetSourceCode sets the "source_code" field. func (m *TaskMutation) SetSourceCode(s string) { m.source_code = &s } // SourceCode returns the value of the "source_code" field in the mutation. func (m *TaskMutation) SourceCode() (r string, exists bool) { v := m.source_code if v == nil { return } return *v, true } // OldSourceCode returns the old "source_code" field's value of the Task entity. // If the Task 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 *TaskMutation) OldSourceCode(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSourceCode is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSourceCode requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSourceCode: %w", err) } return oldValue.SourceCode, nil } // ClearSourceCode clears the value of the "source_code" field. func (m *TaskMutation) ClearSourceCode() { m.source_code = nil m.clearedFields[task.FieldSourceCode] = struct{}{} } // SourceCodeCleared returns if the "source_code" field was cleared in this mutation. func (m *TaskMutation) SourceCodeCleared() bool { _, ok := m.clearedFields[task.FieldSourceCode] return ok } // ResetSourceCode resets all changes to the "source_code" field. func (m *TaskMutation) ResetSourceCode() { m.source_code = nil delete(m.clearedFields, task.FieldSourceCode) } // SetCursorPosition sets the "cursor_position" field. func (m *TaskMutation) SetCursorPosition(value map[string]interface{}) { m.cursor_position = &value } // CursorPosition returns the value of the "cursor_position" field in the mutation. func (m *TaskMutation) CursorPosition() (r map[string]interface{}, exists bool) { v := m.cursor_position if v == nil { return } return *v, true } // OldCursorPosition returns the old "cursor_position" field's value of the Task entity. // If the Task 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 *TaskMutation) OldCursorPosition(ctx context.Context) (v map[string]interface{}, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCursorPosition is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCursorPosition requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCursorPosition: %w", err) } return oldValue.CursorPosition, nil } // ClearCursorPosition clears the value of the "cursor_position" field. func (m *TaskMutation) ClearCursorPosition() { m.cursor_position = nil m.clearedFields[task.FieldCursorPosition] = struct{}{} } // CursorPositionCleared returns if the "cursor_position" field was cleared in this mutation. func (m *TaskMutation) CursorPositionCleared() bool { _, ok := m.clearedFields[task.FieldCursorPosition] return ok } // ResetCursorPosition resets all changes to the "cursor_position" field. func (m *TaskMutation) ResetCursorPosition() { m.cursor_position = nil delete(m.clearedFields, task.FieldCursorPosition) } // SetUserInput sets the "user_input" field. func (m *TaskMutation) SetUserInput(s string) { m.user_input = &s } // UserInput returns the value of the "user_input" field in the mutation. func (m *TaskMutation) UserInput() (r string, exists bool) { v := m.user_input if v == nil { return } return *v, true } // OldUserInput returns the old "user_input" field's value of the Task entity. // If the Task 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 *TaskMutation) OldUserInput(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldUserInput is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldUserInput requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldUserInput: %w", err) } return oldValue.UserInput, nil } // ClearUserInput clears the value of the "user_input" field. func (m *TaskMutation) ClearUserInput() { m.user_input = nil m.clearedFields[task.FieldUserInput] = struct{}{} } // UserInputCleared returns if the "user_input" field was cleared in this mutation. func (m *TaskMutation) UserInputCleared() bool { _, ok := m.clearedFields[task.FieldUserInput] return ok } // ResetUserInput resets all changes to the "user_input" field. func (m *TaskMutation) ResetUserInput() { m.user_input = nil delete(m.clearedFields, task.FieldUserInput) } // SetCreatedAt sets the "created_at" field. func (m *TaskMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *TaskMutation) 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 Task entity. // If the Task 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 *TaskMutation) 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 *TaskMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *TaskMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *TaskMutation) 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 Task entity. // If the Task 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 *TaskMutation) 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 *TaskMutation) ResetUpdatedAt() { m.updated_at = nil } // AddTaskRecordIDs adds the "task_records" edge to the TaskRecord entity by ids. func (m *TaskMutation) AddTaskRecordIDs(ids ...uuid.UUID) { if m.task_records == nil { m.task_records = make(map[uuid.UUID]struct{}) } for i := range ids { m.task_records[ids[i]] = struct{}{} } } // ClearTaskRecords clears the "task_records" edge to the TaskRecord entity. func (m *TaskMutation) ClearTaskRecords() { m.clearedtask_records = true } // TaskRecordsCleared reports if the "task_records" edge to the TaskRecord entity was cleared. func (m *TaskMutation) TaskRecordsCleared() bool { return m.clearedtask_records } // RemoveTaskRecordIDs removes the "task_records" edge to the TaskRecord entity by IDs. func (m *TaskMutation) RemoveTaskRecordIDs(ids ...uuid.UUID) { if m.removedtask_records == nil { m.removedtask_records = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.task_records, ids[i]) m.removedtask_records[ids[i]] = struct{}{} } } // RemovedTaskRecords returns the removed IDs of the "task_records" edge to the TaskRecord entity. func (m *TaskMutation) RemovedTaskRecordsIDs() (ids []uuid.UUID) { for id := range m.removedtask_records { ids = append(ids, id) } return } // TaskRecordsIDs returns the "task_records" edge IDs in the mutation. func (m *TaskMutation) TaskRecordsIDs() (ids []uuid.UUID) { for id := range m.task_records { ids = append(ids, id) } return } // ResetTaskRecords resets all changes to the "task_records" edge. func (m *TaskMutation) ResetTaskRecords() { m.task_records = nil m.clearedtask_records = false m.removedtask_records = nil } // ClearUser clears the "user" edge to the User entity. func (m *TaskMutation) ClearUser() { m.cleareduser = true m.clearedFields[task.FieldUserID] = struct{}{} } // UserCleared reports if the "user" edge to the User entity was cleared. func (m *TaskMutation) UserCleared() bool { return m.UserIDCleared() || 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 *TaskMutation) UserIDs() (ids []uuid.UUID) { if id := m.user; id != nil { ids = append(ids, *id) } return } // ResetUser resets all changes to the "user" edge. func (m *TaskMutation) ResetUser() { m.user = nil m.cleareduser = false } // ClearModel clears the "model" edge to the Model entity. func (m *TaskMutation) ClearModel() { m.clearedmodel = true m.clearedFields[task.FieldModelID] = struct{}{} } // ModelCleared reports if the "model" edge to the Model entity was cleared. func (m *TaskMutation) ModelCleared() bool { return m.ModelIDCleared() || m.clearedmodel } // ModelIDs returns the "model" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // ModelID instead. It exists only for internal usage by the builders. func (m *TaskMutation) ModelIDs() (ids []uuid.UUID) { if id := m.model; id != nil { ids = append(ids, *id) } return } // ResetModel resets all changes to the "model" edge. func (m *TaskMutation) ResetModel() { m.model = nil m.clearedmodel = false } // Where appends a list predicates to the TaskMutation builder. func (m *TaskMutation) Where(ps ...predicate.Task) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the TaskMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *TaskMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.Task, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *TaskMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *TaskMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (Task). func (m *TaskMutation) 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 *TaskMutation) Fields() []string { fields := make([]string, 0, 19) if m.task_id != nil { fields = append(fields, task.FieldTaskID) } if m.user != nil { fields = append(fields, task.FieldUserID) } if m.model != nil { fields = append(fields, task.FieldModelID) } if m.request_id != nil { fields = append(fields, task.FieldRequestID) } if m.model_type != nil { fields = append(fields, task.FieldModelType) } if m.is_accept != nil { fields = append(fields, task.FieldIsAccept) } if m.program_language != nil { fields = append(fields, task.FieldProgramLanguage) } if m.work_mode != nil { fields = append(fields, task.FieldWorkMode) } if m.prompt != nil { fields = append(fields, task.FieldPrompt) } if m.completion != nil { fields = append(fields, task.FieldCompletion) } if m.code_lines != nil { fields = append(fields, task.FieldCodeLines) } if m.input_tokens != nil { fields = append(fields, task.FieldInputTokens) } if m.output_tokens != nil { fields = append(fields, task.FieldOutputTokens) } if m.is_suggested != nil { fields = append(fields, task.FieldIsSuggested) } if m.source_code != nil { fields = append(fields, task.FieldSourceCode) } if m.cursor_position != nil { fields = append(fields, task.FieldCursorPosition) } if m.user_input != nil { fields = append(fields, task.FieldUserInput) } if m.created_at != nil { fields = append(fields, task.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, task.FieldUpdatedAt) } 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 *TaskMutation) Field(name string) (ent.Value, bool) { switch name { case task.FieldTaskID: return m.TaskID() case task.FieldUserID: return m.UserID() case task.FieldModelID: return m.ModelID() case task.FieldRequestID: return m.RequestID() case task.FieldModelType: return m.ModelType() case task.FieldIsAccept: return m.IsAccept() case task.FieldProgramLanguage: return m.ProgramLanguage() case task.FieldWorkMode: return m.WorkMode() case task.FieldPrompt: return m.Prompt() case task.FieldCompletion: return m.Completion() case task.FieldCodeLines: return m.CodeLines() case task.FieldInputTokens: return m.InputTokens() case task.FieldOutputTokens: return m.OutputTokens() case task.FieldIsSuggested: return m.IsSuggested() case task.FieldSourceCode: return m.SourceCode() case task.FieldCursorPosition: return m.CursorPosition() case task.FieldUserInput: return m.UserInput() case task.FieldCreatedAt: return m.CreatedAt() case task.FieldUpdatedAt: return m.UpdatedAt() } 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 *TaskMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case task.FieldTaskID: return m.OldTaskID(ctx) case task.FieldUserID: return m.OldUserID(ctx) case task.FieldModelID: return m.OldModelID(ctx) case task.FieldRequestID: return m.OldRequestID(ctx) case task.FieldModelType: return m.OldModelType(ctx) case task.FieldIsAccept: return m.OldIsAccept(ctx) case task.FieldProgramLanguage: return m.OldProgramLanguage(ctx) case task.FieldWorkMode: return m.OldWorkMode(ctx) case task.FieldPrompt: return m.OldPrompt(ctx) case task.FieldCompletion: return m.OldCompletion(ctx) case task.FieldCodeLines: return m.OldCodeLines(ctx) case task.FieldInputTokens: return m.OldInputTokens(ctx) case task.FieldOutputTokens: return m.OldOutputTokens(ctx) case task.FieldIsSuggested: return m.OldIsSuggested(ctx) case task.FieldSourceCode: return m.OldSourceCode(ctx) case task.FieldCursorPosition: return m.OldCursorPosition(ctx) case task.FieldUserInput: return m.OldUserInput(ctx) case task.FieldCreatedAt: return m.OldCreatedAt(ctx) case task.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown Task 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 *TaskMutation) SetField(name string, value ent.Value) error { switch name { case task.FieldTaskID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetTaskID(v) return nil case task.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case task.FieldModelID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetModelID(v) return nil case task.FieldRequestID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRequestID(v) return nil case task.FieldModelType: v, ok := value.(consts.ModelType) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetModelType(v) return nil case task.FieldIsAccept: v, ok := value.(bool) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIsAccept(v) return nil case task.FieldProgramLanguage: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetProgramLanguage(v) return nil case task.FieldWorkMode: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetWorkMode(v) return nil case task.FieldPrompt: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPrompt(v) return nil case task.FieldCompletion: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCompletion(v) return nil case task.FieldCodeLines: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCodeLines(v) return nil case task.FieldInputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetInputTokens(v) return nil case task.FieldOutputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOutputTokens(v) return nil case task.FieldIsSuggested: v, ok := value.(bool) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIsSuggested(v) return nil case task.FieldSourceCode: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSourceCode(v) return nil case task.FieldCursorPosition: v, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCursorPosition(v) return nil case task.FieldUserInput: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserInput(v) return nil case task.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 task.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown Task field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *TaskMutation) AddedFields() []string { var fields []string if m.addcode_lines != nil { fields = append(fields, task.FieldCodeLines) } if m.addinput_tokens != nil { fields = append(fields, task.FieldInputTokens) } if m.addoutput_tokens != nil { fields = append(fields, task.FieldOutputTokens) } 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 *TaskMutation) AddedField(name string) (ent.Value, bool) { switch name { case task.FieldCodeLines: return m.AddedCodeLines() case task.FieldInputTokens: return m.AddedInputTokens() case task.FieldOutputTokens: return m.AddedOutputTokens() } 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 *TaskMutation) AddField(name string, value ent.Value) error { switch name { case task.FieldCodeLines: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddCodeLines(v) return nil case task.FieldInputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddInputTokens(v) return nil case task.FieldOutputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddOutputTokens(v) return nil } return fmt.Errorf("unknown Task numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *TaskMutation) ClearedFields() []string { var fields []string if m.FieldCleared(task.FieldUserID) { fields = append(fields, task.FieldUserID) } if m.FieldCleared(task.FieldModelID) { fields = append(fields, task.FieldModelID) } if m.FieldCleared(task.FieldRequestID) { fields = append(fields, task.FieldRequestID) } if m.FieldCleared(task.FieldProgramLanguage) { fields = append(fields, task.FieldProgramLanguage) } if m.FieldCleared(task.FieldWorkMode) { fields = append(fields, task.FieldWorkMode) } if m.FieldCleared(task.FieldPrompt) { fields = append(fields, task.FieldPrompt) } if m.FieldCleared(task.FieldCompletion) { fields = append(fields, task.FieldCompletion) } if m.FieldCleared(task.FieldCodeLines) { fields = append(fields, task.FieldCodeLines) } if m.FieldCleared(task.FieldInputTokens) { fields = append(fields, task.FieldInputTokens) } if m.FieldCleared(task.FieldOutputTokens) { fields = append(fields, task.FieldOutputTokens) } if m.FieldCleared(task.FieldSourceCode) { fields = append(fields, task.FieldSourceCode) } if m.FieldCleared(task.FieldCursorPosition) { fields = append(fields, task.FieldCursorPosition) } if m.FieldCleared(task.FieldUserInput) { fields = append(fields, task.FieldUserInput) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *TaskMutation) 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 *TaskMutation) ClearField(name string) error { switch name { case task.FieldUserID: m.ClearUserID() return nil case task.FieldModelID: m.ClearModelID() return nil case task.FieldRequestID: m.ClearRequestID() return nil case task.FieldProgramLanguage: m.ClearProgramLanguage() return nil case task.FieldWorkMode: m.ClearWorkMode() return nil case task.FieldPrompt: m.ClearPrompt() return nil case task.FieldCompletion: m.ClearCompletion() return nil case task.FieldCodeLines: m.ClearCodeLines() return nil case task.FieldInputTokens: m.ClearInputTokens() return nil case task.FieldOutputTokens: m.ClearOutputTokens() return nil case task.FieldSourceCode: m.ClearSourceCode() return nil case task.FieldCursorPosition: m.ClearCursorPosition() return nil case task.FieldUserInput: m.ClearUserInput() return nil } return fmt.Errorf("unknown Task 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 *TaskMutation) ResetField(name string) error { switch name { case task.FieldTaskID: m.ResetTaskID() return nil case task.FieldUserID: m.ResetUserID() return nil case task.FieldModelID: m.ResetModelID() return nil case task.FieldRequestID: m.ResetRequestID() return nil case task.FieldModelType: m.ResetModelType() return nil case task.FieldIsAccept: m.ResetIsAccept() return nil case task.FieldProgramLanguage: m.ResetProgramLanguage() return nil case task.FieldWorkMode: m.ResetWorkMode() return nil case task.FieldPrompt: m.ResetPrompt() return nil case task.FieldCompletion: m.ResetCompletion() return nil case task.FieldCodeLines: m.ResetCodeLines() return nil case task.FieldInputTokens: m.ResetInputTokens() return nil case task.FieldOutputTokens: m.ResetOutputTokens() return nil case task.FieldIsSuggested: m.ResetIsSuggested() return nil case task.FieldSourceCode: m.ResetSourceCode() return nil case task.FieldCursorPosition: m.ResetCursorPosition() return nil case task.FieldUserInput: m.ResetUserInput() return nil case task.FieldCreatedAt: m.ResetCreatedAt() return nil case task.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown Task field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *TaskMutation) AddedEdges() []string { edges := make([]string, 0, 3) if m.task_records != nil { edges = append(edges, task.EdgeTaskRecords) } if m.user != nil { edges = append(edges, task.EdgeUser) } if m.model != nil { edges = append(edges, task.EdgeModel) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *TaskMutation) AddedIDs(name string) []ent.Value { switch name { case task.EdgeTaskRecords: ids := make([]ent.Value, 0, len(m.task_records)) for id := range m.task_records { ids = append(ids, id) } return ids case task.EdgeUser: if id := m.user; id != nil { return []ent.Value{*id} } case task.EdgeModel: if id := m.model; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *TaskMutation) RemovedEdges() []string { edges := make([]string, 0, 3) if m.removedtask_records != nil { edges = append(edges, task.EdgeTaskRecords) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *TaskMutation) RemovedIDs(name string) []ent.Value { switch name { case task.EdgeTaskRecords: ids := make([]ent.Value, 0, len(m.removedtask_records)) for id := range m.removedtask_records { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *TaskMutation) ClearedEdges() []string { edges := make([]string, 0, 3) if m.clearedtask_records { edges = append(edges, task.EdgeTaskRecords) } if m.cleareduser { edges = append(edges, task.EdgeUser) } if m.clearedmodel { edges = append(edges, task.EdgeModel) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *TaskMutation) EdgeCleared(name string) bool { switch name { case task.EdgeTaskRecords: return m.clearedtask_records case task.EdgeUser: return m.cleareduser case task.EdgeModel: return m.clearedmodel } 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 *TaskMutation) ClearEdge(name string) error { switch name { case task.EdgeUser: m.ClearUser() return nil case task.EdgeModel: m.ClearModel() return nil } return fmt.Errorf("unknown Task 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 *TaskMutation) ResetEdge(name string) error { switch name { case task.EdgeTaskRecords: m.ResetTaskRecords() return nil case task.EdgeUser: m.ResetUser() return nil case task.EdgeModel: m.ResetModel() return nil } return fmt.Errorf("unknown Task edge %s", name) } // TaskRecordMutation represents an operation that mutates the TaskRecord nodes in the graph. type TaskRecordMutation struct { config op Op typ string id *uuid.UUID prompt *string role *consts.ChatRole completion *string output_tokens *int64 addoutput_tokens *int64 code_lines *int64 addcode_lines *int64 code *string created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} task *uuid.UUID clearedtask bool done bool oldValue func(context.Context) (*TaskRecord, error) predicates []predicate.TaskRecord } var _ ent.Mutation = (*TaskRecordMutation)(nil) // taskrecordOption allows management of the mutation configuration using functional options. type taskrecordOption func(*TaskRecordMutation) // newTaskRecordMutation creates new mutation for the TaskRecord entity. func newTaskRecordMutation(c config, op Op, opts ...taskrecordOption) *TaskRecordMutation { m := &TaskRecordMutation{ config: c, op: op, typ: TypeTaskRecord, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withTaskRecordID sets the ID field of the mutation. func withTaskRecordID(id uuid.UUID) taskrecordOption { return func(m *TaskRecordMutation) { var ( err error once sync.Once value *TaskRecord ) m.oldValue = func(ctx context.Context) (*TaskRecord, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().TaskRecord.Get(ctx, id) } }) return value, err } m.id = &id } } // withTaskRecord sets the old TaskRecord of the mutation. func withTaskRecord(node *TaskRecord) taskrecordOption { return func(m *TaskRecordMutation) { m.oldValue = func(context.Context) (*TaskRecord, 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 TaskRecordMutation) 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 TaskRecordMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 TaskRecord entities. func (m *TaskRecordMutation) SetID(id uuid.UUID) { 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 *TaskRecordMutation) ID() (id uuid.UUID, 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 *TaskRecordMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().TaskRecord.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetTaskID sets the "task_id" field. func (m *TaskRecordMutation) SetTaskID(u uuid.UUID) { m.task = &u } // TaskID returns the value of the "task_id" field in the mutation. func (m *TaskRecordMutation) TaskID() (r uuid.UUID, exists bool) { v := m.task if v == nil { return } return *v, true } // OldTaskID returns the old "task_id" field's value of the TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) OldTaskID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldTaskID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldTaskID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldTaskID: %w", err) } return oldValue.TaskID, nil } // ClearTaskID clears the value of the "task_id" field. func (m *TaskRecordMutation) ClearTaskID() { m.task = nil m.clearedFields[taskrecord.FieldTaskID] = struct{}{} } // TaskIDCleared returns if the "task_id" field was cleared in this mutation. func (m *TaskRecordMutation) TaskIDCleared() bool { _, ok := m.clearedFields[taskrecord.FieldTaskID] return ok } // ResetTaskID resets all changes to the "task_id" field. func (m *TaskRecordMutation) ResetTaskID() { m.task = nil delete(m.clearedFields, taskrecord.FieldTaskID) } // SetPrompt sets the "prompt" field. func (m *TaskRecordMutation) SetPrompt(s string) { m.prompt = &s } // Prompt returns the value of the "prompt" field in the mutation. func (m *TaskRecordMutation) Prompt() (r string, exists bool) { v := m.prompt if v == nil { return } return *v, true } // OldPrompt returns the old "prompt" field's value of the TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) OldPrompt(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPrompt is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPrompt requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPrompt: %w", err) } return oldValue.Prompt, nil } // ClearPrompt clears the value of the "prompt" field. func (m *TaskRecordMutation) ClearPrompt() { m.prompt = nil m.clearedFields[taskrecord.FieldPrompt] = struct{}{} } // PromptCleared returns if the "prompt" field was cleared in this mutation. func (m *TaskRecordMutation) PromptCleared() bool { _, ok := m.clearedFields[taskrecord.FieldPrompt] return ok } // ResetPrompt resets all changes to the "prompt" field. func (m *TaskRecordMutation) ResetPrompt() { m.prompt = nil delete(m.clearedFields, taskrecord.FieldPrompt) } // SetRole sets the "role" field. func (m *TaskRecordMutation) SetRole(cr consts.ChatRole) { m.role = &cr } // Role returns the value of the "role" field in the mutation. func (m *TaskRecordMutation) Role() (r consts.ChatRole, exists bool) { v := m.role if v == nil { return } return *v, true } // OldRole returns the old "role" field's value of the TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) OldRole(ctx context.Context) (v consts.ChatRole, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRole is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRole requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRole: %w", err) } return oldValue.Role, nil } // ResetRole resets all changes to the "role" field. func (m *TaskRecordMutation) ResetRole() { m.role = nil } // SetCompletion sets the "completion" field. func (m *TaskRecordMutation) SetCompletion(s string) { m.completion = &s } // Completion returns the value of the "completion" field in the mutation. func (m *TaskRecordMutation) Completion() (r string, exists bool) { v := m.completion if v == nil { return } return *v, true } // OldCompletion returns the old "completion" field's value of the TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) OldCompletion(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCompletion is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCompletion requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCompletion: %w", err) } return oldValue.Completion, nil } // ClearCompletion clears the value of the "completion" field. func (m *TaskRecordMutation) ClearCompletion() { m.completion = nil m.clearedFields[taskrecord.FieldCompletion] = struct{}{} } // CompletionCleared returns if the "completion" field was cleared in this mutation. func (m *TaskRecordMutation) CompletionCleared() bool { _, ok := m.clearedFields[taskrecord.FieldCompletion] return ok } // ResetCompletion resets all changes to the "completion" field. func (m *TaskRecordMutation) ResetCompletion() { m.completion = nil delete(m.clearedFields, taskrecord.FieldCompletion) } // SetOutputTokens sets the "output_tokens" field. func (m *TaskRecordMutation) SetOutputTokens(i int64) { m.output_tokens = &i m.addoutput_tokens = nil } // OutputTokens returns the value of the "output_tokens" field in the mutation. func (m *TaskRecordMutation) OutputTokens() (r int64, exists bool) { v := m.output_tokens if v == nil { return } return *v, true } // OldOutputTokens returns the old "output_tokens" field's value of the TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) OldOutputTokens(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOutputTokens is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOutputTokens requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOutputTokens: %w", err) } return oldValue.OutputTokens, nil } // AddOutputTokens adds i to the "output_tokens" field. func (m *TaskRecordMutation) AddOutputTokens(i int64) { if m.addoutput_tokens != nil { *m.addoutput_tokens += i } else { m.addoutput_tokens = &i } } // AddedOutputTokens returns the value that was added to the "output_tokens" field in this mutation. func (m *TaskRecordMutation) AddedOutputTokens() (r int64, exists bool) { v := m.addoutput_tokens if v == nil { return } return *v, true } // ResetOutputTokens resets all changes to the "output_tokens" field. func (m *TaskRecordMutation) ResetOutputTokens() { m.output_tokens = nil m.addoutput_tokens = nil } // SetCodeLines sets the "code_lines" field. func (m *TaskRecordMutation) SetCodeLines(i int64) { m.code_lines = &i m.addcode_lines = nil } // CodeLines returns the value of the "code_lines" field in the mutation. func (m *TaskRecordMutation) CodeLines() (r int64, exists bool) { v := m.code_lines if v == nil { return } return *v, true } // OldCodeLines returns the old "code_lines" field's value of the TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) OldCodeLines(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCodeLines is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCodeLines requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCodeLines: %w", err) } return oldValue.CodeLines, nil } // AddCodeLines adds i to the "code_lines" field. func (m *TaskRecordMutation) AddCodeLines(i int64) { if m.addcode_lines != nil { *m.addcode_lines += i } else { m.addcode_lines = &i } } // AddedCodeLines returns the value that was added to the "code_lines" field in this mutation. func (m *TaskRecordMutation) AddedCodeLines() (r int64, exists bool) { v := m.addcode_lines if v == nil { return } return *v, true } // ResetCodeLines resets all changes to the "code_lines" field. func (m *TaskRecordMutation) ResetCodeLines() { m.code_lines = nil m.addcode_lines = nil } // SetCode sets the "code" field. func (m *TaskRecordMutation) SetCode(s string) { m.code = &s } // Code returns the value of the "code" field in the mutation. func (m *TaskRecordMutation) 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 TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) 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 } // ClearCode clears the value of the "code" field. func (m *TaskRecordMutation) ClearCode() { m.code = nil m.clearedFields[taskrecord.FieldCode] = struct{}{} } // CodeCleared returns if the "code" field was cleared in this mutation. func (m *TaskRecordMutation) CodeCleared() bool { _, ok := m.clearedFields[taskrecord.FieldCode] return ok } // ResetCode resets all changes to the "code" field. func (m *TaskRecordMutation) ResetCode() { m.code = nil delete(m.clearedFields, taskrecord.FieldCode) } // SetCreatedAt sets the "created_at" field. func (m *TaskRecordMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *TaskRecordMutation) 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 TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) 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 *TaskRecordMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *TaskRecordMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *TaskRecordMutation) 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 TaskRecord entity. // If the TaskRecord 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 *TaskRecordMutation) 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 *TaskRecordMutation) ResetUpdatedAt() { m.updated_at = nil } // ClearTask clears the "task" edge to the Task entity. func (m *TaskRecordMutation) ClearTask() { m.clearedtask = true m.clearedFields[taskrecord.FieldTaskID] = struct{}{} } // TaskCleared reports if the "task" edge to the Task entity was cleared. func (m *TaskRecordMutation) TaskCleared() bool { return m.TaskIDCleared() || m.clearedtask } // TaskIDs returns the "task" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // TaskID instead. It exists only for internal usage by the builders. func (m *TaskRecordMutation) TaskIDs() (ids []uuid.UUID) { if id := m.task; id != nil { ids = append(ids, *id) } return } // ResetTask resets all changes to the "task" edge. func (m *TaskRecordMutation) ResetTask() { m.task = nil m.clearedtask = false } // Where appends a list predicates to the TaskRecordMutation builder. func (m *TaskRecordMutation) Where(ps ...predicate.TaskRecord) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the TaskRecordMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *TaskRecordMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.TaskRecord, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *TaskRecordMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *TaskRecordMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (TaskRecord). func (m *TaskRecordMutation) 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 *TaskRecordMutation) Fields() []string { fields := make([]string, 0, 9) if m.task != nil { fields = append(fields, taskrecord.FieldTaskID) } if m.prompt != nil { fields = append(fields, taskrecord.FieldPrompt) } if m.role != nil { fields = append(fields, taskrecord.FieldRole) } if m.completion != nil { fields = append(fields, taskrecord.FieldCompletion) } if m.output_tokens != nil { fields = append(fields, taskrecord.FieldOutputTokens) } if m.code_lines != nil { fields = append(fields, taskrecord.FieldCodeLines) } if m.code != nil { fields = append(fields, taskrecord.FieldCode) } if m.created_at != nil { fields = append(fields, taskrecord.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, taskrecord.FieldUpdatedAt) } 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 *TaskRecordMutation) Field(name string) (ent.Value, bool) { switch name { case taskrecord.FieldTaskID: return m.TaskID() case taskrecord.FieldPrompt: return m.Prompt() case taskrecord.FieldRole: return m.Role() case taskrecord.FieldCompletion: return m.Completion() case taskrecord.FieldOutputTokens: return m.OutputTokens() case taskrecord.FieldCodeLines: return m.CodeLines() case taskrecord.FieldCode: return m.Code() case taskrecord.FieldCreatedAt: return m.CreatedAt() case taskrecord.FieldUpdatedAt: return m.UpdatedAt() } 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 *TaskRecordMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case taskrecord.FieldTaskID: return m.OldTaskID(ctx) case taskrecord.FieldPrompt: return m.OldPrompt(ctx) case taskrecord.FieldRole: return m.OldRole(ctx) case taskrecord.FieldCompletion: return m.OldCompletion(ctx) case taskrecord.FieldOutputTokens: return m.OldOutputTokens(ctx) case taskrecord.FieldCodeLines: return m.OldCodeLines(ctx) case taskrecord.FieldCode: return m.OldCode(ctx) case taskrecord.FieldCreatedAt: return m.OldCreatedAt(ctx) case taskrecord.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown TaskRecord 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 *TaskRecordMutation) SetField(name string, value ent.Value) error { switch name { case taskrecord.FieldTaskID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetTaskID(v) return nil case taskrecord.FieldPrompt: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPrompt(v) return nil case taskrecord.FieldRole: v, ok := value.(consts.ChatRole) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRole(v) return nil case taskrecord.FieldCompletion: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCompletion(v) return nil case taskrecord.FieldOutputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOutputTokens(v) return nil case taskrecord.FieldCodeLines: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCodeLines(v) return nil case taskrecord.FieldCode: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCode(v) return nil case taskrecord.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 taskrecord.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown TaskRecord field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *TaskRecordMutation) AddedFields() []string { var fields []string if m.addoutput_tokens != nil { fields = append(fields, taskrecord.FieldOutputTokens) } if m.addcode_lines != nil { fields = append(fields, taskrecord.FieldCodeLines) } 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 *TaskRecordMutation) AddedField(name string) (ent.Value, bool) { switch name { case taskrecord.FieldOutputTokens: return m.AddedOutputTokens() case taskrecord.FieldCodeLines: return m.AddedCodeLines() } 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 *TaskRecordMutation) AddField(name string, value ent.Value) error { switch name { case taskrecord.FieldOutputTokens: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddOutputTokens(v) return nil case taskrecord.FieldCodeLines: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddCodeLines(v) return nil } return fmt.Errorf("unknown TaskRecord numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *TaskRecordMutation) ClearedFields() []string { var fields []string if m.FieldCleared(taskrecord.FieldTaskID) { fields = append(fields, taskrecord.FieldTaskID) } if m.FieldCleared(taskrecord.FieldPrompt) { fields = append(fields, taskrecord.FieldPrompt) } if m.FieldCleared(taskrecord.FieldCompletion) { fields = append(fields, taskrecord.FieldCompletion) } if m.FieldCleared(taskrecord.FieldCode) { fields = append(fields, taskrecord.FieldCode) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *TaskRecordMutation) 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 *TaskRecordMutation) ClearField(name string) error { switch name { case taskrecord.FieldTaskID: m.ClearTaskID() return nil case taskrecord.FieldPrompt: m.ClearPrompt() return nil case taskrecord.FieldCompletion: m.ClearCompletion() return nil case taskrecord.FieldCode: m.ClearCode() return nil } return fmt.Errorf("unknown TaskRecord 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 *TaskRecordMutation) ResetField(name string) error { switch name { case taskrecord.FieldTaskID: m.ResetTaskID() return nil case taskrecord.FieldPrompt: m.ResetPrompt() return nil case taskrecord.FieldRole: m.ResetRole() return nil case taskrecord.FieldCompletion: m.ResetCompletion() return nil case taskrecord.FieldOutputTokens: m.ResetOutputTokens() return nil case taskrecord.FieldCodeLines: m.ResetCodeLines() return nil case taskrecord.FieldCode: m.ResetCode() return nil case taskrecord.FieldCreatedAt: m.ResetCreatedAt() return nil case taskrecord.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown TaskRecord field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *TaskRecordMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.task != nil { edges = append(edges, taskrecord.EdgeTask) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *TaskRecordMutation) AddedIDs(name string) []ent.Value { switch name { case taskrecord.EdgeTask: if id := m.task; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *TaskRecordMutation) 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 *TaskRecordMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *TaskRecordMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedtask { edges = append(edges, taskrecord.EdgeTask) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *TaskRecordMutation) EdgeCleared(name string) bool { switch name { case taskrecord.EdgeTask: return m.clearedtask } 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 *TaskRecordMutation) ClearEdge(name string) error { switch name { case taskrecord.EdgeTask: m.ClearTask() return nil } return fmt.Errorf("unknown TaskRecord 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 *TaskRecordMutation) ResetEdge(name string) error { switch name { case taskrecord.EdgeTask: m.ResetTask() return nil } return fmt.Errorf("unknown TaskRecord edge %s", name) } // UserMutation represents an operation that mutates the User nodes in the graph. type UserMutation struct { config op Op typ string id *uuid.UUID deleted_at *time.Time username *string password *string email *string avatar_url *string platform *consts.UserPlatform status *consts.UserStatus created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} login_histories map[uuid.UUID]struct{} removedlogin_histories map[uuid.UUID]struct{} clearedlogin_histories bool models map[uuid.UUID]struct{} removedmodels map[uuid.UUID]struct{} clearedmodels bool tasks map[uuid.UUID]struct{} removedtasks map[uuid.UUID]struct{} clearedtasks bool identities map[uuid.UUID]struct{} removedidentities map[uuid.UUID]struct{} clearedidentities bool workspaces map[uuid.UUID]struct{} removedworkspaces map[uuid.UUID]struct{} clearedworkspaces bool workspace_files map[uuid.UUID]struct{} removedworkspace_files map[uuid.UUID]struct{} clearedworkspace_files bool api_keys map[uuid.UUID]struct{} removedapi_keys map[uuid.UUID]struct{} clearedapi_keys bool security_scannings map[uuid.UUID]struct{} removedsecurity_scannings map[uuid.UUID]struct{} clearedsecurity_scannings bool aiemployees map[uuid.UUID]struct{} removedaiemployees map[uuid.UUID]struct{} clearedaiemployees bool groups map[uuid.UUID]struct{} removedgroups map[uuid.UUID]struct{} clearedgroups bool user_groups map[uuid.UUID]struct{} removeduser_groups map[uuid.UUID]struct{} cleareduser_groups 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 uuid.UUID) 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("db: 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 uuid.UUID) { 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 uuid.UUID, 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) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{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) } } // SetDeletedAt sets the "deleted_at" field. func (m *UserMutation) SetDeletedAt(t time.Time) { m.deleted_at = &t } // DeletedAt returns the value of the "deleted_at" field in the mutation. func (m *UserMutation) 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 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) 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 *UserMutation) ClearDeletedAt() { m.deleted_at = nil m.clearedFields[user.FieldDeletedAt] = struct{}{} } // DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation. func (m *UserMutation) DeletedAtCleared() bool { _, ok := m.clearedFields[user.FieldDeletedAt] return ok } // ResetDeletedAt resets all changes to the "deleted_at" field. func (m *UserMutation) ResetDeletedAt() { m.deleted_at = nil delete(m.clearedFields, user.FieldDeletedAt) } // 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 } // ClearUsername clears the value of the "username" field. func (m *UserMutation) ClearUsername() { m.username = nil m.clearedFields[user.FieldUsername] = struct{}{} } // UsernameCleared returns if the "username" field was cleared in this mutation. func (m *UserMutation) UsernameCleared() bool { _, ok := m.clearedFields[user.FieldUsername] return ok } // ResetUsername resets all changes to the "username" field. func (m *UserMutation) ResetUsername() { m.username = nil delete(m.clearedFields, user.FieldUsername) } // SetPassword sets the "password" field. func (m *UserMutation) SetPassword(s string) { m.password = &s } // Password returns the value of the "password" field in the mutation. func (m *UserMutation) Password() (r string, exists bool) { v := m.password if v == nil { return } return *v, true } // OldPassword returns the old "password" field's value of the User entity. // If the User object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *UserMutation) OldPassword(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPassword is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPassword requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPassword: %w", err) } return oldValue.Password, nil } // ClearPassword clears the value of the "password" field. func (m *UserMutation) ClearPassword() { m.password = nil m.clearedFields[user.FieldPassword] = struct{}{} } // PasswordCleared returns if the "password" field was cleared in this mutation. func (m *UserMutation) PasswordCleared() bool { _, ok := m.clearedFields[user.FieldPassword] return ok } // ResetPassword resets all changes to the "password" field. func (m *UserMutation) ResetPassword() { m.password = nil delete(m.clearedFields, user.FieldPassword) } // 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) } // SetAvatarURL sets the "avatar_url" field. func (m *UserMutation) SetAvatarURL(s string) { m.avatar_url = &s } // AvatarURL returns the value of the "avatar_url" field in the mutation. func (m *UserMutation) AvatarURL() (r string, exists bool) { v := m.avatar_url if v == nil { return } return *v, true } // OldAvatarURL returns the old "avatar_url" 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) OldAvatarURL(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAvatarURL is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAvatarURL requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAvatarURL: %w", err) } return oldValue.AvatarURL, nil } // ClearAvatarURL clears the value of the "avatar_url" field. func (m *UserMutation) ClearAvatarURL() { m.avatar_url = nil m.clearedFields[user.FieldAvatarURL] = struct{}{} } // AvatarURLCleared returns if the "avatar_url" field was cleared in this mutation. func (m *UserMutation) AvatarURLCleared() bool { _, ok := m.clearedFields[user.FieldAvatarURL] return ok } // ResetAvatarURL resets all changes to the "avatar_url" field. func (m *UserMutation) ResetAvatarURL() { m.avatar_url = nil delete(m.clearedFields, user.FieldAvatarURL) } // SetPlatform sets the "platform" field. func (m *UserMutation) SetPlatform(cp consts.UserPlatform) { m.platform = &cp } // Platform returns the value of the "platform" field in the mutation. func (m *UserMutation) Platform() (r consts.UserPlatform, exists bool) { v := m.platform if v == nil { return } return *v, true } // OldPlatform returns the old "platform" 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) OldPlatform(ctx context.Context) (v consts.UserPlatform, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPlatform is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPlatform requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPlatform: %w", err) } return oldValue.Platform, nil } // ResetPlatform resets all changes to the "platform" field. func (m *UserMutation) ResetPlatform() { m.platform = nil } // SetStatus sets the "status" field. func (m *UserMutation) SetStatus(cs consts.UserStatus) { m.status = &cs } // Status returns the value of the "status" field in the mutation. func (m *UserMutation) Status() (r consts.UserStatus, 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 consts.UserStatus, 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 } // AddLoginHistoryIDs adds the "login_histories" edge to the UserLoginHistory entity by ids. func (m *UserMutation) AddLoginHistoryIDs(ids ...uuid.UUID) { if m.login_histories == nil { m.login_histories = make(map[uuid.UUID]struct{}) } for i := range ids { m.login_histories[ids[i]] = struct{}{} } } // ClearLoginHistories clears the "login_histories" edge to the UserLoginHistory entity. func (m *UserMutation) ClearLoginHistories() { m.clearedlogin_histories = true } // LoginHistoriesCleared reports if the "login_histories" edge to the UserLoginHistory entity was cleared. func (m *UserMutation) LoginHistoriesCleared() bool { return m.clearedlogin_histories } // RemoveLoginHistoryIDs removes the "login_histories" edge to the UserLoginHistory entity by IDs. func (m *UserMutation) RemoveLoginHistoryIDs(ids ...uuid.UUID) { if m.removedlogin_histories == nil { m.removedlogin_histories = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.login_histories, ids[i]) m.removedlogin_histories[ids[i]] = struct{}{} } } // RemovedLoginHistories returns the removed IDs of the "login_histories" edge to the UserLoginHistory entity. func (m *UserMutation) RemovedLoginHistoriesIDs() (ids []uuid.UUID) { for id := range m.removedlogin_histories { ids = append(ids, id) } return } // LoginHistoriesIDs returns the "login_histories" edge IDs in the mutation. func (m *UserMutation) LoginHistoriesIDs() (ids []uuid.UUID) { for id := range m.login_histories { ids = append(ids, id) } return } // ResetLoginHistories resets all changes to the "login_histories" edge. func (m *UserMutation) ResetLoginHistories() { m.login_histories = nil m.clearedlogin_histories = false m.removedlogin_histories = nil } // AddModelIDs adds the "models" edge to the Model entity by ids. func (m *UserMutation) AddModelIDs(ids ...uuid.UUID) { if m.models == nil { m.models = make(map[uuid.UUID]struct{}) } for i := range ids { m.models[ids[i]] = struct{}{} } } // ClearModels clears the "models" edge to the Model entity. func (m *UserMutation) ClearModels() { m.clearedmodels = true } // ModelsCleared reports if the "models" edge to the Model entity was cleared. func (m *UserMutation) ModelsCleared() bool { return m.clearedmodels } // RemoveModelIDs removes the "models" edge to the Model entity by IDs. func (m *UserMutation) RemoveModelIDs(ids ...uuid.UUID) { if m.removedmodels == nil { m.removedmodels = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.models, ids[i]) m.removedmodels[ids[i]] = struct{}{} } } // RemovedModels returns the removed IDs of the "models" edge to the Model entity. func (m *UserMutation) RemovedModelsIDs() (ids []uuid.UUID) { for id := range m.removedmodels { ids = append(ids, id) } return } // ModelsIDs returns the "models" edge IDs in the mutation. func (m *UserMutation) ModelsIDs() (ids []uuid.UUID) { for id := range m.models { ids = append(ids, id) } return } // ResetModels resets all changes to the "models" edge. func (m *UserMutation) ResetModels() { m.models = nil m.clearedmodels = false m.removedmodels = nil } // AddTaskIDs adds the "tasks" edge to the Task entity by ids. func (m *UserMutation) AddTaskIDs(ids ...uuid.UUID) { if m.tasks == nil { m.tasks = make(map[uuid.UUID]struct{}) } for i := range ids { m.tasks[ids[i]] = struct{}{} } } // ClearTasks clears the "tasks" edge to the Task entity. func (m *UserMutation) ClearTasks() { m.clearedtasks = true } // TasksCleared reports if the "tasks" edge to the Task entity was cleared. func (m *UserMutation) TasksCleared() bool { return m.clearedtasks } // RemoveTaskIDs removes the "tasks" edge to the Task entity by IDs. func (m *UserMutation) RemoveTaskIDs(ids ...uuid.UUID) { if m.removedtasks == nil { m.removedtasks = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.tasks, ids[i]) m.removedtasks[ids[i]] = struct{}{} } } // RemovedTasks returns the removed IDs of the "tasks" edge to the Task entity. func (m *UserMutation) RemovedTasksIDs() (ids []uuid.UUID) { for id := range m.removedtasks { ids = append(ids, id) } return } // TasksIDs returns the "tasks" edge IDs in the mutation. func (m *UserMutation) TasksIDs() (ids []uuid.UUID) { for id := range m.tasks { ids = append(ids, id) } return } // ResetTasks resets all changes to the "tasks" edge. func (m *UserMutation) ResetTasks() { m.tasks = nil m.clearedtasks = false m.removedtasks = nil } // AddIdentityIDs adds the "identities" edge to the UserIdentity entity by ids. func (m *UserMutation) AddIdentityIDs(ids ...uuid.UUID) { if m.identities == nil { m.identities = make(map[uuid.UUID]struct{}) } for i := range ids { m.identities[ids[i]] = struct{}{} } } // ClearIdentities clears the "identities" edge to the UserIdentity entity. func (m *UserMutation) ClearIdentities() { m.clearedidentities = true } // IdentitiesCleared reports if the "identities" edge to the UserIdentity entity was cleared. func (m *UserMutation) IdentitiesCleared() bool { return m.clearedidentities } // RemoveIdentityIDs removes the "identities" edge to the UserIdentity entity by IDs. func (m *UserMutation) RemoveIdentityIDs(ids ...uuid.UUID) { if m.removedidentities == nil { m.removedidentities = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.identities, ids[i]) m.removedidentities[ids[i]] = struct{}{} } } // RemovedIdentities returns the removed IDs of the "identities" edge to the UserIdentity entity. func (m *UserMutation) RemovedIdentitiesIDs() (ids []uuid.UUID) { for id := range m.removedidentities { ids = append(ids, id) } return } // IdentitiesIDs returns the "identities" edge IDs in the mutation. func (m *UserMutation) IdentitiesIDs() (ids []uuid.UUID) { for id := range m.identities { ids = append(ids, id) } return } // ResetIdentities resets all changes to the "identities" edge. func (m *UserMutation) ResetIdentities() { m.identities = nil m.clearedidentities = false m.removedidentities = nil } // AddWorkspaceIDs adds the "workspaces" edge to the Workspace entity by ids. func (m *UserMutation) AddWorkspaceIDs(ids ...uuid.UUID) { if m.workspaces == nil { m.workspaces = make(map[uuid.UUID]struct{}) } for i := range ids { m.workspaces[ids[i]] = struct{}{} } } // ClearWorkspaces clears the "workspaces" edge to the Workspace entity. func (m *UserMutation) ClearWorkspaces() { m.clearedworkspaces = true } // WorkspacesCleared reports if the "workspaces" edge to the Workspace entity was cleared. func (m *UserMutation) WorkspacesCleared() bool { return m.clearedworkspaces } // RemoveWorkspaceIDs removes the "workspaces" edge to the Workspace entity by IDs. func (m *UserMutation) RemoveWorkspaceIDs(ids ...uuid.UUID) { if m.removedworkspaces == nil { m.removedworkspaces = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.workspaces, ids[i]) m.removedworkspaces[ids[i]] = struct{}{} } } // RemovedWorkspaces returns the removed IDs of the "workspaces" edge to the Workspace entity. func (m *UserMutation) RemovedWorkspacesIDs() (ids []uuid.UUID) { for id := range m.removedworkspaces { ids = append(ids, id) } return } // WorkspacesIDs returns the "workspaces" edge IDs in the mutation. func (m *UserMutation) WorkspacesIDs() (ids []uuid.UUID) { for id := range m.workspaces { ids = append(ids, id) } return } // ResetWorkspaces resets all changes to the "workspaces" edge. func (m *UserMutation) ResetWorkspaces() { m.workspaces = nil m.clearedworkspaces = false m.removedworkspaces = nil } // AddWorkspaceFileIDs adds the "workspace_files" edge to the WorkspaceFile entity by ids. func (m *UserMutation) AddWorkspaceFileIDs(ids ...uuid.UUID) { if m.workspace_files == nil { m.workspace_files = make(map[uuid.UUID]struct{}) } for i := range ids { m.workspace_files[ids[i]] = struct{}{} } } // ClearWorkspaceFiles clears the "workspace_files" edge to the WorkspaceFile entity. func (m *UserMutation) ClearWorkspaceFiles() { m.clearedworkspace_files = true } // WorkspaceFilesCleared reports if the "workspace_files" edge to the WorkspaceFile entity was cleared. func (m *UserMutation) WorkspaceFilesCleared() bool { return m.clearedworkspace_files } // RemoveWorkspaceFileIDs removes the "workspace_files" edge to the WorkspaceFile entity by IDs. func (m *UserMutation) RemoveWorkspaceFileIDs(ids ...uuid.UUID) { if m.removedworkspace_files == nil { m.removedworkspace_files = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.workspace_files, ids[i]) m.removedworkspace_files[ids[i]] = struct{}{} } } // RemovedWorkspaceFiles returns the removed IDs of the "workspace_files" edge to the WorkspaceFile entity. func (m *UserMutation) RemovedWorkspaceFilesIDs() (ids []uuid.UUID) { for id := range m.removedworkspace_files { ids = append(ids, id) } return } // WorkspaceFilesIDs returns the "workspace_files" edge IDs in the mutation. func (m *UserMutation) WorkspaceFilesIDs() (ids []uuid.UUID) { for id := range m.workspace_files { ids = append(ids, id) } return } // ResetWorkspaceFiles resets all changes to the "workspace_files" edge. func (m *UserMutation) ResetWorkspaceFiles() { m.workspace_files = nil m.clearedworkspace_files = false m.removedworkspace_files = nil } // AddAPIKeyIDs adds the "api_keys" edge to the ApiKey entity by ids. func (m *UserMutation) AddAPIKeyIDs(ids ...uuid.UUID) { if m.api_keys == nil { m.api_keys = make(map[uuid.UUID]struct{}) } for i := range ids { m.api_keys[ids[i]] = struct{}{} } } // ClearAPIKeys clears the "api_keys" edge to the ApiKey entity. func (m *UserMutation) ClearAPIKeys() { m.clearedapi_keys = true } // APIKeysCleared reports if the "api_keys" edge to the ApiKey entity was cleared. func (m *UserMutation) APIKeysCleared() bool { return m.clearedapi_keys } // RemoveAPIKeyIDs removes the "api_keys" edge to the ApiKey entity by IDs. func (m *UserMutation) RemoveAPIKeyIDs(ids ...uuid.UUID) { if m.removedapi_keys == nil { m.removedapi_keys = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.api_keys, ids[i]) m.removedapi_keys[ids[i]] = struct{}{} } } // RemovedAPIKeys returns the removed IDs of the "api_keys" edge to the ApiKey entity. func (m *UserMutation) RemovedAPIKeysIDs() (ids []uuid.UUID) { for id := range m.removedapi_keys { ids = append(ids, id) } return } // APIKeysIDs returns the "api_keys" edge IDs in the mutation. func (m *UserMutation) APIKeysIDs() (ids []uuid.UUID) { for id := range m.api_keys { ids = append(ids, id) } return } // ResetAPIKeys resets all changes to the "api_keys" edge. func (m *UserMutation) ResetAPIKeys() { m.api_keys = nil m.clearedapi_keys = false m.removedapi_keys = nil } // AddSecurityScanningIDs adds the "security_scannings" edge to the SecurityScanning entity by ids. func (m *UserMutation) AddSecurityScanningIDs(ids ...uuid.UUID) { if m.security_scannings == nil { m.security_scannings = make(map[uuid.UUID]struct{}) } for i := range ids { m.security_scannings[ids[i]] = struct{}{} } } // ClearSecurityScannings clears the "security_scannings" edge to the SecurityScanning entity. func (m *UserMutation) ClearSecurityScannings() { m.clearedsecurity_scannings = true } // SecurityScanningsCleared reports if the "security_scannings" edge to the SecurityScanning entity was cleared. func (m *UserMutation) SecurityScanningsCleared() bool { return m.clearedsecurity_scannings } // RemoveSecurityScanningIDs removes the "security_scannings" edge to the SecurityScanning entity by IDs. func (m *UserMutation) RemoveSecurityScanningIDs(ids ...uuid.UUID) { if m.removedsecurity_scannings == nil { m.removedsecurity_scannings = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.security_scannings, ids[i]) m.removedsecurity_scannings[ids[i]] = struct{}{} } } // RemovedSecurityScannings returns the removed IDs of the "security_scannings" edge to the SecurityScanning entity. func (m *UserMutation) RemovedSecurityScanningsIDs() (ids []uuid.UUID) { for id := range m.removedsecurity_scannings { ids = append(ids, id) } return } // SecurityScanningsIDs returns the "security_scannings" edge IDs in the mutation. func (m *UserMutation) SecurityScanningsIDs() (ids []uuid.UUID) { for id := range m.security_scannings { ids = append(ids, id) } return } // ResetSecurityScannings resets all changes to the "security_scannings" edge. func (m *UserMutation) ResetSecurityScannings() { m.security_scannings = nil m.clearedsecurity_scannings = false m.removedsecurity_scannings = nil } // AddAiemployeeIDs adds the "aiemployees" edge to the AIEmployee entity by ids. func (m *UserMutation) AddAiemployeeIDs(ids ...uuid.UUID) { if m.aiemployees == nil { m.aiemployees = make(map[uuid.UUID]struct{}) } for i := range ids { m.aiemployees[ids[i]] = struct{}{} } } // ClearAiemployees clears the "aiemployees" edge to the AIEmployee entity. func (m *UserMutation) ClearAiemployees() { m.clearedaiemployees = true } // AiemployeesCleared reports if the "aiemployees" edge to the AIEmployee entity was cleared. func (m *UserMutation) AiemployeesCleared() bool { return m.clearedaiemployees } // RemoveAiemployeeIDs removes the "aiemployees" edge to the AIEmployee entity by IDs. func (m *UserMutation) RemoveAiemployeeIDs(ids ...uuid.UUID) { if m.removedaiemployees == nil { m.removedaiemployees = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.aiemployees, ids[i]) m.removedaiemployees[ids[i]] = struct{}{} } } // RemovedAiemployees returns the removed IDs of the "aiemployees" edge to the AIEmployee entity. func (m *UserMutation) RemovedAiemployeesIDs() (ids []uuid.UUID) { for id := range m.removedaiemployees { ids = append(ids, id) } return } // AiemployeesIDs returns the "aiemployees" edge IDs in the mutation. func (m *UserMutation) AiemployeesIDs() (ids []uuid.UUID) { for id := range m.aiemployees { ids = append(ids, id) } return } // ResetAiemployees resets all changes to the "aiemployees" edge. func (m *UserMutation) ResetAiemployees() { m.aiemployees = nil m.clearedaiemployees = false m.removedaiemployees = nil } // AddGroupIDs adds the "groups" edge to the UserGroup entity by ids. func (m *UserMutation) AddGroupIDs(ids ...uuid.UUID) { if m.groups == nil { m.groups = make(map[uuid.UUID]struct{}) } for i := range ids { m.groups[ids[i]] = struct{}{} } } // ClearGroups clears the "groups" edge to the UserGroup entity. func (m *UserMutation) ClearGroups() { m.clearedgroups = true } // GroupsCleared reports if the "groups" edge to the UserGroup entity was cleared. func (m *UserMutation) GroupsCleared() bool { return m.clearedgroups } // RemoveGroupIDs removes the "groups" edge to the UserGroup entity by IDs. func (m *UserMutation) RemoveGroupIDs(ids ...uuid.UUID) { if m.removedgroups == nil { m.removedgroups = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.groups, ids[i]) m.removedgroups[ids[i]] = struct{}{} } } // RemovedGroups returns the removed IDs of the "groups" edge to the UserGroup entity. func (m *UserMutation) RemovedGroupsIDs() (ids []uuid.UUID) { for id := range m.removedgroups { ids = append(ids, id) } return } // GroupsIDs returns the "groups" edge IDs in the mutation. func (m *UserMutation) GroupsIDs() (ids []uuid.UUID) { for id := range m.groups { ids = append(ids, id) } return } // ResetGroups resets all changes to the "groups" edge. func (m *UserMutation) ResetGroups() { m.groups = nil m.clearedgroups = false m.removedgroups = nil } // AddUserGroupIDs adds the "user_groups" edge to the UserGroupUser entity by ids. func (m *UserMutation) AddUserGroupIDs(ids ...uuid.UUID) { if m.user_groups == nil { m.user_groups = make(map[uuid.UUID]struct{}) } for i := range ids { m.user_groups[ids[i]] = struct{}{} } } // ClearUserGroups clears the "user_groups" edge to the UserGroupUser entity. func (m *UserMutation) ClearUserGroups() { m.cleareduser_groups = true } // UserGroupsCleared reports if the "user_groups" edge to the UserGroupUser entity was cleared. func (m *UserMutation) UserGroupsCleared() bool { return m.cleareduser_groups } // RemoveUserGroupIDs removes the "user_groups" edge to the UserGroupUser entity by IDs. func (m *UserMutation) RemoveUserGroupIDs(ids ...uuid.UUID) { if m.removeduser_groups == nil { m.removeduser_groups = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.user_groups, ids[i]) m.removeduser_groups[ids[i]] = struct{}{} } } // RemovedUserGroups returns the removed IDs of the "user_groups" edge to the UserGroupUser entity. func (m *UserMutation) RemovedUserGroupsIDs() (ids []uuid.UUID) { for id := range m.removeduser_groups { ids = append(ids, id) } return } // UserGroupsIDs returns the "user_groups" edge IDs in the mutation. func (m *UserMutation) UserGroupsIDs() (ids []uuid.UUID) { for id := range m.user_groups { ids = append(ids, id) } return } // ResetUserGroups resets all changes to the "user_groups" edge. func (m *UserMutation) ResetUserGroups() { m.user_groups = nil m.cleareduser_groups = false m.removeduser_groups = nil } // 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.deleted_at != nil { fields = append(fields, user.FieldDeletedAt) } if m.username != nil { fields = append(fields, user.FieldUsername) } if m.password != nil { fields = append(fields, user.FieldPassword) } if m.email != nil { fields = append(fields, user.FieldEmail) } if m.avatar_url != nil { fields = append(fields, user.FieldAvatarURL) } if m.platform != nil { fields = append(fields, user.FieldPlatform) } 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) } 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.FieldDeletedAt: return m.DeletedAt() case user.FieldUsername: return m.Username() case user.FieldPassword: return m.Password() case user.FieldEmail: return m.Email() case user.FieldAvatarURL: return m.AvatarURL() case user.FieldPlatform: return m.Platform() case user.FieldStatus: return m.Status() case user.FieldCreatedAt: return m.CreatedAt() case user.FieldUpdatedAt: return m.UpdatedAt() } 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.FieldDeletedAt: return m.OldDeletedAt(ctx) case user.FieldUsername: return m.OldUsername(ctx) case user.FieldPassword: return m.OldPassword(ctx) case user.FieldEmail: return m.OldEmail(ctx) case user.FieldAvatarURL: return m.OldAvatarURL(ctx) case user.FieldPlatform: return m.OldPlatform(ctx) case user.FieldStatus: return m.OldStatus(ctx) case user.FieldCreatedAt: return m.OldCreatedAt(ctx) case user.FieldUpdatedAt: return m.OldUpdatedAt(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.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 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.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.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.FieldAvatarURL: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAvatarURL(v) return nil case user.FieldPlatform: v, ok := value.(consts.UserPlatform) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPlatform(v) return nil case user.FieldStatus: v, ok := value.(consts.UserStatus) 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 } 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 { 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 *UserMutation) 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 *UserMutation) AddField(name string, value ent.Value) error { switch name { } 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.FieldDeletedAt) { fields = append(fields, user.FieldDeletedAt) } if m.FieldCleared(user.FieldUsername) { fields = append(fields, user.FieldUsername) } if m.FieldCleared(user.FieldPassword) { fields = append(fields, user.FieldPassword) } if m.FieldCleared(user.FieldEmail) { fields = append(fields, user.FieldEmail) } if m.FieldCleared(user.FieldAvatarURL) { fields = append(fields, user.FieldAvatarURL) } 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.FieldDeletedAt: m.ClearDeletedAt() return nil case user.FieldUsername: m.ClearUsername() return nil case user.FieldPassword: m.ClearPassword() return nil case user.FieldEmail: m.ClearEmail() return nil case user.FieldAvatarURL: m.ClearAvatarURL() 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.FieldDeletedAt: m.ResetDeletedAt() return nil case user.FieldUsername: m.ResetUsername() return nil case user.FieldPassword: m.ResetPassword() return nil case user.FieldEmail: m.ResetEmail() return nil case user.FieldAvatarURL: m.ResetAvatarURL() return nil case user.FieldPlatform: m.ResetPlatform() return nil case user.FieldStatus: m.ResetStatus() return nil case user.FieldCreatedAt: m.ResetCreatedAt() return nil case user.FieldUpdatedAt: m.ResetUpdatedAt() 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, 11) if m.login_histories != nil { edges = append(edges, user.EdgeLoginHistories) } if m.models != nil { edges = append(edges, user.EdgeModels) } if m.tasks != nil { edges = append(edges, user.EdgeTasks) } if m.identities != nil { edges = append(edges, user.EdgeIdentities) } if m.workspaces != nil { edges = append(edges, user.EdgeWorkspaces) } if m.workspace_files != nil { edges = append(edges, user.EdgeWorkspaceFiles) } if m.api_keys != nil { edges = append(edges, user.EdgeAPIKeys) } if m.security_scannings != nil { edges = append(edges, user.EdgeSecurityScannings) } if m.aiemployees != nil { edges = append(edges, user.EdgeAiemployees) } if m.groups != nil { edges = append(edges, user.EdgeGroups) } if m.user_groups != nil { edges = append(edges, user.EdgeUserGroups) } 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.EdgeLoginHistories: ids := make([]ent.Value, 0, len(m.login_histories)) for id := range m.login_histories { ids = append(ids, id) } return ids case user.EdgeModels: ids := make([]ent.Value, 0, len(m.models)) for id := range m.models { ids = append(ids, id) } return ids case user.EdgeTasks: ids := make([]ent.Value, 0, len(m.tasks)) for id := range m.tasks { ids = append(ids, id) } return ids case user.EdgeIdentities: ids := make([]ent.Value, 0, len(m.identities)) for id := range m.identities { ids = append(ids, id) } return ids case user.EdgeWorkspaces: ids := make([]ent.Value, 0, len(m.workspaces)) for id := range m.workspaces { ids = append(ids, id) } return ids case user.EdgeWorkspaceFiles: ids := make([]ent.Value, 0, len(m.workspace_files)) for id := range m.workspace_files { ids = append(ids, id) } return ids case user.EdgeAPIKeys: ids := make([]ent.Value, 0, len(m.api_keys)) for id := range m.api_keys { ids = append(ids, id) } return ids case user.EdgeSecurityScannings: ids := make([]ent.Value, 0, len(m.security_scannings)) for id := range m.security_scannings { ids = append(ids, id) } return ids case user.EdgeAiemployees: ids := make([]ent.Value, 0, len(m.aiemployees)) for id := range m.aiemployees { ids = append(ids, id) } return ids case user.EdgeGroups: ids := make([]ent.Value, 0, len(m.groups)) for id := range m.groups { ids = append(ids, id) } return ids case user.EdgeUserGroups: ids := make([]ent.Value, 0, len(m.user_groups)) for id := range m.user_groups { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *UserMutation) RemovedEdges() []string { edges := make([]string, 0, 11) if m.removedlogin_histories != nil { edges = append(edges, user.EdgeLoginHistories) } if m.removedmodels != nil { edges = append(edges, user.EdgeModels) } if m.removedtasks != nil { edges = append(edges, user.EdgeTasks) } if m.removedidentities != nil { edges = append(edges, user.EdgeIdentities) } if m.removedworkspaces != nil { edges = append(edges, user.EdgeWorkspaces) } if m.removedworkspace_files != nil { edges = append(edges, user.EdgeWorkspaceFiles) } if m.removedapi_keys != nil { edges = append(edges, user.EdgeAPIKeys) } if m.removedsecurity_scannings != nil { edges = append(edges, user.EdgeSecurityScannings) } if m.removedaiemployees != nil { edges = append(edges, user.EdgeAiemployees) } if m.removedgroups != nil { edges = append(edges, user.EdgeGroups) } if m.removeduser_groups != nil { edges = append(edges, user.EdgeUserGroups) } 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.EdgeLoginHistories: ids := make([]ent.Value, 0, len(m.removedlogin_histories)) for id := range m.removedlogin_histories { ids = append(ids, id) } return ids case user.EdgeModels: ids := make([]ent.Value, 0, len(m.removedmodels)) for id := range m.removedmodels { ids = append(ids, id) } return ids case user.EdgeTasks: ids := make([]ent.Value, 0, len(m.removedtasks)) for id := range m.removedtasks { ids = append(ids, id) } return ids case user.EdgeIdentities: ids := make([]ent.Value, 0, len(m.removedidentities)) for id := range m.removedidentities { ids = append(ids, id) } return ids case user.EdgeWorkspaces: ids := make([]ent.Value, 0, len(m.removedworkspaces)) for id := range m.removedworkspaces { ids = append(ids, id) } return ids case user.EdgeWorkspaceFiles: ids := make([]ent.Value, 0, len(m.removedworkspace_files)) for id := range m.removedworkspace_files { ids = append(ids, id) } return ids case user.EdgeAPIKeys: ids := make([]ent.Value, 0, len(m.removedapi_keys)) for id := range m.removedapi_keys { ids = append(ids, id) } return ids case user.EdgeSecurityScannings: ids := make([]ent.Value, 0, len(m.removedsecurity_scannings)) for id := range m.removedsecurity_scannings { ids = append(ids, id) } return ids case user.EdgeAiemployees: ids := make([]ent.Value, 0, len(m.removedaiemployees)) for id := range m.removedaiemployees { ids = append(ids, id) } return ids case user.EdgeGroups: ids := make([]ent.Value, 0, len(m.removedgroups)) for id := range m.removedgroups { ids = append(ids, id) } return ids case user.EdgeUserGroups: ids := make([]ent.Value, 0, len(m.removeduser_groups)) for id := range m.removeduser_groups { 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, 11) if m.clearedlogin_histories { edges = append(edges, user.EdgeLoginHistories) } if m.clearedmodels { edges = append(edges, user.EdgeModels) } if m.clearedtasks { edges = append(edges, user.EdgeTasks) } if m.clearedidentities { edges = append(edges, user.EdgeIdentities) } if m.clearedworkspaces { edges = append(edges, user.EdgeWorkspaces) } if m.clearedworkspace_files { edges = append(edges, user.EdgeWorkspaceFiles) } if m.clearedapi_keys { edges = append(edges, user.EdgeAPIKeys) } if m.clearedsecurity_scannings { edges = append(edges, user.EdgeSecurityScannings) } if m.clearedaiemployees { edges = append(edges, user.EdgeAiemployees) } if m.clearedgroups { edges = append(edges, user.EdgeGroups) } if m.cleareduser_groups { edges = append(edges, user.EdgeUserGroups) } 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.EdgeLoginHistories: return m.clearedlogin_histories case user.EdgeModels: return m.clearedmodels case user.EdgeTasks: return m.clearedtasks case user.EdgeIdentities: return m.clearedidentities case user.EdgeWorkspaces: return m.clearedworkspaces case user.EdgeWorkspaceFiles: return m.clearedworkspace_files case user.EdgeAPIKeys: return m.clearedapi_keys case user.EdgeSecurityScannings: return m.clearedsecurity_scannings case user.EdgeAiemployees: return m.clearedaiemployees case user.EdgeGroups: return m.clearedgroups case user.EdgeUserGroups: return m.cleareduser_groups } 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 { } 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.EdgeLoginHistories: m.ResetLoginHistories() return nil case user.EdgeModels: m.ResetModels() return nil case user.EdgeTasks: m.ResetTasks() return nil case user.EdgeIdentities: m.ResetIdentities() return nil case user.EdgeWorkspaces: m.ResetWorkspaces() return nil case user.EdgeWorkspaceFiles: m.ResetWorkspaceFiles() return nil case user.EdgeAPIKeys: m.ResetAPIKeys() return nil case user.EdgeSecurityScannings: m.ResetSecurityScannings() return nil case user.EdgeAiemployees: m.ResetAiemployees() return nil case user.EdgeGroups: m.ResetGroups() return nil case user.EdgeUserGroups: m.ResetUserGroups() return nil } return fmt.Errorf("unknown User edge %s", name) } // UserGroupMutation represents an operation that mutates the UserGroup nodes in the graph. type UserGroupMutation struct { config op Op typ string id *uuid.UUID name *string created_at *time.Time clearedFields map[string]struct{} owner *uuid.UUID clearedowner bool users map[uuid.UUID]struct{} removedusers map[uuid.UUID]struct{} clearedusers bool admins map[uuid.UUID]struct{} removedadmins map[uuid.UUID]struct{} clearedadmins bool user_groups map[uuid.UUID]struct{} removeduser_groups map[uuid.UUID]struct{} cleareduser_groups bool user_group_admins map[uuid.UUID]struct{} removeduser_group_admins map[uuid.UUID]struct{} cleareduser_group_admins bool done bool oldValue func(context.Context) (*UserGroup, error) predicates []predicate.UserGroup } var _ ent.Mutation = (*UserGroupMutation)(nil) // usergroupOption allows management of the mutation configuration using functional options. type usergroupOption func(*UserGroupMutation) // newUserGroupMutation creates new mutation for the UserGroup entity. func newUserGroupMutation(c config, op Op, opts ...usergroupOption) *UserGroupMutation { m := &UserGroupMutation{ config: c, op: op, typ: TypeUserGroup, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withUserGroupID sets the ID field of the mutation. func withUserGroupID(id uuid.UUID) usergroupOption { return func(m *UserGroupMutation) { var ( err error once sync.Once value *UserGroup ) m.oldValue = func(ctx context.Context) (*UserGroup, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().UserGroup.Get(ctx, id) } }) return value, err } m.id = &id } } // withUserGroup sets the old UserGroup of the mutation. func withUserGroup(node *UserGroup) usergroupOption { return func(m *UserGroupMutation) { m.oldValue = func(context.Context) (*UserGroup, 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 UserGroupMutation) 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 UserGroupMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 UserGroup entities. func (m *UserGroupMutation) SetID(id uuid.UUID) { 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 *UserGroupMutation) ID() (id uuid.UUID, 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 *UserGroupMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().UserGroup.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetAdminID sets the "admin_id" field. func (m *UserGroupMutation) SetAdminID(u uuid.UUID) { m.owner = &u } // AdminID returns the value of the "admin_id" field in the mutation. func (m *UserGroupMutation) AdminID() (r uuid.UUID, exists bool) { v := m.owner if v == nil { return } return *v, true } // OldAdminID returns the old "admin_id" field's value of the UserGroup entity. // If the UserGroup 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 *UserGroupMutation) OldAdminID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAdminID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAdminID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAdminID: %w", err) } return oldValue.AdminID, nil } // ResetAdminID resets all changes to the "admin_id" field. func (m *UserGroupMutation) ResetAdminID() { m.owner = nil } // SetName sets the "name" field. func (m *UserGroupMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *UserGroupMutation) 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 UserGroup entity. // If the UserGroup 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 *UserGroupMutation) 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 *UserGroupMutation) ResetName() { m.name = nil } // SetCreatedAt sets the "created_at" field. func (m *UserGroupMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *UserGroupMutation) 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 UserGroup entity. // If the UserGroup 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 *UserGroupMutation) 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 *UserGroupMutation) ResetCreatedAt() { m.created_at = nil } // SetOwnerID sets the "owner" edge to the Admin entity by id. func (m *UserGroupMutation) SetOwnerID(id uuid.UUID) { m.owner = &id } // ClearOwner clears the "owner" edge to the Admin entity. func (m *UserGroupMutation) ClearOwner() { m.clearedowner = true m.clearedFields[usergroup.FieldAdminID] = struct{}{} } // OwnerCleared reports if the "owner" edge to the Admin entity was cleared. func (m *UserGroupMutation) OwnerCleared() bool { return m.clearedowner } // OwnerID returns the "owner" edge ID in the mutation. func (m *UserGroupMutation) OwnerID() (id uuid.UUID, exists bool) { if m.owner != nil { return *m.owner, true } return } // OwnerIDs returns the "owner" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // OwnerID instead. It exists only for internal usage by the builders. func (m *UserGroupMutation) OwnerIDs() (ids []uuid.UUID) { if id := m.owner; id != nil { ids = append(ids, *id) } return } // ResetOwner resets all changes to the "owner" edge. func (m *UserGroupMutation) ResetOwner() { m.owner = nil m.clearedowner = false } // AddUserIDs adds the "users" edge to the User entity by ids. func (m *UserGroupMutation) AddUserIDs(ids ...uuid.UUID) { if m.users == nil { m.users = make(map[uuid.UUID]struct{}) } for i := range ids { m.users[ids[i]] = struct{}{} } } // ClearUsers clears the "users" edge to the User entity. func (m *UserGroupMutation) ClearUsers() { m.clearedusers = true } // UsersCleared reports if the "users" edge to the User entity was cleared. func (m *UserGroupMutation) UsersCleared() bool { return m.clearedusers } // RemoveUserIDs removes the "users" edge to the User entity by IDs. func (m *UserGroupMutation) RemoveUserIDs(ids ...uuid.UUID) { if m.removedusers == nil { m.removedusers = make(map[uuid.UUID]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 *UserGroupMutation) RemovedUsersIDs() (ids []uuid.UUID) { for id := range m.removedusers { ids = append(ids, id) } return } // UsersIDs returns the "users" edge IDs in the mutation. func (m *UserGroupMutation) UsersIDs() (ids []uuid.UUID) { for id := range m.users { ids = append(ids, id) } return } // ResetUsers resets all changes to the "users" edge. func (m *UserGroupMutation) ResetUsers() { m.users = nil m.clearedusers = false m.removedusers = nil } // AddAdminIDs adds the "admins" edge to the Admin entity by ids. func (m *UserGroupMutation) AddAdminIDs(ids ...uuid.UUID) { if m.admins == nil { m.admins = make(map[uuid.UUID]struct{}) } for i := range ids { m.admins[ids[i]] = struct{}{} } } // ClearAdmins clears the "admins" edge to the Admin entity. func (m *UserGroupMutation) ClearAdmins() { m.clearedadmins = true } // AdminsCleared reports if the "admins" edge to the Admin entity was cleared. func (m *UserGroupMutation) AdminsCleared() bool { return m.clearedadmins } // RemoveAdminIDs removes the "admins" edge to the Admin entity by IDs. func (m *UserGroupMutation) RemoveAdminIDs(ids ...uuid.UUID) { if m.removedadmins == nil { m.removedadmins = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.admins, ids[i]) m.removedadmins[ids[i]] = struct{}{} } } // RemovedAdmins returns the removed IDs of the "admins" edge to the Admin entity. func (m *UserGroupMutation) RemovedAdminsIDs() (ids []uuid.UUID) { for id := range m.removedadmins { ids = append(ids, id) } return } // AdminsIDs returns the "admins" edge IDs in the mutation. func (m *UserGroupMutation) AdminsIDs() (ids []uuid.UUID) { for id := range m.admins { ids = append(ids, id) } return } // ResetAdmins resets all changes to the "admins" edge. func (m *UserGroupMutation) ResetAdmins() { m.admins = nil m.clearedadmins = false m.removedadmins = nil } // AddUserGroupIDs adds the "user_groups" edge to the UserGroupUser entity by ids. func (m *UserGroupMutation) AddUserGroupIDs(ids ...uuid.UUID) { if m.user_groups == nil { m.user_groups = make(map[uuid.UUID]struct{}) } for i := range ids { m.user_groups[ids[i]] = struct{}{} } } // ClearUserGroups clears the "user_groups" edge to the UserGroupUser entity. func (m *UserGroupMutation) ClearUserGroups() { m.cleareduser_groups = true } // UserGroupsCleared reports if the "user_groups" edge to the UserGroupUser entity was cleared. func (m *UserGroupMutation) UserGroupsCleared() bool { return m.cleareduser_groups } // RemoveUserGroupIDs removes the "user_groups" edge to the UserGroupUser entity by IDs. func (m *UserGroupMutation) RemoveUserGroupIDs(ids ...uuid.UUID) { if m.removeduser_groups == nil { m.removeduser_groups = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.user_groups, ids[i]) m.removeduser_groups[ids[i]] = struct{}{} } } // RemovedUserGroups returns the removed IDs of the "user_groups" edge to the UserGroupUser entity. func (m *UserGroupMutation) RemovedUserGroupsIDs() (ids []uuid.UUID) { for id := range m.removeduser_groups { ids = append(ids, id) } return } // UserGroupsIDs returns the "user_groups" edge IDs in the mutation. func (m *UserGroupMutation) UserGroupsIDs() (ids []uuid.UUID) { for id := range m.user_groups { ids = append(ids, id) } return } // ResetUserGroups resets all changes to the "user_groups" edge. func (m *UserGroupMutation) ResetUserGroups() { m.user_groups = nil m.cleareduser_groups = false m.removeduser_groups = nil } // AddUserGroupAdminIDs adds the "user_group_admins" edge to the UserGroupAdmin entity by ids. func (m *UserGroupMutation) AddUserGroupAdminIDs(ids ...uuid.UUID) { if m.user_group_admins == nil { m.user_group_admins = make(map[uuid.UUID]struct{}) } for i := range ids { m.user_group_admins[ids[i]] = struct{}{} } } // ClearUserGroupAdmins clears the "user_group_admins" edge to the UserGroupAdmin entity. func (m *UserGroupMutation) ClearUserGroupAdmins() { m.cleareduser_group_admins = true } // UserGroupAdminsCleared reports if the "user_group_admins" edge to the UserGroupAdmin entity was cleared. func (m *UserGroupMutation) UserGroupAdminsCleared() bool { return m.cleareduser_group_admins } // RemoveUserGroupAdminIDs removes the "user_group_admins" edge to the UserGroupAdmin entity by IDs. func (m *UserGroupMutation) RemoveUserGroupAdminIDs(ids ...uuid.UUID) { if m.removeduser_group_admins == nil { m.removeduser_group_admins = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.user_group_admins, ids[i]) m.removeduser_group_admins[ids[i]] = struct{}{} } } // RemovedUserGroupAdmins returns the removed IDs of the "user_group_admins" edge to the UserGroupAdmin entity. func (m *UserGroupMutation) RemovedUserGroupAdminsIDs() (ids []uuid.UUID) { for id := range m.removeduser_group_admins { ids = append(ids, id) } return } // UserGroupAdminsIDs returns the "user_group_admins" edge IDs in the mutation. func (m *UserGroupMutation) UserGroupAdminsIDs() (ids []uuid.UUID) { for id := range m.user_group_admins { ids = append(ids, id) } return } // ResetUserGroupAdmins resets all changes to the "user_group_admins" edge. func (m *UserGroupMutation) ResetUserGroupAdmins() { m.user_group_admins = nil m.cleareduser_group_admins = false m.removeduser_group_admins = nil } // Where appends a list predicates to the UserGroupMutation builder. func (m *UserGroupMutation) Where(ps ...predicate.UserGroup) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the UserGroupMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *UserGroupMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.UserGroup, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *UserGroupMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *UserGroupMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (UserGroup). func (m *UserGroupMutation) 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 *UserGroupMutation) Fields() []string { fields := make([]string, 0, 3) if m.owner != nil { fields = append(fields, usergroup.FieldAdminID) } if m.name != nil { fields = append(fields, usergroup.FieldName) } if m.created_at != nil { fields = append(fields, usergroup.FieldCreatedAt) } 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 *UserGroupMutation) Field(name string) (ent.Value, bool) { switch name { case usergroup.FieldAdminID: return m.AdminID() case usergroup.FieldName: return m.Name() case usergroup.FieldCreatedAt: return m.CreatedAt() } 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 *UserGroupMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case usergroup.FieldAdminID: return m.OldAdminID(ctx) case usergroup.FieldName: return m.OldName(ctx) case usergroup.FieldCreatedAt: return m.OldCreatedAt(ctx) } return nil, fmt.Errorf("unknown UserGroup 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 *UserGroupMutation) SetField(name string, value ent.Value) error { switch name { case usergroup.FieldAdminID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAdminID(v) return nil case usergroup.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case usergroup.FieldCreatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatedAt(v) return nil } return fmt.Errorf("unknown UserGroup field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *UserGroupMutation) 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 *UserGroupMutation) 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 *UserGroupMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown UserGroup numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *UserGroupMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *UserGroupMutation) 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 *UserGroupMutation) ClearField(name string) error { return fmt.Errorf("unknown UserGroup 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 *UserGroupMutation) ResetField(name string) error { switch name { case usergroup.FieldAdminID: m.ResetAdminID() return nil case usergroup.FieldName: m.ResetName() return nil case usergroup.FieldCreatedAt: m.ResetCreatedAt() return nil } return fmt.Errorf("unknown UserGroup field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *UserGroupMutation) AddedEdges() []string { edges := make([]string, 0, 5) if m.owner != nil { edges = append(edges, usergroup.EdgeOwner) } if m.users != nil { edges = append(edges, usergroup.EdgeUsers) } if m.admins != nil { edges = append(edges, usergroup.EdgeAdmins) } if m.user_groups != nil { edges = append(edges, usergroup.EdgeUserGroups) } if m.user_group_admins != nil { edges = append(edges, usergroup.EdgeUserGroupAdmins) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *UserGroupMutation) AddedIDs(name string) []ent.Value { switch name { case usergroup.EdgeOwner: if id := m.owner; id != nil { return []ent.Value{*id} } case usergroup.EdgeUsers: ids := make([]ent.Value, 0, len(m.users)) for id := range m.users { ids = append(ids, id) } return ids case usergroup.EdgeAdmins: ids := make([]ent.Value, 0, len(m.admins)) for id := range m.admins { ids = append(ids, id) } return ids case usergroup.EdgeUserGroups: ids := make([]ent.Value, 0, len(m.user_groups)) for id := range m.user_groups { ids = append(ids, id) } return ids case usergroup.EdgeUserGroupAdmins: ids := make([]ent.Value, 0, len(m.user_group_admins)) for id := range m.user_group_admins { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *UserGroupMutation) RemovedEdges() []string { edges := make([]string, 0, 5) if m.removedusers != nil { edges = append(edges, usergroup.EdgeUsers) } if m.removedadmins != nil { edges = append(edges, usergroup.EdgeAdmins) } if m.removeduser_groups != nil { edges = append(edges, usergroup.EdgeUserGroups) } if m.removeduser_group_admins != nil { edges = append(edges, usergroup.EdgeUserGroupAdmins) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *UserGroupMutation) RemovedIDs(name string) []ent.Value { switch name { case usergroup.EdgeUsers: ids := make([]ent.Value, 0, len(m.removedusers)) for id := range m.removedusers { ids = append(ids, id) } return ids case usergroup.EdgeAdmins: ids := make([]ent.Value, 0, len(m.removedadmins)) for id := range m.removedadmins { ids = append(ids, id) } return ids case usergroup.EdgeUserGroups: ids := make([]ent.Value, 0, len(m.removeduser_groups)) for id := range m.removeduser_groups { ids = append(ids, id) } return ids case usergroup.EdgeUserGroupAdmins: ids := make([]ent.Value, 0, len(m.removeduser_group_admins)) for id := range m.removeduser_group_admins { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *UserGroupMutation) ClearedEdges() []string { edges := make([]string, 0, 5) if m.clearedowner { edges = append(edges, usergroup.EdgeOwner) } if m.clearedusers { edges = append(edges, usergroup.EdgeUsers) } if m.clearedadmins { edges = append(edges, usergroup.EdgeAdmins) } if m.cleareduser_groups { edges = append(edges, usergroup.EdgeUserGroups) } if m.cleareduser_group_admins { edges = append(edges, usergroup.EdgeUserGroupAdmins) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *UserGroupMutation) EdgeCleared(name string) bool { switch name { case usergroup.EdgeOwner: return m.clearedowner case usergroup.EdgeUsers: return m.clearedusers case usergroup.EdgeAdmins: return m.clearedadmins case usergroup.EdgeUserGroups: return m.cleareduser_groups case usergroup.EdgeUserGroupAdmins: return m.cleareduser_group_admins } 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 *UserGroupMutation) ClearEdge(name string) error { switch name { case usergroup.EdgeOwner: m.ClearOwner() return nil } return fmt.Errorf("unknown UserGroup 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 *UserGroupMutation) ResetEdge(name string) error { switch name { case usergroup.EdgeOwner: m.ResetOwner() return nil case usergroup.EdgeUsers: m.ResetUsers() return nil case usergroup.EdgeAdmins: m.ResetAdmins() return nil case usergroup.EdgeUserGroups: m.ResetUserGroups() return nil case usergroup.EdgeUserGroupAdmins: m.ResetUserGroupAdmins() return nil } return fmt.Errorf("unknown UserGroup edge %s", name) } // UserGroupAdminMutation represents an operation that mutates the UserGroupAdmin nodes in the graph. type UserGroupAdminMutation struct { config op Op typ string id *uuid.UUID clearedFields map[string]struct{} user_group *uuid.UUID cleareduser_group bool admin *uuid.UUID clearedadmin bool done bool oldValue func(context.Context) (*UserGroupAdmin, error) predicates []predicate.UserGroupAdmin } var _ ent.Mutation = (*UserGroupAdminMutation)(nil) // usergroupadminOption allows management of the mutation configuration using functional options. type usergroupadminOption func(*UserGroupAdminMutation) // newUserGroupAdminMutation creates new mutation for the UserGroupAdmin entity. func newUserGroupAdminMutation(c config, op Op, opts ...usergroupadminOption) *UserGroupAdminMutation { m := &UserGroupAdminMutation{ config: c, op: op, typ: TypeUserGroupAdmin, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withUserGroupAdminID sets the ID field of the mutation. func withUserGroupAdminID(id uuid.UUID) usergroupadminOption { return func(m *UserGroupAdminMutation) { var ( err error once sync.Once value *UserGroupAdmin ) m.oldValue = func(ctx context.Context) (*UserGroupAdmin, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().UserGroupAdmin.Get(ctx, id) } }) return value, err } m.id = &id } } // withUserGroupAdmin sets the old UserGroupAdmin of the mutation. func withUserGroupAdmin(node *UserGroupAdmin) usergroupadminOption { return func(m *UserGroupAdminMutation) { m.oldValue = func(context.Context) (*UserGroupAdmin, 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 UserGroupAdminMutation) 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 UserGroupAdminMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 UserGroupAdmin entities. func (m *UserGroupAdminMutation) SetID(id uuid.UUID) { 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 *UserGroupAdminMutation) ID() (id uuid.UUID, 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 *UserGroupAdminMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().UserGroupAdmin.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUserGroupID sets the "user_group_id" field. func (m *UserGroupAdminMutation) SetUserGroupID(u uuid.UUID) { m.user_group = &u } // UserGroupID returns the value of the "user_group_id" field in the mutation. func (m *UserGroupAdminMutation) UserGroupID() (r uuid.UUID, exists bool) { v := m.user_group if v == nil { return } return *v, true } // OldUserGroupID returns the old "user_group_id" field's value of the UserGroupAdmin entity. // If the UserGroupAdmin 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 *UserGroupAdminMutation) OldUserGroupID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldUserGroupID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldUserGroupID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldUserGroupID: %w", err) } return oldValue.UserGroupID, nil } // ResetUserGroupID resets all changes to the "user_group_id" field. func (m *UserGroupAdminMutation) ResetUserGroupID() { m.user_group = nil } // SetAdminID sets the "admin_id" field. func (m *UserGroupAdminMutation) SetAdminID(u uuid.UUID) { m.admin = &u } // AdminID returns the value of the "admin_id" field in the mutation. func (m *UserGroupAdminMutation) AdminID() (r uuid.UUID, exists bool) { v := m.admin if v == nil { return } return *v, true } // OldAdminID returns the old "admin_id" field's value of the UserGroupAdmin entity. // If the UserGroupAdmin 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 *UserGroupAdminMutation) OldAdminID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAdminID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAdminID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAdminID: %w", err) } return oldValue.AdminID, nil } // ResetAdminID resets all changes to the "admin_id" field. func (m *UserGroupAdminMutation) ResetAdminID() { m.admin = nil } // ClearUserGroup clears the "user_group" edge to the UserGroup entity. func (m *UserGroupAdminMutation) ClearUserGroup() { m.cleareduser_group = true m.clearedFields[usergroupadmin.FieldUserGroupID] = struct{}{} } // UserGroupCleared reports if the "user_group" edge to the UserGroup entity was cleared. func (m *UserGroupAdminMutation) UserGroupCleared() bool { return m.cleareduser_group } // UserGroupIDs returns the "user_group" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // UserGroupID instead. It exists only for internal usage by the builders. func (m *UserGroupAdminMutation) UserGroupIDs() (ids []uuid.UUID) { if id := m.user_group; id != nil { ids = append(ids, *id) } return } // ResetUserGroup resets all changes to the "user_group" edge. func (m *UserGroupAdminMutation) ResetUserGroup() { m.user_group = nil m.cleareduser_group = false } // ClearAdmin clears the "admin" edge to the Admin entity. func (m *UserGroupAdminMutation) ClearAdmin() { m.clearedadmin = true m.clearedFields[usergroupadmin.FieldAdminID] = struct{}{} } // AdminCleared reports if the "admin" edge to the Admin entity was cleared. func (m *UserGroupAdminMutation) AdminCleared() bool { return m.clearedadmin } // AdminIDs returns the "admin" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // AdminID instead. It exists only for internal usage by the builders. func (m *UserGroupAdminMutation) AdminIDs() (ids []uuid.UUID) { if id := m.admin; id != nil { ids = append(ids, *id) } return } // ResetAdmin resets all changes to the "admin" edge. func (m *UserGroupAdminMutation) ResetAdmin() { m.admin = nil m.clearedadmin = false } // Where appends a list predicates to the UserGroupAdminMutation builder. func (m *UserGroupAdminMutation) Where(ps ...predicate.UserGroupAdmin) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the UserGroupAdminMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *UserGroupAdminMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.UserGroupAdmin, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *UserGroupAdminMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *UserGroupAdminMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (UserGroupAdmin). func (m *UserGroupAdminMutation) 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 *UserGroupAdminMutation) Fields() []string { fields := make([]string, 0, 2) if m.user_group != nil { fields = append(fields, usergroupadmin.FieldUserGroupID) } if m.admin != nil { fields = append(fields, usergroupadmin.FieldAdminID) } 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 *UserGroupAdminMutation) Field(name string) (ent.Value, bool) { switch name { case usergroupadmin.FieldUserGroupID: return m.UserGroupID() case usergroupadmin.FieldAdminID: return m.AdminID() } 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 *UserGroupAdminMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case usergroupadmin.FieldUserGroupID: return m.OldUserGroupID(ctx) case usergroupadmin.FieldAdminID: return m.OldAdminID(ctx) } return nil, fmt.Errorf("unknown UserGroupAdmin 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 *UserGroupAdminMutation) SetField(name string, value ent.Value) error { switch name { case usergroupadmin.FieldUserGroupID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserGroupID(v) return nil case usergroupadmin.FieldAdminID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAdminID(v) return nil } return fmt.Errorf("unknown UserGroupAdmin field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *UserGroupAdminMutation) 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 *UserGroupAdminMutation) 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 *UserGroupAdminMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown UserGroupAdmin numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *UserGroupAdminMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *UserGroupAdminMutation) 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 *UserGroupAdminMutation) ClearField(name string) error { return fmt.Errorf("unknown UserGroupAdmin 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 *UserGroupAdminMutation) ResetField(name string) error { switch name { case usergroupadmin.FieldUserGroupID: m.ResetUserGroupID() return nil case usergroupadmin.FieldAdminID: m.ResetAdminID() return nil } return fmt.Errorf("unknown UserGroupAdmin field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *UserGroupAdminMutation) AddedEdges() []string { edges := make([]string, 0, 2) if m.user_group != nil { edges = append(edges, usergroupadmin.EdgeUserGroup) } if m.admin != nil { edges = append(edges, usergroupadmin.EdgeAdmin) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *UserGroupAdminMutation) AddedIDs(name string) []ent.Value { switch name { case usergroupadmin.EdgeUserGroup: if id := m.user_group; id != nil { return []ent.Value{*id} } case usergroupadmin.EdgeAdmin: if id := m.admin; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *UserGroupAdminMutation) RemovedEdges() []string { edges := make([]string, 0, 2) return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *UserGroupAdminMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *UserGroupAdminMutation) ClearedEdges() []string { edges := make([]string, 0, 2) if m.cleareduser_group { edges = append(edges, usergroupadmin.EdgeUserGroup) } if m.clearedadmin { edges = append(edges, usergroupadmin.EdgeAdmin) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *UserGroupAdminMutation) EdgeCleared(name string) bool { switch name { case usergroupadmin.EdgeUserGroup: return m.cleareduser_group case usergroupadmin.EdgeAdmin: return m.clearedadmin } 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 *UserGroupAdminMutation) ClearEdge(name string) error { switch name { case usergroupadmin.EdgeUserGroup: m.ClearUserGroup() return nil case usergroupadmin.EdgeAdmin: m.ClearAdmin() return nil } return fmt.Errorf("unknown UserGroupAdmin 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 *UserGroupAdminMutation) ResetEdge(name string) error { switch name { case usergroupadmin.EdgeUserGroup: m.ResetUserGroup() return nil case usergroupadmin.EdgeAdmin: m.ResetAdmin() return nil } return fmt.Errorf("unknown UserGroupAdmin edge %s", name) } // UserGroupUserMutation represents an operation that mutates the UserGroupUser nodes in the graph. type UserGroupUserMutation struct { config op Op typ string id *uuid.UUID clearedFields map[string]struct{} user_group *uuid.UUID cleareduser_group bool user *uuid.UUID cleareduser bool done bool oldValue func(context.Context) (*UserGroupUser, error) predicates []predicate.UserGroupUser } var _ ent.Mutation = (*UserGroupUserMutation)(nil) // usergroupuserOption allows management of the mutation configuration using functional options. type usergroupuserOption func(*UserGroupUserMutation) // newUserGroupUserMutation creates new mutation for the UserGroupUser entity. func newUserGroupUserMutation(c config, op Op, opts ...usergroupuserOption) *UserGroupUserMutation { m := &UserGroupUserMutation{ config: c, op: op, typ: TypeUserGroupUser, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withUserGroupUserID sets the ID field of the mutation. func withUserGroupUserID(id uuid.UUID) usergroupuserOption { return func(m *UserGroupUserMutation) { var ( err error once sync.Once value *UserGroupUser ) m.oldValue = func(ctx context.Context) (*UserGroupUser, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().UserGroupUser.Get(ctx, id) } }) return value, err } m.id = &id } } // withUserGroupUser sets the old UserGroupUser of the mutation. func withUserGroupUser(node *UserGroupUser) usergroupuserOption { return func(m *UserGroupUserMutation) { m.oldValue = func(context.Context) (*UserGroupUser, 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 UserGroupUserMutation) 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 UserGroupUserMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 UserGroupUser entities. func (m *UserGroupUserMutation) SetID(id uuid.UUID) { 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 *UserGroupUserMutation) ID() (id uuid.UUID, 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 *UserGroupUserMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().UserGroupUser.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUserGroupID sets the "user_group_id" field. func (m *UserGroupUserMutation) SetUserGroupID(u uuid.UUID) { m.user_group = &u } // UserGroupID returns the value of the "user_group_id" field in the mutation. func (m *UserGroupUserMutation) UserGroupID() (r uuid.UUID, exists bool) { v := m.user_group if v == nil { return } return *v, true } // OldUserGroupID returns the old "user_group_id" field's value of the UserGroupUser entity. // If the UserGroupUser 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 *UserGroupUserMutation) OldUserGroupID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldUserGroupID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldUserGroupID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldUserGroupID: %w", err) } return oldValue.UserGroupID, nil } // ResetUserGroupID resets all changes to the "user_group_id" field. func (m *UserGroupUserMutation) ResetUserGroupID() { m.user_group = nil } // SetUserID sets the "user_id" field. func (m *UserGroupUserMutation) SetUserID(u uuid.UUID) { m.user = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *UserGroupUserMutation) UserID() (r uuid.UUID, exists bool) { v := m.user if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the UserGroupUser entity. // If the UserGroupUser 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 *UserGroupUserMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 *UserGroupUserMutation) ResetUserID() { m.user = nil } // ClearUserGroup clears the "user_group" edge to the UserGroup entity. func (m *UserGroupUserMutation) ClearUserGroup() { m.cleareduser_group = true m.clearedFields[usergroupuser.FieldUserGroupID] = struct{}{} } // UserGroupCleared reports if the "user_group" edge to the UserGroup entity was cleared. func (m *UserGroupUserMutation) UserGroupCleared() bool { return m.cleareduser_group } // UserGroupIDs returns the "user_group" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // UserGroupID instead. It exists only for internal usage by the builders. func (m *UserGroupUserMutation) UserGroupIDs() (ids []uuid.UUID) { if id := m.user_group; id != nil { ids = append(ids, *id) } return } // ResetUserGroup resets all changes to the "user_group" edge. func (m *UserGroupUserMutation) ResetUserGroup() { m.user_group = nil m.cleareduser_group = false } // ClearUser clears the "user" edge to the User entity. func (m *UserGroupUserMutation) ClearUser() { m.cleareduser = true m.clearedFields[usergroupuser.FieldUserID] = struct{}{} } // UserCleared reports if the "user" edge to the User entity was cleared. func (m *UserGroupUserMutation) 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 *UserGroupUserMutation) UserIDs() (ids []uuid.UUID) { if id := m.user; id != nil { ids = append(ids, *id) } return } // ResetUser resets all changes to the "user" edge. func (m *UserGroupUserMutation) ResetUser() { m.user = nil m.cleareduser = false } // Where appends a list predicates to the UserGroupUserMutation builder. func (m *UserGroupUserMutation) Where(ps ...predicate.UserGroupUser) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the UserGroupUserMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *UserGroupUserMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.UserGroupUser, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *UserGroupUserMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *UserGroupUserMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (UserGroupUser). func (m *UserGroupUserMutation) 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 *UserGroupUserMutation) Fields() []string { fields := make([]string, 0, 2) if m.user_group != nil { fields = append(fields, usergroupuser.FieldUserGroupID) } if m.user != nil { fields = append(fields, usergroupuser.FieldUserID) } 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 *UserGroupUserMutation) Field(name string) (ent.Value, bool) { switch name { case usergroupuser.FieldUserGroupID: return m.UserGroupID() case usergroupuser.FieldUserID: return m.UserID() } 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 *UserGroupUserMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case usergroupuser.FieldUserGroupID: return m.OldUserGroupID(ctx) case usergroupuser.FieldUserID: return m.OldUserID(ctx) } return nil, fmt.Errorf("unknown UserGroupUser 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 *UserGroupUserMutation) SetField(name string, value ent.Value) error { switch name { case usergroupuser.FieldUserGroupID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserGroupID(v) return nil case usergroupuser.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil } return fmt.Errorf("unknown UserGroupUser field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *UserGroupUserMutation) 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 *UserGroupUserMutation) 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 *UserGroupUserMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown UserGroupUser numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *UserGroupUserMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *UserGroupUserMutation) 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 *UserGroupUserMutation) ClearField(name string) error { return fmt.Errorf("unknown UserGroupUser 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 *UserGroupUserMutation) ResetField(name string) error { switch name { case usergroupuser.FieldUserGroupID: m.ResetUserGroupID() return nil case usergroupuser.FieldUserID: m.ResetUserID() return nil } return fmt.Errorf("unknown UserGroupUser field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *UserGroupUserMutation) AddedEdges() []string { edges := make([]string, 0, 2) if m.user_group != nil { edges = append(edges, usergroupuser.EdgeUserGroup) } if m.user != nil { edges = append(edges, usergroupuser.EdgeUser) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *UserGroupUserMutation) AddedIDs(name string) []ent.Value { switch name { case usergroupuser.EdgeUserGroup: if id := m.user_group; id != nil { return []ent.Value{*id} } case usergroupuser.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 *UserGroupUserMutation) RemovedEdges() []string { edges := make([]string, 0, 2) return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *UserGroupUserMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *UserGroupUserMutation) ClearedEdges() []string { edges := make([]string, 0, 2) if m.cleareduser_group { edges = append(edges, usergroupuser.EdgeUserGroup) } if m.cleareduser { edges = append(edges, usergroupuser.EdgeUser) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *UserGroupUserMutation) EdgeCleared(name string) bool { switch name { case usergroupuser.EdgeUserGroup: return m.cleareduser_group case usergroupuser.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 *UserGroupUserMutation) ClearEdge(name string) error { switch name { case usergroupuser.EdgeUserGroup: m.ClearUserGroup() return nil case usergroupuser.EdgeUser: m.ClearUser() return nil } return fmt.Errorf("unknown UserGroupUser 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 *UserGroupUserMutation) ResetEdge(name string) error { switch name { case usergroupuser.EdgeUserGroup: m.ResetUserGroup() return nil case usergroupuser.EdgeUser: m.ResetUser() return nil } return fmt.Errorf("unknown UserGroupUser edge %s", name) } // UserIdentityMutation represents an operation that mutates the UserIdentity nodes in the graph. type UserIdentityMutation struct { config op Op typ string id *uuid.UUID deleted_at *time.Time platform *consts.UserPlatform identity_id *string union_id *string nickname *string email *string avatar_url *string created_at *time.Time clearedFields map[string]struct{} user *uuid.UUID cleareduser bool done bool oldValue func(context.Context) (*UserIdentity, error) predicates []predicate.UserIdentity } var _ ent.Mutation = (*UserIdentityMutation)(nil) // useridentityOption allows management of the mutation configuration using functional options. type useridentityOption func(*UserIdentityMutation) // newUserIdentityMutation creates new mutation for the UserIdentity entity. func newUserIdentityMutation(c config, op Op, opts ...useridentityOption) *UserIdentityMutation { m := &UserIdentityMutation{ config: c, op: op, typ: TypeUserIdentity, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withUserIdentityID sets the ID field of the mutation. func withUserIdentityID(id uuid.UUID) useridentityOption { return func(m *UserIdentityMutation) { var ( err error once sync.Once value *UserIdentity ) m.oldValue = func(ctx context.Context) (*UserIdentity, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().UserIdentity.Get(ctx, id) } }) return value, err } m.id = &id } } // withUserIdentity sets the old UserIdentity of the mutation. func withUserIdentity(node *UserIdentity) useridentityOption { return func(m *UserIdentityMutation) { m.oldValue = func(context.Context) (*UserIdentity, 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 UserIdentityMutation) 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 UserIdentityMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 UserIdentity entities. func (m *UserIdentityMutation) SetID(id uuid.UUID) { 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 *UserIdentityMutation) ID() (id uuid.UUID, 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 *UserIdentityMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().UserIdentity.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetDeletedAt sets the "deleted_at" field. func (m *UserIdentityMutation) SetDeletedAt(t time.Time) { m.deleted_at = &t } // DeletedAt returns the value of the "deleted_at" field in the mutation. func (m *UserIdentityMutation) 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 UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) 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 *UserIdentityMutation) ClearDeletedAt() { m.deleted_at = nil m.clearedFields[useridentity.FieldDeletedAt] = struct{}{} } // DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation. func (m *UserIdentityMutation) DeletedAtCleared() bool { _, ok := m.clearedFields[useridentity.FieldDeletedAt] return ok } // ResetDeletedAt resets all changes to the "deleted_at" field. func (m *UserIdentityMutation) ResetDeletedAt() { m.deleted_at = nil delete(m.clearedFields, useridentity.FieldDeletedAt) } // SetUserID sets the "user_id" field. func (m *UserIdentityMutation) SetUserID(u uuid.UUID) { m.user = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *UserIdentityMutation) UserID() (r uuid.UUID, exists bool) { v := m.user if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 } // ClearUserID clears the value of the "user_id" field. func (m *UserIdentityMutation) ClearUserID() { m.user = nil m.clearedFields[useridentity.FieldUserID] = struct{}{} } // UserIDCleared returns if the "user_id" field was cleared in this mutation. func (m *UserIdentityMutation) UserIDCleared() bool { _, ok := m.clearedFields[useridentity.FieldUserID] return ok } // ResetUserID resets all changes to the "user_id" field. func (m *UserIdentityMutation) ResetUserID() { m.user = nil delete(m.clearedFields, useridentity.FieldUserID) } // SetPlatform sets the "platform" field. func (m *UserIdentityMutation) SetPlatform(cp consts.UserPlatform) { m.platform = &cp } // Platform returns the value of the "platform" field in the mutation. func (m *UserIdentityMutation) Platform() (r consts.UserPlatform, exists bool) { v := m.platform if v == nil { return } return *v, true } // OldPlatform returns the old "platform" field's value of the UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) OldPlatform(ctx context.Context) (v consts.UserPlatform, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPlatform is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPlatform requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPlatform: %w", err) } return oldValue.Platform, nil } // ResetPlatform resets all changes to the "platform" field. func (m *UserIdentityMutation) ResetPlatform() { m.platform = nil } // SetIdentityID sets the "identity_id" field. func (m *UserIdentityMutation) SetIdentityID(s string) { m.identity_id = &s } // IdentityID returns the value of the "identity_id" field in the mutation. func (m *UserIdentityMutation) IdentityID() (r string, exists bool) { v := m.identity_id if v == nil { return } return *v, true } // OldIdentityID returns the old "identity_id" field's value of the UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) OldIdentityID(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIdentityID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIdentityID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIdentityID: %w", err) } return oldValue.IdentityID, nil } // ResetIdentityID resets all changes to the "identity_id" field. func (m *UserIdentityMutation) ResetIdentityID() { m.identity_id = nil } // SetUnionID sets the "union_id" field. func (m *UserIdentityMutation) SetUnionID(s string) { m.union_id = &s } // UnionID returns the value of the "union_id" field in the mutation. func (m *UserIdentityMutation) 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 UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) 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 } // ClearUnionID clears the value of the "union_id" field. func (m *UserIdentityMutation) ClearUnionID() { m.union_id = nil m.clearedFields[useridentity.FieldUnionID] = struct{}{} } // UnionIDCleared returns if the "union_id" field was cleared in this mutation. func (m *UserIdentityMutation) UnionIDCleared() bool { _, ok := m.clearedFields[useridentity.FieldUnionID] return ok } // ResetUnionID resets all changes to the "union_id" field. func (m *UserIdentityMutation) ResetUnionID() { m.union_id = nil delete(m.clearedFields, useridentity.FieldUnionID) } // SetNickname sets the "nickname" field. func (m *UserIdentityMutation) SetNickname(s string) { m.nickname = &s } // Nickname returns the value of the "nickname" field in the mutation. func (m *UserIdentityMutation) 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 UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) 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 *UserIdentityMutation) ClearNickname() { m.nickname = nil m.clearedFields[useridentity.FieldNickname] = struct{}{} } // NicknameCleared returns if the "nickname" field was cleared in this mutation. func (m *UserIdentityMutation) NicknameCleared() bool { _, ok := m.clearedFields[useridentity.FieldNickname] return ok } // ResetNickname resets all changes to the "nickname" field. func (m *UserIdentityMutation) ResetNickname() { m.nickname = nil delete(m.clearedFields, useridentity.FieldNickname) } // SetEmail sets the "email" field. func (m *UserIdentityMutation) SetEmail(s string) { m.email = &s } // Email returns the value of the "email" field in the mutation. func (m *UserIdentityMutation) 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 UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) 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 *UserIdentityMutation) ClearEmail() { m.email = nil m.clearedFields[useridentity.FieldEmail] = struct{}{} } // EmailCleared returns if the "email" field was cleared in this mutation. func (m *UserIdentityMutation) EmailCleared() bool { _, ok := m.clearedFields[useridentity.FieldEmail] return ok } // ResetEmail resets all changes to the "email" field. func (m *UserIdentityMutation) ResetEmail() { m.email = nil delete(m.clearedFields, useridentity.FieldEmail) } // SetAvatarURL sets the "avatar_url" field. func (m *UserIdentityMutation) SetAvatarURL(s string) { m.avatar_url = &s } // AvatarURL returns the value of the "avatar_url" field in the mutation. func (m *UserIdentityMutation) AvatarURL() (r string, exists bool) { v := m.avatar_url if v == nil { return } return *v, true } // OldAvatarURL returns the old "avatar_url" field's value of the UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) OldAvatarURL(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAvatarURL is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAvatarURL requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAvatarURL: %w", err) } return oldValue.AvatarURL, nil } // ClearAvatarURL clears the value of the "avatar_url" field. func (m *UserIdentityMutation) ClearAvatarURL() { m.avatar_url = nil m.clearedFields[useridentity.FieldAvatarURL] = struct{}{} } // AvatarURLCleared returns if the "avatar_url" field was cleared in this mutation. func (m *UserIdentityMutation) AvatarURLCleared() bool { _, ok := m.clearedFields[useridentity.FieldAvatarURL] return ok } // ResetAvatarURL resets all changes to the "avatar_url" field. func (m *UserIdentityMutation) ResetAvatarURL() { m.avatar_url = nil delete(m.clearedFields, useridentity.FieldAvatarURL) } // SetCreatedAt sets the "created_at" field. func (m *UserIdentityMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *UserIdentityMutation) 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 UserIdentity entity. // If the UserIdentity 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 *UserIdentityMutation) 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 *UserIdentityMutation) ResetCreatedAt() { m.created_at = nil } // ClearUser clears the "user" edge to the User entity. func (m *UserIdentityMutation) ClearUser() { m.cleareduser = true m.clearedFields[useridentity.FieldUserID] = struct{}{} } // UserCleared reports if the "user" edge to the User entity was cleared. func (m *UserIdentityMutation) UserCleared() bool { return m.UserIDCleared() || 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 *UserIdentityMutation) UserIDs() (ids []uuid.UUID) { if id := m.user; id != nil { ids = append(ids, *id) } return } // ResetUser resets all changes to the "user" edge. func (m *UserIdentityMutation) ResetUser() { m.user = nil m.cleareduser = false } // Where appends a list predicates to the UserIdentityMutation builder. func (m *UserIdentityMutation) Where(ps ...predicate.UserIdentity) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the UserIdentityMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *UserIdentityMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.UserIdentity, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *UserIdentityMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *UserIdentityMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (UserIdentity). func (m *UserIdentityMutation) 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 *UserIdentityMutation) Fields() []string { fields := make([]string, 0, 9) if m.deleted_at != nil { fields = append(fields, useridentity.FieldDeletedAt) } if m.user != nil { fields = append(fields, useridentity.FieldUserID) } if m.platform != nil { fields = append(fields, useridentity.FieldPlatform) } if m.identity_id != nil { fields = append(fields, useridentity.FieldIdentityID) } if m.union_id != nil { fields = append(fields, useridentity.FieldUnionID) } if m.nickname != nil { fields = append(fields, useridentity.FieldNickname) } if m.email != nil { fields = append(fields, useridentity.FieldEmail) } if m.avatar_url != nil { fields = append(fields, useridentity.FieldAvatarURL) } if m.created_at != nil { fields = append(fields, useridentity.FieldCreatedAt) } 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 *UserIdentityMutation) Field(name string) (ent.Value, bool) { switch name { case useridentity.FieldDeletedAt: return m.DeletedAt() case useridentity.FieldUserID: return m.UserID() case useridentity.FieldPlatform: return m.Platform() case useridentity.FieldIdentityID: return m.IdentityID() case useridentity.FieldUnionID: return m.UnionID() case useridentity.FieldNickname: return m.Nickname() case useridentity.FieldEmail: return m.Email() case useridentity.FieldAvatarURL: return m.AvatarURL() case useridentity.FieldCreatedAt: return m.CreatedAt() } 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 *UserIdentityMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case useridentity.FieldDeletedAt: return m.OldDeletedAt(ctx) case useridentity.FieldUserID: return m.OldUserID(ctx) case useridentity.FieldPlatform: return m.OldPlatform(ctx) case useridentity.FieldIdentityID: return m.OldIdentityID(ctx) case useridentity.FieldUnionID: return m.OldUnionID(ctx) case useridentity.FieldNickname: return m.OldNickname(ctx) case useridentity.FieldEmail: return m.OldEmail(ctx) case useridentity.FieldAvatarURL: return m.OldAvatarURL(ctx) case useridentity.FieldCreatedAt: return m.OldCreatedAt(ctx) } return nil, fmt.Errorf("unknown UserIdentity 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 *UserIdentityMutation) SetField(name string, value ent.Value) error { switch name { case useridentity.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 useridentity.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case useridentity.FieldPlatform: v, ok := value.(consts.UserPlatform) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPlatform(v) return nil case useridentity.FieldIdentityID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIdentityID(v) return nil case useridentity.FieldUnionID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUnionID(v) return nil case useridentity.FieldNickname: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetNickname(v) return nil case useridentity.FieldEmail: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetEmail(v) return nil case useridentity.FieldAvatarURL: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAvatarURL(v) return nil case useridentity.FieldCreatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatedAt(v) return nil } return fmt.Errorf("unknown UserIdentity field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *UserIdentityMutation) 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 *UserIdentityMutation) 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 *UserIdentityMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown UserIdentity numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *UserIdentityMutation) ClearedFields() []string { var fields []string if m.FieldCleared(useridentity.FieldDeletedAt) { fields = append(fields, useridentity.FieldDeletedAt) } if m.FieldCleared(useridentity.FieldUserID) { fields = append(fields, useridentity.FieldUserID) } if m.FieldCleared(useridentity.FieldUnionID) { fields = append(fields, useridentity.FieldUnionID) } if m.FieldCleared(useridentity.FieldNickname) { fields = append(fields, useridentity.FieldNickname) } if m.FieldCleared(useridentity.FieldEmail) { fields = append(fields, useridentity.FieldEmail) } if m.FieldCleared(useridentity.FieldAvatarURL) { fields = append(fields, useridentity.FieldAvatarURL) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *UserIdentityMutation) 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 *UserIdentityMutation) ClearField(name string) error { switch name { case useridentity.FieldDeletedAt: m.ClearDeletedAt() return nil case useridentity.FieldUserID: m.ClearUserID() return nil case useridentity.FieldUnionID: m.ClearUnionID() return nil case useridentity.FieldNickname: m.ClearNickname() return nil case useridentity.FieldEmail: m.ClearEmail() return nil case useridentity.FieldAvatarURL: m.ClearAvatarURL() return nil } return fmt.Errorf("unknown UserIdentity 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 *UserIdentityMutation) ResetField(name string) error { switch name { case useridentity.FieldDeletedAt: m.ResetDeletedAt() return nil case useridentity.FieldUserID: m.ResetUserID() return nil case useridentity.FieldPlatform: m.ResetPlatform() return nil case useridentity.FieldIdentityID: m.ResetIdentityID() return nil case useridentity.FieldUnionID: m.ResetUnionID() return nil case useridentity.FieldNickname: m.ResetNickname() return nil case useridentity.FieldEmail: m.ResetEmail() return nil case useridentity.FieldAvatarURL: m.ResetAvatarURL() return nil case useridentity.FieldCreatedAt: m.ResetCreatedAt() return nil } return fmt.Errorf("unknown UserIdentity field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *UserIdentityMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.user != nil { edges = append(edges, useridentity.EdgeUser) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *UserIdentityMutation) AddedIDs(name string) []ent.Value { switch name { case useridentity.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 *UserIdentityMutation) 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 *UserIdentityMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *UserIdentityMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.cleareduser { edges = append(edges, useridentity.EdgeUser) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *UserIdentityMutation) EdgeCleared(name string) bool { switch name { case useridentity.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 *UserIdentityMutation) ClearEdge(name string) error { switch name { case useridentity.EdgeUser: m.ClearUser() return nil } return fmt.Errorf("unknown UserIdentity 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 *UserIdentityMutation) ResetEdge(name string) error { switch name { case useridentity.EdgeUser: m.ResetUser() return nil } return fmt.Errorf("unknown UserIdentity edge %s", name) } // UserLoginHistoryMutation represents an operation that mutates the UserLoginHistory nodes in the graph. type UserLoginHistoryMutation struct { config op Op typ string id *uuid.UUID ip *string country *string province *string city *string isp *string asn *string client_version *string os_type *consts.OSType os_release *consts.OSRelease hostname *string client_id *string created_at *time.Time clearedFields map[string]struct{} owner *uuid.UUID clearedowner bool done bool oldValue func(context.Context) (*UserLoginHistory, error) predicates []predicate.UserLoginHistory } var _ ent.Mutation = (*UserLoginHistoryMutation)(nil) // userloginhistoryOption allows management of the mutation configuration using functional options. type userloginhistoryOption func(*UserLoginHistoryMutation) // newUserLoginHistoryMutation creates new mutation for the UserLoginHistory entity. func newUserLoginHistoryMutation(c config, op Op, opts ...userloginhistoryOption) *UserLoginHistoryMutation { m := &UserLoginHistoryMutation{ config: c, op: op, typ: TypeUserLoginHistory, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withUserLoginHistoryID sets the ID field of the mutation. func withUserLoginHistoryID(id uuid.UUID) userloginhistoryOption { return func(m *UserLoginHistoryMutation) { var ( err error once sync.Once value *UserLoginHistory ) m.oldValue = func(ctx context.Context) (*UserLoginHistory, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().UserLoginHistory.Get(ctx, id) } }) return value, err } m.id = &id } } // withUserLoginHistory sets the old UserLoginHistory of the mutation. func withUserLoginHistory(node *UserLoginHistory) userloginhistoryOption { return func(m *UserLoginHistoryMutation) { m.oldValue = func(context.Context) (*UserLoginHistory, 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 UserLoginHistoryMutation) 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 UserLoginHistoryMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 UserLoginHistory entities. func (m *UserLoginHistoryMutation) SetID(id uuid.UUID) { 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 *UserLoginHistoryMutation) ID() (id uuid.UUID, 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 *UserLoginHistoryMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().UserLoginHistory.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUserID sets the "user_id" field. func (m *UserLoginHistoryMutation) SetUserID(u uuid.UUID) { m.owner = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *UserLoginHistoryMutation) UserID() (r uuid.UUID, exists bool) { v := m.owner if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 } // ClearUserID clears the value of the "user_id" field. func (m *UserLoginHistoryMutation) ClearUserID() { m.owner = nil m.clearedFields[userloginhistory.FieldUserID] = struct{}{} } // UserIDCleared returns if the "user_id" field was cleared in this mutation. func (m *UserLoginHistoryMutation) UserIDCleared() bool { _, ok := m.clearedFields[userloginhistory.FieldUserID] return ok } // ResetUserID resets all changes to the "user_id" field. func (m *UserLoginHistoryMutation) ResetUserID() { m.owner = nil delete(m.clearedFields, userloginhistory.FieldUserID) } // SetIP sets the "ip" field. func (m *UserLoginHistoryMutation) SetIP(s string) { m.ip = &s } // IP returns the value of the "ip" field in the mutation. func (m *UserLoginHistoryMutation) IP() (r string, exists bool) { v := m.ip if v == nil { return } return *v, true } // OldIP returns the old "ip" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldIP(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIP is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIP requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIP: %w", err) } return oldValue.IP, nil } // ResetIP resets all changes to the "ip" field. func (m *UserLoginHistoryMutation) ResetIP() { m.ip = nil } // SetCountry sets the "country" field. func (m *UserLoginHistoryMutation) SetCountry(s string) { m.country = &s } // Country returns the value of the "country" field in the mutation. func (m *UserLoginHistoryMutation) Country() (r string, exists bool) { v := m.country if v == nil { return } return *v, true } // OldCountry returns the old "country" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldCountry(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCountry is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCountry requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCountry: %w", err) } return oldValue.Country, nil } // ResetCountry resets all changes to the "country" field. func (m *UserLoginHistoryMutation) ResetCountry() { m.country = nil } // SetProvince sets the "province" field. func (m *UserLoginHistoryMutation) SetProvince(s string) { m.province = &s } // Province returns the value of the "province" field in the mutation. func (m *UserLoginHistoryMutation) 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 UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) 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 *UserLoginHistoryMutation) ResetProvince() { m.province = nil } // SetCity sets the "city" field. func (m *UserLoginHistoryMutation) SetCity(s string) { m.city = &s } // City returns the value of the "city" field in the mutation. func (m *UserLoginHistoryMutation) 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 UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) 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 } // ResetCity resets all changes to the "city" field. func (m *UserLoginHistoryMutation) ResetCity() { m.city = nil } // SetIsp sets the "isp" field. func (m *UserLoginHistoryMutation) SetIsp(s string) { m.isp = &s } // Isp returns the value of the "isp" field in the mutation. func (m *UserLoginHistoryMutation) Isp() (r string, exists bool) { v := m.isp if v == nil { return } return *v, true } // OldIsp returns the old "isp" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldIsp(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIsp is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIsp requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIsp: %w", err) } return oldValue.Isp, nil } // ClearIsp clears the value of the "isp" field. func (m *UserLoginHistoryMutation) ClearIsp() { m.isp = nil m.clearedFields[userloginhistory.FieldIsp] = struct{}{} } // IspCleared returns if the "isp" field was cleared in this mutation. func (m *UserLoginHistoryMutation) IspCleared() bool { _, ok := m.clearedFields[userloginhistory.FieldIsp] return ok } // ResetIsp resets all changes to the "isp" field. func (m *UserLoginHistoryMutation) ResetIsp() { m.isp = nil delete(m.clearedFields, userloginhistory.FieldIsp) } // SetAsn sets the "asn" field. func (m *UserLoginHistoryMutation) SetAsn(s string) { m.asn = &s } // Asn returns the value of the "asn" field in the mutation. func (m *UserLoginHistoryMutation) Asn() (r string, exists bool) { v := m.asn if v == nil { return } return *v, true } // OldAsn returns the old "asn" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldAsn(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAsn is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldAsn requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldAsn: %w", err) } return oldValue.Asn, nil } // ClearAsn clears the value of the "asn" field. func (m *UserLoginHistoryMutation) ClearAsn() { m.asn = nil m.clearedFields[userloginhistory.FieldAsn] = struct{}{} } // AsnCleared returns if the "asn" field was cleared in this mutation. func (m *UserLoginHistoryMutation) AsnCleared() bool { _, ok := m.clearedFields[userloginhistory.FieldAsn] return ok } // ResetAsn resets all changes to the "asn" field. func (m *UserLoginHistoryMutation) ResetAsn() { m.asn = nil delete(m.clearedFields, userloginhistory.FieldAsn) } // SetClientVersion sets the "client_version" field. func (m *UserLoginHistoryMutation) SetClientVersion(s string) { m.client_version = &s } // ClientVersion returns the value of the "client_version" field in the mutation. func (m *UserLoginHistoryMutation) ClientVersion() (r string, exists bool) { v := m.client_version if v == nil { return } return *v, true } // OldClientVersion returns the old "client_version" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldClientVersion(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldClientVersion is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldClientVersion requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldClientVersion: %w", err) } return oldValue.ClientVersion, nil } // ClearClientVersion clears the value of the "client_version" field. func (m *UserLoginHistoryMutation) ClearClientVersion() { m.client_version = nil m.clearedFields[userloginhistory.FieldClientVersion] = struct{}{} } // ClientVersionCleared returns if the "client_version" field was cleared in this mutation. func (m *UserLoginHistoryMutation) ClientVersionCleared() bool { _, ok := m.clearedFields[userloginhistory.FieldClientVersion] return ok } // ResetClientVersion resets all changes to the "client_version" field. func (m *UserLoginHistoryMutation) ResetClientVersion() { m.client_version = nil delete(m.clearedFields, userloginhistory.FieldClientVersion) } // SetOsType sets the "os_type" field. func (m *UserLoginHistoryMutation) SetOsType(ct consts.OSType) { m.os_type = &ct } // OsType returns the value of the "os_type" field in the mutation. func (m *UserLoginHistoryMutation) OsType() (r consts.OSType, exists bool) { v := m.os_type if v == nil { return } return *v, true } // OldOsType returns the old "os_type" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldOsType(ctx context.Context) (v consts.OSType, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOsType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOsType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOsType: %w", err) } return oldValue.OsType, nil } // ClearOsType clears the value of the "os_type" field. func (m *UserLoginHistoryMutation) ClearOsType() { m.os_type = nil m.clearedFields[userloginhistory.FieldOsType] = struct{}{} } // OsTypeCleared returns if the "os_type" field was cleared in this mutation. func (m *UserLoginHistoryMutation) OsTypeCleared() bool { _, ok := m.clearedFields[userloginhistory.FieldOsType] return ok } // ResetOsType resets all changes to the "os_type" field. func (m *UserLoginHistoryMutation) ResetOsType() { m.os_type = nil delete(m.clearedFields, userloginhistory.FieldOsType) } // SetOsRelease sets the "os_release" field. func (m *UserLoginHistoryMutation) SetOsRelease(cr consts.OSRelease) { m.os_release = &cr } // OsRelease returns the value of the "os_release" field in the mutation. func (m *UserLoginHistoryMutation) OsRelease() (r consts.OSRelease, exists bool) { v := m.os_release if v == nil { return } return *v, true } // OldOsRelease returns the old "os_release" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldOsRelease(ctx context.Context) (v consts.OSRelease, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldOsRelease is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldOsRelease requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldOsRelease: %w", err) } return oldValue.OsRelease, nil } // ClearOsRelease clears the value of the "os_release" field. func (m *UserLoginHistoryMutation) ClearOsRelease() { m.os_release = nil m.clearedFields[userloginhistory.FieldOsRelease] = struct{}{} } // OsReleaseCleared returns if the "os_release" field was cleared in this mutation. func (m *UserLoginHistoryMutation) OsReleaseCleared() bool { _, ok := m.clearedFields[userloginhistory.FieldOsRelease] return ok } // ResetOsRelease resets all changes to the "os_release" field. func (m *UserLoginHistoryMutation) ResetOsRelease() { m.os_release = nil delete(m.clearedFields, userloginhistory.FieldOsRelease) } // SetHostname sets the "hostname" field. func (m *UserLoginHistoryMutation) SetHostname(s string) { m.hostname = &s } // Hostname returns the value of the "hostname" field in the mutation. func (m *UserLoginHistoryMutation) Hostname() (r string, exists bool) { v := m.hostname if v == nil { return } return *v, true } // OldHostname returns the old "hostname" field's value of the UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) OldHostname(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldHostname is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldHostname requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldHostname: %w", err) } return oldValue.Hostname, nil } // ClearHostname clears the value of the "hostname" field. func (m *UserLoginHistoryMutation) ClearHostname() { m.hostname = nil m.clearedFields[userloginhistory.FieldHostname] = struct{}{} } // HostnameCleared returns if the "hostname" field was cleared in this mutation. func (m *UserLoginHistoryMutation) HostnameCleared() bool { _, ok := m.clearedFields[userloginhistory.FieldHostname] return ok } // ResetHostname resets all changes to the "hostname" field. func (m *UserLoginHistoryMutation) ResetHostname() { m.hostname = nil delete(m.clearedFields, userloginhistory.FieldHostname) } // SetClientID sets the "client_id" field. func (m *UserLoginHistoryMutation) SetClientID(s string) { m.client_id = &s } // ClientID returns the value of the "client_id" field in the mutation. func (m *UserLoginHistoryMutation) 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 UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) 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 } // ClearClientID clears the value of the "client_id" field. func (m *UserLoginHistoryMutation) ClearClientID() { m.client_id = nil m.clearedFields[userloginhistory.FieldClientID] = struct{}{} } // ClientIDCleared returns if the "client_id" field was cleared in this mutation. func (m *UserLoginHistoryMutation) ClientIDCleared() bool { _, ok := m.clearedFields[userloginhistory.FieldClientID] return ok } // ResetClientID resets all changes to the "client_id" field. func (m *UserLoginHistoryMutation) ResetClientID() { m.client_id = nil delete(m.clearedFields, userloginhistory.FieldClientID) } // SetCreatedAt sets the "created_at" field. func (m *UserLoginHistoryMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *UserLoginHistoryMutation) 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 UserLoginHistory entity. // If the UserLoginHistory 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 *UserLoginHistoryMutation) 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 *UserLoginHistoryMutation) ResetCreatedAt() { m.created_at = nil } // SetOwnerID sets the "owner" edge to the User entity by id. func (m *UserLoginHistoryMutation) SetOwnerID(id uuid.UUID) { m.owner = &id } // ClearOwner clears the "owner" edge to the User entity. func (m *UserLoginHistoryMutation) ClearOwner() { m.clearedowner = true m.clearedFields[userloginhistory.FieldUserID] = struct{}{} } // OwnerCleared reports if the "owner" edge to the User entity was cleared. func (m *UserLoginHistoryMutation) OwnerCleared() bool { return m.UserIDCleared() || m.clearedowner } // OwnerID returns the "owner" edge ID in the mutation. func (m *UserLoginHistoryMutation) OwnerID() (id uuid.UUID, exists bool) { if m.owner != nil { return *m.owner, true } return } // OwnerIDs returns the "owner" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // OwnerID instead. It exists only for internal usage by the builders. func (m *UserLoginHistoryMutation) OwnerIDs() (ids []uuid.UUID) { if id := m.owner; id != nil { ids = append(ids, *id) } return } // ResetOwner resets all changes to the "owner" edge. func (m *UserLoginHistoryMutation) ResetOwner() { m.owner = nil m.clearedowner = false } // Where appends a list predicates to the UserLoginHistoryMutation builder. func (m *UserLoginHistoryMutation) Where(ps ...predicate.UserLoginHistory) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the UserLoginHistoryMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *UserLoginHistoryMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.UserLoginHistory, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *UserLoginHistoryMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *UserLoginHistoryMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (UserLoginHistory). func (m *UserLoginHistoryMutation) 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 *UserLoginHistoryMutation) Fields() []string { fields := make([]string, 0, 13) if m.owner != nil { fields = append(fields, userloginhistory.FieldUserID) } if m.ip != nil { fields = append(fields, userloginhistory.FieldIP) } if m.country != nil { fields = append(fields, userloginhistory.FieldCountry) } if m.province != nil { fields = append(fields, userloginhistory.FieldProvince) } if m.city != nil { fields = append(fields, userloginhistory.FieldCity) } if m.isp != nil { fields = append(fields, userloginhistory.FieldIsp) } if m.asn != nil { fields = append(fields, userloginhistory.FieldAsn) } if m.client_version != nil { fields = append(fields, userloginhistory.FieldClientVersion) } if m.os_type != nil { fields = append(fields, userloginhistory.FieldOsType) } if m.os_release != nil { fields = append(fields, userloginhistory.FieldOsRelease) } if m.hostname != nil { fields = append(fields, userloginhistory.FieldHostname) } if m.client_id != nil { fields = append(fields, userloginhistory.FieldClientID) } if m.created_at != nil { fields = append(fields, userloginhistory.FieldCreatedAt) } 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 *UserLoginHistoryMutation) Field(name string) (ent.Value, bool) { switch name { case userloginhistory.FieldUserID: return m.UserID() case userloginhistory.FieldIP: return m.IP() case userloginhistory.FieldCountry: return m.Country() case userloginhistory.FieldProvince: return m.Province() case userloginhistory.FieldCity: return m.City() case userloginhistory.FieldIsp: return m.Isp() case userloginhistory.FieldAsn: return m.Asn() case userloginhistory.FieldClientVersion: return m.ClientVersion() case userloginhistory.FieldOsType: return m.OsType() case userloginhistory.FieldOsRelease: return m.OsRelease() case userloginhistory.FieldHostname: return m.Hostname() case userloginhistory.FieldClientID: return m.ClientID() case userloginhistory.FieldCreatedAt: return m.CreatedAt() } 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 *UserLoginHistoryMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case userloginhistory.FieldUserID: return m.OldUserID(ctx) case userloginhistory.FieldIP: return m.OldIP(ctx) case userloginhistory.FieldCountry: return m.OldCountry(ctx) case userloginhistory.FieldProvince: return m.OldProvince(ctx) case userloginhistory.FieldCity: return m.OldCity(ctx) case userloginhistory.FieldIsp: return m.OldIsp(ctx) case userloginhistory.FieldAsn: return m.OldAsn(ctx) case userloginhistory.FieldClientVersion: return m.OldClientVersion(ctx) case userloginhistory.FieldOsType: return m.OldOsType(ctx) case userloginhistory.FieldOsRelease: return m.OldOsRelease(ctx) case userloginhistory.FieldHostname: return m.OldHostname(ctx) case userloginhistory.FieldClientID: return m.OldClientID(ctx) case userloginhistory.FieldCreatedAt: return m.OldCreatedAt(ctx) } return nil, fmt.Errorf("unknown UserLoginHistory 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 *UserLoginHistoryMutation) SetField(name string, value ent.Value) error { switch name { case userloginhistory.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case userloginhistory.FieldIP: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIP(v) return nil case userloginhistory.FieldCountry: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCountry(v) return nil case userloginhistory.FieldProvince: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetProvince(v) return nil case userloginhistory.FieldCity: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCity(v) return nil case userloginhistory.FieldIsp: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIsp(v) return nil case userloginhistory.FieldAsn: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetAsn(v) return nil case userloginhistory.FieldClientVersion: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetClientVersion(v) return nil case userloginhistory.FieldOsType: v, ok := value.(consts.OSType) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOsType(v) return nil case userloginhistory.FieldOsRelease: v, ok := value.(consts.OSRelease) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetOsRelease(v) return nil case userloginhistory.FieldHostname: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetHostname(v) return nil case userloginhistory.FieldClientID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetClientID(v) return nil case userloginhistory.FieldCreatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatedAt(v) return nil } return fmt.Errorf("unknown UserLoginHistory field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *UserLoginHistoryMutation) 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 *UserLoginHistoryMutation) 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 *UserLoginHistoryMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown UserLoginHistory numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *UserLoginHistoryMutation) ClearedFields() []string { var fields []string if m.FieldCleared(userloginhistory.FieldUserID) { fields = append(fields, userloginhistory.FieldUserID) } if m.FieldCleared(userloginhistory.FieldIsp) { fields = append(fields, userloginhistory.FieldIsp) } if m.FieldCleared(userloginhistory.FieldAsn) { fields = append(fields, userloginhistory.FieldAsn) } if m.FieldCleared(userloginhistory.FieldClientVersion) { fields = append(fields, userloginhistory.FieldClientVersion) } if m.FieldCleared(userloginhistory.FieldOsType) { fields = append(fields, userloginhistory.FieldOsType) } if m.FieldCleared(userloginhistory.FieldOsRelease) { fields = append(fields, userloginhistory.FieldOsRelease) } if m.FieldCleared(userloginhistory.FieldHostname) { fields = append(fields, userloginhistory.FieldHostname) } if m.FieldCleared(userloginhistory.FieldClientID) { fields = append(fields, userloginhistory.FieldClientID) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *UserLoginHistoryMutation) 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 *UserLoginHistoryMutation) ClearField(name string) error { switch name { case userloginhistory.FieldUserID: m.ClearUserID() return nil case userloginhistory.FieldIsp: m.ClearIsp() return nil case userloginhistory.FieldAsn: m.ClearAsn() return nil case userloginhistory.FieldClientVersion: m.ClearClientVersion() return nil case userloginhistory.FieldOsType: m.ClearOsType() return nil case userloginhistory.FieldOsRelease: m.ClearOsRelease() return nil case userloginhistory.FieldHostname: m.ClearHostname() return nil case userloginhistory.FieldClientID: m.ClearClientID() return nil } return fmt.Errorf("unknown UserLoginHistory 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 *UserLoginHistoryMutation) ResetField(name string) error { switch name { case userloginhistory.FieldUserID: m.ResetUserID() return nil case userloginhistory.FieldIP: m.ResetIP() return nil case userloginhistory.FieldCountry: m.ResetCountry() return nil case userloginhistory.FieldProvince: m.ResetProvince() return nil case userloginhistory.FieldCity: m.ResetCity() return nil case userloginhistory.FieldIsp: m.ResetIsp() return nil case userloginhistory.FieldAsn: m.ResetAsn() return nil case userloginhistory.FieldClientVersion: m.ResetClientVersion() return nil case userloginhistory.FieldOsType: m.ResetOsType() return nil case userloginhistory.FieldOsRelease: m.ResetOsRelease() return nil case userloginhistory.FieldHostname: m.ResetHostname() return nil case userloginhistory.FieldClientID: m.ResetClientID() return nil case userloginhistory.FieldCreatedAt: m.ResetCreatedAt() return nil } return fmt.Errorf("unknown UserLoginHistory field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *UserLoginHistoryMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.owner != nil { edges = append(edges, userloginhistory.EdgeOwner) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *UserLoginHistoryMutation) AddedIDs(name string) []ent.Value { switch name { case userloginhistory.EdgeOwner: if id := m.owner; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *UserLoginHistoryMutation) 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 *UserLoginHistoryMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *UserLoginHistoryMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedowner { edges = append(edges, userloginhistory.EdgeOwner) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *UserLoginHistoryMutation) EdgeCleared(name string) bool { switch name { case userloginhistory.EdgeOwner: return m.clearedowner } return false } // ClearEdge clears the value of the edge with the given name. It returns an error // if that edge is not defined in the schema. func (m *UserLoginHistoryMutation) ClearEdge(name string) error { switch name { case userloginhistory.EdgeOwner: m.ClearOwner() return nil } return fmt.Errorf("unknown UserLoginHistory 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 *UserLoginHistoryMutation) ResetEdge(name string) error { switch name { case userloginhistory.EdgeOwner: m.ResetOwner() return nil } return fmt.Errorf("unknown UserLoginHistory edge %s", name) } // WorkspaceMutation represents an operation that mutates the Workspace nodes in the graph. type WorkspaceMutation struct { config op Op typ string id *uuid.UUID name *string description *string root_path *string settings *map[string]interface{} last_accessed_at *time.Time created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} owner *uuid.UUID clearedowner bool files map[uuid.UUID]struct{} removedfiles map[uuid.UUID]struct{} clearedfiles bool security_scannings map[uuid.UUID]struct{} removedsecurity_scannings map[uuid.UUID]struct{} clearedsecurity_scannings bool done bool oldValue func(context.Context) (*Workspace, error) predicates []predicate.Workspace } var _ ent.Mutation = (*WorkspaceMutation)(nil) // workspaceOption allows management of the mutation configuration using functional options. type workspaceOption func(*WorkspaceMutation) // newWorkspaceMutation creates new mutation for the Workspace entity. func newWorkspaceMutation(c config, op Op, opts ...workspaceOption) *WorkspaceMutation { m := &WorkspaceMutation{ config: c, op: op, typ: TypeWorkspace, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withWorkspaceID sets the ID field of the mutation. func withWorkspaceID(id uuid.UUID) workspaceOption { return func(m *WorkspaceMutation) { var ( err error once sync.Once value *Workspace ) m.oldValue = func(ctx context.Context) (*Workspace, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().Workspace.Get(ctx, id) } }) return value, err } m.id = &id } } // withWorkspace sets the old Workspace of the mutation. func withWorkspace(node *Workspace) workspaceOption { return func(m *WorkspaceMutation) { m.oldValue = func(context.Context) (*Workspace, 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 WorkspaceMutation) 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 WorkspaceMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 Workspace entities. func (m *WorkspaceMutation) SetID(id uuid.UUID) { 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 *WorkspaceMutation) ID() (id uuid.UUID, 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 *WorkspaceMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().Workspace.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUserID sets the "user_id" field. func (m *WorkspaceMutation) SetUserID(u uuid.UUID) { m.owner = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *WorkspaceMutation) UserID() (r uuid.UUID, exists bool) { v := m.owner if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the Workspace entity. // If the Workspace 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 *WorkspaceMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 *WorkspaceMutation) ResetUserID() { m.owner = nil } // SetName sets the "name" field. func (m *WorkspaceMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *WorkspaceMutation) 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 Workspace entity. // If the Workspace 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 *WorkspaceMutation) 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 } // ClearName clears the value of the "name" field. func (m *WorkspaceMutation) ClearName() { m.name = nil m.clearedFields[workspace.FieldName] = struct{}{} } // NameCleared returns if the "name" field was cleared in this mutation. func (m *WorkspaceMutation) NameCleared() bool { _, ok := m.clearedFields[workspace.FieldName] return ok } // ResetName resets all changes to the "name" field. func (m *WorkspaceMutation) ResetName() { m.name = nil delete(m.clearedFields, workspace.FieldName) } // SetDescription sets the "description" field. func (m *WorkspaceMutation) SetDescription(s string) { m.description = &s } // Description returns the value of the "description" field in the mutation. func (m *WorkspaceMutation) 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 Workspace entity. // If the Workspace 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 *WorkspaceMutation) 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 *WorkspaceMutation) ClearDescription() { m.description = nil m.clearedFields[workspace.FieldDescription] = struct{}{} } // DescriptionCleared returns if the "description" field was cleared in this mutation. func (m *WorkspaceMutation) DescriptionCleared() bool { _, ok := m.clearedFields[workspace.FieldDescription] return ok } // ResetDescription resets all changes to the "description" field. func (m *WorkspaceMutation) ResetDescription() { m.description = nil delete(m.clearedFields, workspace.FieldDescription) } // SetRootPath sets the "root_path" field. func (m *WorkspaceMutation) SetRootPath(s string) { m.root_path = &s } // RootPath returns the value of the "root_path" field in the mutation. func (m *WorkspaceMutation) RootPath() (r string, exists bool) { v := m.root_path if v == nil { return } return *v, true } // OldRootPath returns the old "root_path" field's value of the Workspace entity. // If the Workspace 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 *WorkspaceMutation) OldRootPath(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldRootPath is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldRootPath requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldRootPath: %w", err) } return oldValue.RootPath, nil } // ResetRootPath resets all changes to the "root_path" field. func (m *WorkspaceMutation) ResetRootPath() { m.root_path = nil } // SetSettings sets the "settings" field. func (m *WorkspaceMutation) SetSettings(value map[string]interface{}) { m.settings = &value } // Settings returns the value of the "settings" field in the mutation. func (m *WorkspaceMutation) Settings() (r map[string]interface{}, exists bool) { v := m.settings if v == nil { return } return *v, true } // OldSettings returns the old "settings" field's value of the Workspace entity. // If the Workspace 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 *WorkspaceMutation) OldSettings(ctx context.Context) (v map[string]interface{}, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSettings is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSettings requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSettings: %w", err) } return oldValue.Settings, nil } // ClearSettings clears the value of the "settings" field. func (m *WorkspaceMutation) ClearSettings() { m.settings = nil m.clearedFields[workspace.FieldSettings] = struct{}{} } // SettingsCleared returns if the "settings" field was cleared in this mutation. func (m *WorkspaceMutation) SettingsCleared() bool { _, ok := m.clearedFields[workspace.FieldSettings] return ok } // ResetSettings resets all changes to the "settings" field. func (m *WorkspaceMutation) ResetSettings() { m.settings = nil delete(m.clearedFields, workspace.FieldSettings) } // SetLastAccessedAt sets the "last_accessed_at" field. func (m *WorkspaceMutation) SetLastAccessedAt(t time.Time) { m.last_accessed_at = &t } // LastAccessedAt returns the value of the "last_accessed_at" field in the mutation. func (m *WorkspaceMutation) LastAccessedAt() (r time.Time, exists bool) { v := m.last_accessed_at if v == nil { return } return *v, true } // OldLastAccessedAt returns the old "last_accessed_at" field's value of the Workspace entity. // If the Workspace 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 *WorkspaceMutation) OldLastAccessedAt(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldLastAccessedAt is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldLastAccessedAt requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldLastAccessedAt: %w", err) } return oldValue.LastAccessedAt, nil } // ResetLastAccessedAt resets all changes to the "last_accessed_at" field. func (m *WorkspaceMutation) ResetLastAccessedAt() { m.last_accessed_at = nil } // SetCreatedAt sets the "created_at" field. func (m *WorkspaceMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *WorkspaceMutation) 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 Workspace entity. // If the Workspace 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 *WorkspaceMutation) 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 *WorkspaceMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *WorkspaceMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *WorkspaceMutation) 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 Workspace entity. // If the Workspace 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 *WorkspaceMutation) 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 *WorkspaceMutation) ResetUpdatedAt() { m.updated_at = nil } // SetOwnerID sets the "owner" edge to the User entity by id. func (m *WorkspaceMutation) SetOwnerID(id uuid.UUID) { m.owner = &id } // ClearOwner clears the "owner" edge to the User entity. func (m *WorkspaceMutation) ClearOwner() { m.clearedowner = true m.clearedFields[workspace.FieldUserID] = struct{}{} } // OwnerCleared reports if the "owner" edge to the User entity was cleared. func (m *WorkspaceMutation) OwnerCleared() bool { return m.clearedowner } // OwnerID returns the "owner" edge ID in the mutation. func (m *WorkspaceMutation) OwnerID() (id uuid.UUID, exists bool) { if m.owner != nil { return *m.owner, true } return } // OwnerIDs returns the "owner" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // OwnerID instead. It exists only for internal usage by the builders. func (m *WorkspaceMutation) OwnerIDs() (ids []uuid.UUID) { if id := m.owner; id != nil { ids = append(ids, *id) } return } // ResetOwner resets all changes to the "owner" edge. func (m *WorkspaceMutation) ResetOwner() { m.owner = nil m.clearedowner = false } // AddFileIDs adds the "files" edge to the WorkspaceFile entity by ids. func (m *WorkspaceMutation) AddFileIDs(ids ...uuid.UUID) { if m.files == nil { m.files = make(map[uuid.UUID]struct{}) } for i := range ids { m.files[ids[i]] = struct{}{} } } // ClearFiles clears the "files" edge to the WorkspaceFile entity. func (m *WorkspaceMutation) ClearFiles() { m.clearedfiles = true } // FilesCleared reports if the "files" edge to the WorkspaceFile entity was cleared. func (m *WorkspaceMutation) FilesCleared() bool { return m.clearedfiles } // RemoveFileIDs removes the "files" edge to the WorkspaceFile entity by IDs. func (m *WorkspaceMutation) RemoveFileIDs(ids ...uuid.UUID) { if m.removedfiles == nil { m.removedfiles = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.files, ids[i]) m.removedfiles[ids[i]] = struct{}{} } } // RemovedFiles returns the removed IDs of the "files" edge to the WorkspaceFile entity. func (m *WorkspaceMutation) RemovedFilesIDs() (ids []uuid.UUID) { for id := range m.removedfiles { ids = append(ids, id) } return } // FilesIDs returns the "files" edge IDs in the mutation. func (m *WorkspaceMutation) FilesIDs() (ids []uuid.UUID) { for id := range m.files { ids = append(ids, id) } return } // ResetFiles resets all changes to the "files" edge. func (m *WorkspaceMutation) ResetFiles() { m.files = nil m.clearedfiles = false m.removedfiles = nil } // AddSecurityScanningIDs adds the "security_scannings" edge to the SecurityScanning entity by ids. func (m *WorkspaceMutation) AddSecurityScanningIDs(ids ...uuid.UUID) { if m.security_scannings == nil { m.security_scannings = make(map[uuid.UUID]struct{}) } for i := range ids { m.security_scannings[ids[i]] = struct{}{} } } // ClearSecurityScannings clears the "security_scannings" edge to the SecurityScanning entity. func (m *WorkspaceMutation) ClearSecurityScannings() { m.clearedsecurity_scannings = true } // SecurityScanningsCleared reports if the "security_scannings" edge to the SecurityScanning entity was cleared. func (m *WorkspaceMutation) SecurityScanningsCleared() bool { return m.clearedsecurity_scannings } // RemoveSecurityScanningIDs removes the "security_scannings" edge to the SecurityScanning entity by IDs. func (m *WorkspaceMutation) RemoveSecurityScanningIDs(ids ...uuid.UUID) { if m.removedsecurity_scannings == nil { m.removedsecurity_scannings = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.security_scannings, ids[i]) m.removedsecurity_scannings[ids[i]] = struct{}{} } } // RemovedSecurityScannings returns the removed IDs of the "security_scannings" edge to the SecurityScanning entity. func (m *WorkspaceMutation) RemovedSecurityScanningsIDs() (ids []uuid.UUID) { for id := range m.removedsecurity_scannings { ids = append(ids, id) } return } // SecurityScanningsIDs returns the "security_scannings" edge IDs in the mutation. func (m *WorkspaceMutation) SecurityScanningsIDs() (ids []uuid.UUID) { for id := range m.security_scannings { ids = append(ids, id) } return } // ResetSecurityScannings resets all changes to the "security_scannings" edge. func (m *WorkspaceMutation) ResetSecurityScannings() { m.security_scannings = nil m.clearedsecurity_scannings = false m.removedsecurity_scannings = nil } // Where appends a list predicates to the WorkspaceMutation builder. func (m *WorkspaceMutation) Where(ps ...predicate.Workspace) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the WorkspaceMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *WorkspaceMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.Workspace, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *WorkspaceMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *WorkspaceMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (Workspace). func (m *WorkspaceMutation) 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 *WorkspaceMutation) Fields() []string { fields := make([]string, 0, 8) if m.owner != nil { fields = append(fields, workspace.FieldUserID) } if m.name != nil { fields = append(fields, workspace.FieldName) } if m.description != nil { fields = append(fields, workspace.FieldDescription) } if m.root_path != nil { fields = append(fields, workspace.FieldRootPath) } if m.settings != nil { fields = append(fields, workspace.FieldSettings) } if m.last_accessed_at != nil { fields = append(fields, workspace.FieldLastAccessedAt) } if m.created_at != nil { fields = append(fields, workspace.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, workspace.FieldUpdatedAt) } 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 *WorkspaceMutation) Field(name string) (ent.Value, bool) { switch name { case workspace.FieldUserID: return m.UserID() case workspace.FieldName: return m.Name() case workspace.FieldDescription: return m.Description() case workspace.FieldRootPath: return m.RootPath() case workspace.FieldSettings: return m.Settings() case workspace.FieldLastAccessedAt: return m.LastAccessedAt() case workspace.FieldCreatedAt: return m.CreatedAt() case workspace.FieldUpdatedAt: return m.UpdatedAt() } 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 *WorkspaceMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case workspace.FieldUserID: return m.OldUserID(ctx) case workspace.FieldName: return m.OldName(ctx) case workspace.FieldDescription: return m.OldDescription(ctx) case workspace.FieldRootPath: return m.OldRootPath(ctx) case workspace.FieldSettings: return m.OldSettings(ctx) case workspace.FieldLastAccessedAt: return m.OldLastAccessedAt(ctx) case workspace.FieldCreatedAt: return m.OldCreatedAt(ctx) case workspace.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown Workspace 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 *WorkspaceMutation) SetField(name string, value ent.Value) error { switch name { case workspace.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case workspace.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case workspace.FieldDescription: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDescription(v) return nil case workspace.FieldRootPath: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetRootPath(v) return nil case workspace.FieldSettings: v, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSettings(v) return nil case workspace.FieldLastAccessedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetLastAccessedAt(v) return nil case workspace.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 workspace.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown Workspace field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *WorkspaceMutation) 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 *WorkspaceMutation) 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 *WorkspaceMutation) AddField(name string, value ent.Value) error { switch name { } return fmt.Errorf("unknown Workspace numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *WorkspaceMutation) ClearedFields() []string { var fields []string if m.FieldCleared(workspace.FieldName) { fields = append(fields, workspace.FieldName) } if m.FieldCleared(workspace.FieldDescription) { fields = append(fields, workspace.FieldDescription) } if m.FieldCleared(workspace.FieldSettings) { fields = append(fields, workspace.FieldSettings) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *WorkspaceMutation) 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 *WorkspaceMutation) ClearField(name string) error { switch name { case workspace.FieldName: m.ClearName() return nil case workspace.FieldDescription: m.ClearDescription() return nil case workspace.FieldSettings: m.ClearSettings() return nil } return fmt.Errorf("unknown Workspace 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 *WorkspaceMutation) ResetField(name string) error { switch name { case workspace.FieldUserID: m.ResetUserID() return nil case workspace.FieldName: m.ResetName() return nil case workspace.FieldDescription: m.ResetDescription() return nil case workspace.FieldRootPath: m.ResetRootPath() return nil case workspace.FieldSettings: m.ResetSettings() return nil case workspace.FieldLastAccessedAt: m.ResetLastAccessedAt() return nil case workspace.FieldCreatedAt: m.ResetCreatedAt() return nil case workspace.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown Workspace field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *WorkspaceMutation) AddedEdges() []string { edges := make([]string, 0, 3) if m.owner != nil { edges = append(edges, workspace.EdgeOwner) } if m.files != nil { edges = append(edges, workspace.EdgeFiles) } if m.security_scannings != nil { edges = append(edges, workspace.EdgeSecurityScannings) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *WorkspaceMutation) AddedIDs(name string) []ent.Value { switch name { case workspace.EdgeOwner: if id := m.owner; id != nil { return []ent.Value{*id} } case workspace.EdgeFiles: ids := make([]ent.Value, 0, len(m.files)) for id := range m.files { ids = append(ids, id) } return ids case workspace.EdgeSecurityScannings: ids := make([]ent.Value, 0, len(m.security_scannings)) for id := range m.security_scannings { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *WorkspaceMutation) RemovedEdges() []string { edges := make([]string, 0, 3) if m.removedfiles != nil { edges = append(edges, workspace.EdgeFiles) } if m.removedsecurity_scannings != nil { edges = append(edges, workspace.EdgeSecurityScannings) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *WorkspaceMutation) RemovedIDs(name string) []ent.Value { switch name { case workspace.EdgeFiles: ids := make([]ent.Value, 0, len(m.removedfiles)) for id := range m.removedfiles { ids = append(ids, id) } return ids case workspace.EdgeSecurityScannings: ids := make([]ent.Value, 0, len(m.removedsecurity_scannings)) for id := range m.removedsecurity_scannings { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *WorkspaceMutation) ClearedEdges() []string { edges := make([]string, 0, 3) if m.clearedowner { edges = append(edges, workspace.EdgeOwner) } if m.clearedfiles { edges = append(edges, workspace.EdgeFiles) } if m.clearedsecurity_scannings { edges = append(edges, workspace.EdgeSecurityScannings) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *WorkspaceMutation) EdgeCleared(name string) bool { switch name { case workspace.EdgeOwner: return m.clearedowner case workspace.EdgeFiles: return m.clearedfiles case workspace.EdgeSecurityScannings: return m.clearedsecurity_scannings } 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 *WorkspaceMutation) ClearEdge(name string) error { switch name { case workspace.EdgeOwner: m.ClearOwner() return nil } return fmt.Errorf("unknown Workspace 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 *WorkspaceMutation) ResetEdge(name string) error { switch name { case workspace.EdgeOwner: m.ResetOwner() return nil case workspace.EdgeFiles: m.ResetFiles() return nil case workspace.EdgeSecurityScannings: m.ResetSecurityScannings() return nil } return fmt.Errorf("unknown Workspace edge %s", name) } // WorkspaceFileMutation represents an operation that mutates the WorkspaceFile nodes in the graph. type WorkspaceFileMutation struct { config op Op typ string id *uuid.UUID _path *string content *string hash *string language *string size *int64 addsize *int64 created_at *time.Time updated_at *time.Time clearedFields map[string]struct{} owner *uuid.UUID clearedowner bool workspace *uuid.UUID clearedworkspace bool snippets map[uuid.UUID]struct{} removedsnippets map[uuid.UUID]struct{} clearedsnippets bool done bool oldValue func(context.Context) (*WorkspaceFile, error) predicates []predicate.WorkspaceFile } var _ ent.Mutation = (*WorkspaceFileMutation)(nil) // workspacefileOption allows management of the mutation configuration using functional options. type workspacefileOption func(*WorkspaceFileMutation) // newWorkspaceFileMutation creates new mutation for the WorkspaceFile entity. func newWorkspaceFileMutation(c config, op Op, opts ...workspacefileOption) *WorkspaceFileMutation { m := &WorkspaceFileMutation{ config: c, op: op, typ: TypeWorkspaceFile, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withWorkspaceFileID sets the ID field of the mutation. func withWorkspaceFileID(id uuid.UUID) workspacefileOption { return func(m *WorkspaceFileMutation) { var ( err error once sync.Once value *WorkspaceFile ) m.oldValue = func(ctx context.Context) (*WorkspaceFile, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().WorkspaceFile.Get(ctx, id) } }) return value, err } m.id = &id } } // withWorkspaceFile sets the old WorkspaceFile of the mutation. func withWorkspaceFile(node *WorkspaceFile) workspacefileOption { return func(m *WorkspaceFileMutation) { m.oldValue = func(context.Context) (*WorkspaceFile, 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 WorkspaceFileMutation) 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 WorkspaceFileMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("db: 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 WorkspaceFile entities. func (m *WorkspaceFileMutation) SetID(id uuid.UUID) { 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 *WorkspaceFileMutation) ID() (id uuid.UUID, 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 *WorkspaceFileMutation) IDs(ctx context.Context) ([]uuid.UUID, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uuid.UUID{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().WorkspaceFile.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetUserID sets the "user_id" field. func (m *WorkspaceFileMutation) SetUserID(u uuid.UUID) { m.owner = &u } // UserID returns the value of the "user_id" field in the mutation. func (m *WorkspaceFileMutation) UserID() (r uuid.UUID, exists bool) { v := m.owner if v == nil { return } return *v, true } // OldUserID returns the old "user_id" field's value of the WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) OldUserID(ctx context.Context) (v uuid.UUID, 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 *WorkspaceFileMutation) ResetUserID() { m.owner = nil } // SetWorkspaceID sets the "workspace_id" field. func (m *WorkspaceFileMutation) SetWorkspaceID(u uuid.UUID) { m.workspace = &u } // WorkspaceID returns the value of the "workspace_id" field in the mutation. func (m *WorkspaceFileMutation) WorkspaceID() (r uuid.UUID, exists bool) { v := m.workspace if v == nil { return } return *v, true } // OldWorkspaceID returns the old "workspace_id" field's value of the WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) OldWorkspaceID(ctx context.Context) (v uuid.UUID, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldWorkspaceID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldWorkspaceID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldWorkspaceID: %w", err) } return oldValue.WorkspaceID, nil } // ResetWorkspaceID resets all changes to the "workspace_id" field. func (m *WorkspaceFileMutation) ResetWorkspaceID() { m.workspace = nil } // SetPath sets the "path" field. func (m *WorkspaceFileMutation) SetPath(s string) { m._path = &s } // Path returns the value of the "path" field in the mutation. func (m *WorkspaceFileMutation) Path() (r string, exists bool) { v := m._path if v == nil { return } return *v, true } // OldPath returns the old "path" field's value of the WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) OldPath(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPath is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPath requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPath: %w", err) } return oldValue.Path, nil } // ResetPath resets all changes to the "path" field. func (m *WorkspaceFileMutation) ResetPath() { m._path = nil } // SetContent sets the "content" field. func (m *WorkspaceFileMutation) SetContent(s string) { m.content = &s } // Content returns the value of the "content" field in the mutation. func (m *WorkspaceFileMutation) Content() (r string, exists bool) { v := m.content if v == nil { return } return *v, true } // OldContent returns the old "content" field's value of the WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) OldContent(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldContent is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldContent requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldContent: %w", err) } return oldValue.Content, nil } // ClearContent clears the value of the "content" field. func (m *WorkspaceFileMutation) ClearContent() { m.content = nil m.clearedFields[workspacefile.FieldContent] = struct{}{} } // ContentCleared returns if the "content" field was cleared in this mutation. func (m *WorkspaceFileMutation) ContentCleared() bool { _, ok := m.clearedFields[workspacefile.FieldContent] return ok } // ResetContent resets all changes to the "content" field. func (m *WorkspaceFileMutation) ResetContent() { m.content = nil delete(m.clearedFields, workspacefile.FieldContent) } // SetHash sets the "hash" field. func (m *WorkspaceFileMutation) SetHash(s string) { m.hash = &s } // Hash returns the value of the "hash" field in the mutation. func (m *WorkspaceFileMutation) Hash() (r string, exists bool) { v := m.hash if v == nil { return } return *v, true } // OldHash returns the old "hash" field's value of the WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) OldHash(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldHash is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldHash requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldHash: %w", err) } return oldValue.Hash, nil } // ResetHash resets all changes to the "hash" field. func (m *WorkspaceFileMutation) ResetHash() { m.hash = nil } // SetLanguage sets the "language" field. func (m *WorkspaceFileMutation) SetLanguage(s string) { m.language = &s } // Language returns the value of the "language" field in the mutation. func (m *WorkspaceFileMutation) Language() (r string, exists bool) { v := m.language if v == nil { return } return *v, true } // OldLanguage returns the old "language" field's value of the WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) OldLanguage(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldLanguage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldLanguage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldLanguage: %w", err) } return oldValue.Language, nil } // ClearLanguage clears the value of the "language" field. func (m *WorkspaceFileMutation) ClearLanguage() { m.language = nil m.clearedFields[workspacefile.FieldLanguage] = struct{}{} } // LanguageCleared returns if the "language" field was cleared in this mutation. func (m *WorkspaceFileMutation) LanguageCleared() bool { _, ok := m.clearedFields[workspacefile.FieldLanguage] return ok } // ResetLanguage resets all changes to the "language" field. func (m *WorkspaceFileMutation) ResetLanguage() { m.language = nil delete(m.clearedFields, workspacefile.FieldLanguage) } // SetSize sets the "size" field. func (m *WorkspaceFileMutation) SetSize(i int64) { m.size = &i m.addsize = nil } // Size returns the value of the "size" field in the mutation. func (m *WorkspaceFileMutation) Size() (r int64, exists bool) { v := m.size if v == nil { return } return *v, true } // OldSize returns the old "size" field's value of the WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) OldSize(ctx context.Context) (v int64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSize is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSize requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSize: %w", err) } return oldValue.Size, nil } // AddSize adds i to the "size" field. func (m *WorkspaceFileMutation) AddSize(i int64) { if m.addsize != nil { *m.addsize += i } else { m.addsize = &i } } // AddedSize returns the value that was added to the "size" field in this mutation. func (m *WorkspaceFileMutation) AddedSize() (r int64, exists bool) { v := m.addsize if v == nil { return } return *v, true } // ResetSize resets all changes to the "size" field. func (m *WorkspaceFileMutation) ResetSize() { m.size = nil m.addsize = nil } // SetCreatedAt sets the "created_at" field. func (m *WorkspaceFileMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *WorkspaceFileMutation) 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 WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) 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 *WorkspaceFileMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *WorkspaceFileMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *WorkspaceFileMutation) 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 WorkspaceFile entity. // If the WorkspaceFile 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 *WorkspaceFileMutation) 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 *WorkspaceFileMutation) ResetUpdatedAt() { m.updated_at = nil } // SetOwnerID sets the "owner" edge to the User entity by id. func (m *WorkspaceFileMutation) SetOwnerID(id uuid.UUID) { m.owner = &id } // ClearOwner clears the "owner" edge to the User entity. func (m *WorkspaceFileMutation) ClearOwner() { m.clearedowner = true m.clearedFields[workspacefile.FieldUserID] = struct{}{} } // OwnerCleared reports if the "owner" edge to the User entity was cleared. func (m *WorkspaceFileMutation) OwnerCleared() bool { return m.clearedowner } // OwnerID returns the "owner" edge ID in the mutation. func (m *WorkspaceFileMutation) OwnerID() (id uuid.UUID, exists bool) { if m.owner != nil { return *m.owner, true } return } // OwnerIDs returns the "owner" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // OwnerID instead. It exists only for internal usage by the builders. func (m *WorkspaceFileMutation) OwnerIDs() (ids []uuid.UUID) { if id := m.owner; id != nil { ids = append(ids, *id) } return } // ResetOwner resets all changes to the "owner" edge. func (m *WorkspaceFileMutation) ResetOwner() { m.owner = nil m.clearedowner = false } // ClearWorkspace clears the "workspace" edge to the Workspace entity. func (m *WorkspaceFileMutation) ClearWorkspace() { m.clearedworkspace = true m.clearedFields[workspacefile.FieldWorkspaceID] = struct{}{} } // WorkspaceCleared reports if the "workspace" edge to the Workspace entity was cleared. func (m *WorkspaceFileMutation) WorkspaceCleared() bool { return m.clearedworkspace } // WorkspaceIDs returns the "workspace" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // WorkspaceID instead. It exists only for internal usage by the builders. func (m *WorkspaceFileMutation) WorkspaceIDs() (ids []uuid.UUID) { if id := m.workspace; id != nil { ids = append(ids, *id) } return } // ResetWorkspace resets all changes to the "workspace" edge. func (m *WorkspaceFileMutation) ResetWorkspace() { m.workspace = nil m.clearedworkspace = false } // AddSnippetIDs adds the "snippets" edge to the CodeSnippet entity by ids. func (m *WorkspaceFileMutation) AddSnippetIDs(ids ...uuid.UUID) { if m.snippets == nil { m.snippets = make(map[uuid.UUID]struct{}) } for i := range ids { m.snippets[ids[i]] = struct{}{} } } // ClearSnippets clears the "snippets" edge to the CodeSnippet entity. func (m *WorkspaceFileMutation) ClearSnippets() { m.clearedsnippets = true } // SnippetsCleared reports if the "snippets" edge to the CodeSnippet entity was cleared. func (m *WorkspaceFileMutation) SnippetsCleared() bool { return m.clearedsnippets } // RemoveSnippetIDs removes the "snippets" edge to the CodeSnippet entity by IDs. func (m *WorkspaceFileMutation) RemoveSnippetIDs(ids ...uuid.UUID) { if m.removedsnippets == nil { m.removedsnippets = make(map[uuid.UUID]struct{}) } for i := range ids { delete(m.snippets, ids[i]) m.removedsnippets[ids[i]] = struct{}{} } } // RemovedSnippets returns the removed IDs of the "snippets" edge to the CodeSnippet entity. func (m *WorkspaceFileMutation) RemovedSnippetsIDs() (ids []uuid.UUID) { for id := range m.removedsnippets { ids = append(ids, id) } return } // SnippetsIDs returns the "snippets" edge IDs in the mutation. func (m *WorkspaceFileMutation) SnippetsIDs() (ids []uuid.UUID) { for id := range m.snippets { ids = append(ids, id) } return } // ResetSnippets resets all changes to the "snippets" edge. func (m *WorkspaceFileMutation) ResetSnippets() { m.snippets = nil m.clearedsnippets = false m.removedsnippets = nil } // Where appends a list predicates to the WorkspaceFileMutation builder. func (m *WorkspaceFileMutation) Where(ps ...predicate.WorkspaceFile) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the WorkspaceFileMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *WorkspaceFileMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.WorkspaceFile, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *WorkspaceFileMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *WorkspaceFileMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (WorkspaceFile). func (m *WorkspaceFileMutation) 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 *WorkspaceFileMutation) Fields() []string { fields := make([]string, 0, 9) if m.owner != nil { fields = append(fields, workspacefile.FieldUserID) } if m.workspace != nil { fields = append(fields, workspacefile.FieldWorkspaceID) } if m._path != nil { fields = append(fields, workspacefile.FieldPath) } if m.content != nil { fields = append(fields, workspacefile.FieldContent) } if m.hash != nil { fields = append(fields, workspacefile.FieldHash) } if m.language != nil { fields = append(fields, workspacefile.FieldLanguage) } if m.size != nil { fields = append(fields, workspacefile.FieldSize) } if m.created_at != nil { fields = append(fields, workspacefile.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, workspacefile.FieldUpdatedAt) } 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 *WorkspaceFileMutation) Field(name string) (ent.Value, bool) { switch name { case workspacefile.FieldUserID: return m.UserID() case workspacefile.FieldWorkspaceID: return m.WorkspaceID() case workspacefile.FieldPath: return m.Path() case workspacefile.FieldContent: return m.Content() case workspacefile.FieldHash: return m.Hash() case workspacefile.FieldLanguage: return m.Language() case workspacefile.FieldSize: return m.Size() case workspacefile.FieldCreatedAt: return m.CreatedAt() case workspacefile.FieldUpdatedAt: return m.UpdatedAt() } 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 *WorkspaceFileMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case workspacefile.FieldUserID: return m.OldUserID(ctx) case workspacefile.FieldWorkspaceID: return m.OldWorkspaceID(ctx) case workspacefile.FieldPath: return m.OldPath(ctx) case workspacefile.FieldContent: return m.OldContent(ctx) case workspacefile.FieldHash: return m.OldHash(ctx) case workspacefile.FieldLanguage: return m.OldLanguage(ctx) case workspacefile.FieldSize: return m.OldSize(ctx) case workspacefile.FieldCreatedAt: return m.OldCreatedAt(ctx) case workspacefile.FieldUpdatedAt: return m.OldUpdatedAt(ctx) } return nil, fmt.Errorf("unknown WorkspaceFile 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 *WorkspaceFileMutation) SetField(name string, value ent.Value) error { switch name { case workspacefile.FieldUserID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUserID(v) return nil case workspacefile.FieldWorkspaceID: v, ok := value.(uuid.UUID) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetWorkspaceID(v) return nil case workspacefile.FieldPath: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPath(v) return nil case workspacefile.FieldContent: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContent(v) return nil case workspacefile.FieldHash: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetHash(v) return nil case workspacefile.FieldLanguage: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetLanguage(v) return nil case workspacefile.FieldSize: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSize(v) return nil case workspacefile.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 workspacefile.FieldUpdatedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetUpdatedAt(v) return nil } return fmt.Errorf("unknown WorkspaceFile field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *WorkspaceFileMutation) AddedFields() []string { var fields []string if m.addsize != nil { fields = append(fields, workspacefile.FieldSize) } 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 *WorkspaceFileMutation) AddedField(name string) (ent.Value, bool) { switch name { case workspacefile.FieldSize: return m.AddedSize() } 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 *WorkspaceFileMutation) AddField(name string, value ent.Value) error { switch name { case workspacefile.FieldSize: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddSize(v) return nil } return fmt.Errorf("unknown WorkspaceFile numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *WorkspaceFileMutation) ClearedFields() []string { var fields []string if m.FieldCleared(workspacefile.FieldContent) { fields = append(fields, workspacefile.FieldContent) } if m.FieldCleared(workspacefile.FieldLanguage) { fields = append(fields, workspacefile.FieldLanguage) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *WorkspaceFileMutation) 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 *WorkspaceFileMutation) ClearField(name string) error { switch name { case workspacefile.FieldContent: m.ClearContent() return nil case workspacefile.FieldLanguage: m.ClearLanguage() return nil } return fmt.Errorf("unknown WorkspaceFile 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 *WorkspaceFileMutation) ResetField(name string) error { switch name { case workspacefile.FieldUserID: m.ResetUserID() return nil case workspacefile.FieldWorkspaceID: m.ResetWorkspaceID() return nil case workspacefile.FieldPath: m.ResetPath() return nil case workspacefile.FieldContent: m.ResetContent() return nil case workspacefile.FieldHash: m.ResetHash() return nil case workspacefile.FieldLanguage: m.ResetLanguage() return nil case workspacefile.FieldSize: m.ResetSize() return nil case workspacefile.FieldCreatedAt: m.ResetCreatedAt() return nil case workspacefile.FieldUpdatedAt: m.ResetUpdatedAt() return nil } return fmt.Errorf("unknown WorkspaceFile field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *WorkspaceFileMutation) AddedEdges() []string { edges := make([]string, 0, 3) if m.owner != nil { edges = append(edges, workspacefile.EdgeOwner) } if m.workspace != nil { edges = append(edges, workspacefile.EdgeWorkspace) } if m.snippets != nil { edges = append(edges, workspacefile.EdgeSnippets) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *WorkspaceFileMutation) AddedIDs(name string) []ent.Value { switch name { case workspacefile.EdgeOwner: if id := m.owner; id != nil { return []ent.Value{*id} } case workspacefile.EdgeWorkspace: if id := m.workspace; id != nil { return []ent.Value{*id} } case workspacefile.EdgeSnippets: ids := make([]ent.Value, 0, len(m.snippets)) for id := range m.snippets { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *WorkspaceFileMutation) RemovedEdges() []string { edges := make([]string, 0, 3) if m.removedsnippets != nil { edges = append(edges, workspacefile.EdgeSnippets) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *WorkspaceFileMutation) RemovedIDs(name string) []ent.Value { switch name { case workspacefile.EdgeSnippets: ids := make([]ent.Value, 0, len(m.removedsnippets)) for id := range m.removedsnippets { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *WorkspaceFileMutation) ClearedEdges() []string { edges := make([]string, 0, 3) if m.clearedowner { edges = append(edges, workspacefile.EdgeOwner) } if m.clearedworkspace { edges = append(edges, workspacefile.EdgeWorkspace) } if m.clearedsnippets { edges = append(edges, workspacefile.EdgeSnippets) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *WorkspaceFileMutation) EdgeCleared(name string) bool { switch name { case workspacefile.EdgeOwner: return m.clearedowner case workspacefile.EdgeWorkspace: return m.clearedworkspace case workspacefile.EdgeSnippets: return m.clearedsnippets } 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 *WorkspaceFileMutation) ClearEdge(name string) error { switch name { case workspacefile.EdgeOwner: m.ClearOwner() return nil case workspacefile.EdgeWorkspace: m.ClearWorkspace() return nil } return fmt.Errorf("unknown WorkspaceFile 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 *WorkspaceFileMutation) ResetEdge(name string) error { switch name { case workspacefile.EdgeOwner: m.ResetOwner() return nil case workspacefile.EdgeWorkspace: m.ResetWorkspace() return nil case workspacefile.EdgeSnippets: m.ResetSnippets() return nil } return fmt.Errorf("unknown WorkspaceFile edge %s", name) }