// Code generated by ent, DO NOT EDIT. package ent import ( "context" "errors" "fmt" "sync" "time" "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/suyuan32/simple-admin-job/ent/custom_types" "github.com/suyuan32/simple-admin-job/ent/messagerecords" "github.com/suyuan32/simple-admin-job/ent/predicate" "github.com/suyuan32/simple-admin-job/ent/sopnode" "github.com/suyuan32/simple-admin-job/ent/sopstage" "github.com/suyuan32/simple-admin-job/ent/soptask" "github.com/suyuan32/simple-admin-job/ent/task" "github.com/suyuan32/simple-admin-job/ent/tasklog" ) const ( // Operation types. OpCreate = ent.OpCreate OpDelete = ent.OpDelete OpDeleteOne = ent.OpDeleteOne OpUpdate = ent.OpUpdate OpUpdateOne = ent.OpUpdateOne // Node types. TypeMessageRecords = "MessageRecords" TypeSopNode = "SopNode" TypeSopStage = "SopStage" TypeSopTask = "SopTask" TypeTask = "Task" TypeTaskLog = "TaskLog" ) // MessageRecordsMutation represents an operation that mutates the MessageRecords nodes in the graph. type MessageRecordsMutation struct { config op Op typ string id *uint64 created_at *time.Time updated_at *time.Time status *uint8 addstatus *int8 bot_wxid *string contact_id *uint64 addcontact_id *int64 contact_type *int addcontact_type *int contact_wxid *string content_type *int addcontent_type *int content *string meta *custom_types.Meta error_detail *string send_time *time.Time source_type *int addsource_type *int source_id *uint64 addsource_id *int64 sub_source_id *uint64 addsub_source_id *int64 clearedFields map[string]struct{} done bool oldValue func(context.Context) (*MessageRecords, error) predicates []predicate.MessageRecords } var _ ent.Mutation = (*MessageRecordsMutation)(nil) // messagerecordsOption allows management of the mutation configuration using functional options. type messagerecordsOption func(*MessageRecordsMutation) // newMessageRecordsMutation creates new mutation for the MessageRecords entity. func newMessageRecordsMutation(c config, op Op, opts ...messagerecordsOption) *MessageRecordsMutation { m := &MessageRecordsMutation{ config: c, op: op, typ: TypeMessageRecords, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withMessageRecordsID sets the ID field of the mutation. func withMessageRecordsID(id uint64) messagerecordsOption { return func(m *MessageRecordsMutation) { var ( err error once sync.Once value *MessageRecords ) m.oldValue = func(ctx context.Context) (*MessageRecords, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().MessageRecords.Get(ctx, id) } }) return value, err } m.id = &id } } // withMessageRecords sets the old MessageRecords of the mutation. func withMessageRecords(node *MessageRecords) messagerecordsOption { return func(m *MessageRecordsMutation) { m.oldValue = func(context.Context) (*MessageRecords, 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 MessageRecordsMutation) 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 MessageRecordsMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("ent: mutation is not running in a transaction") } tx := &Tx{config: m.config} tx.init() return tx, nil } // SetID sets the value of the id field. Note that this // operation is only accepted on creation of MessageRecords entities. func (m *MessageRecordsMutation) SetID(id uint64) { 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 *MessageRecordsMutation) ID() (id uint64, 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 *MessageRecordsMutation) IDs(ctx context.Context) ([]uint64, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uint64{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().MessageRecords.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetCreatedAt sets the "created_at" field. func (m *MessageRecordsMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *MessageRecordsMutation) 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 MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) 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 *MessageRecordsMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *MessageRecordsMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *MessageRecordsMutation) 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 MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) 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 *MessageRecordsMutation) ResetUpdatedAt() { m.updated_at = nil } // SetStatus sets the "status" field. func (m *MessageRecordsMutation) SetStatus(u uint8) { m.status = &u m.addstatus = nil } // Status returns the value of the "status" field in the mutation. func (m *MessageRecordsMutation) Status() (r uint8, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldStatus(ctx context.Context) (v uint8, 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 } // AddStatus adds u to the "status" field. func (m *MessageRecordsMutation) AddStatus(u int8) { if m.addstatus != nil { *m.addstatus += u } else { m.addstatus = &u } } // AddedStatus returns the value that was added to the "status" field in this mutation. func (m *MessageRecordsMutation) AddedStatus() (r int8, exists bool) { v := m.addstatus if v == nil { return } return *v, true } // ClearStatus clears the value of the "status" field. func (m *MessageRecordsMutation) ClearStatus() { m.status = nil m.addstatus = nil m.clearedFields[messagerecords.FieldStatus] = struct{}{} } // StatusCleared returns if the "status" field was cleared in this mutation. func (m *MessageRecordsMutation) StatusCleared() bool { _, ok := m.clearedFields[messagerecords.FieldStatus] return ok } // ResetStatus resets all changes to the "status" field. func (m *MessageRecordsMutation) ResetStatus() { m.status = nil m.addstatus = nil delete(m.clearedFields, messagerecords.FieldStatus) } // SetBotWxid sets the "bot_wxid" field. func (m *MessageRecordsMutation) SetBotWxid(s string) { m.bot_wxid = &s } // BotWxid returns the value of the "bot_wxid" field in the mutation. func (m *MessageRecordsMutation) BotWxid() (r string, exists bool) { v := m.bot_wxid if v == nil { return } return *v, true } // OldBotWxid returns the old "bot_wxid" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldBotWxid(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldBotWxid is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldBotWxid requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldBotWxid: %w", err) } return oldValue.BotWxid, nil } // ResetBotWxid resets all changes to the "bot_wxid" field. func (m *MessageRecordsMutation) ResetBotWxid() { m.bot_wxid = nil } // SetContactID sets the "contact_id" field. func (m *MessageRecordsMutation) SetContactID(u uint64) { m.contact_id = &u m.addcontact_id = nil } // ContactID returns the value of the "contact_id" field in the mutation. func (m *MessageRecordsMutation) ContactID() (r uint64, exists bool) { v := m.contact_id if v == nil { return } return *v, true } // OldContactID returns the old "contact_id" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldContactID(ctx context.Context) (v uint64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldContactID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldContactID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldContactID: %w", err) } return oldValue.ContactID, nil } // AddContactID adds u to the "contact_id" field. func (m *MessageRecordsMutation) AddContactID(u int64) { if m.addcontact_id != nil { *m.addcontact_id += u } else { m.addcontact_id = &u } } // AddedContactID returns the value that was added to the "contact_id" field in this mutation. func (m *MessageRecordsMutation) AddedContactID() (r int64, exists bool) { v := m.addcontact_id if v == nil { return } return *v, true } // ClearContactID clears the value of the "contact_id" field. func (m *MessageRecordsMutation) ClearContactID() { m.contact_id = nil m.addcontact_id = nil m.clearedFields[messagerecords.FieldContactID] = struct{}{} } // ContactIDCleared returns if the "contact_id" field was cleared in this mutation. func (m *MessageRecordsMutation) ContactIDCleared() bool { _, ok := m.clearedFields[messagerecords.FieldContactID] return ok } // ResetContactID resets all changes to the "contact_id" field. func (m *MessageRecordsMutation) ResetContactID() { m.contact_id = nil m.addcontact_id = nil delete(m.clearedFields, messagerecords.FieldContactID) } // SetContactType sets the "contact_type" field. func (m *MessageRecordsMutation) SetContactType(i int) { m.contact_type = &i m.addcontact_type = nil } // ContactType returns the value of the "contact_type" field in the mutation. func (m *MessageRecordsMutation) ContactType() (r int, exists bool) { v := m.contact_type if v == nil { return } return *v, true } // OldContactType returns the old "contact_type" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldContactType(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldContactType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldContactType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldContactType: %w", err) } return oldValue.ContactType, nil } // AddContactType adds i to the "contact_type" field. func (m *MessageRecordsMutation) AddContactType(i int) { if m.addcontact_type != nil { *m.addcontact_type += i } else { m.addcontact_type = &i } } // AddedContactType returns the value that was added to the "contact_type" field in this mutation. func (m *MessageRecordsMutation) AddedContactType() (r int, exists bool) { v := m.addcontact_type if v == nil { return } return *v, true } // ResetContactType resets all changes to the "contact_type" field. func (m *MessageRecordsMutation) ResetContactType() { m.contact_type = nil m.addcontact_type = nil } // SetContactWxid sets the "contact_wxid" field. func (m *MessageRecordsMutation) SetContactWxid(s string) { m.contact_wxid = &s } // ContactWxid returns the value of the "contact_wxid" field in the mutation. func (m *MessageRecordsMutation) ContactWxid() (r string, exists bool) { v := m.contact_wxid if v == nil { return } return *v, true } // OldContactWxid returns the old "contact_wxid" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldContactWxid(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldContactWxid is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldContactWxid requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldContactWxid: %w", err) } return oldValue.ContactWxid, nil } // ResetContactWxid resets all changes to the "contact_wxid" field. func (m *MessageRecordsMutation) ResetContactWxid() { m.contact_wxid = nil } // SetContentType sets the "content_type" field. func (m *MessageRecordsMutation) SetContentType(i int) { m.content_type = &i m.addcontent_type = nil } // ContentType returns the value of the "content_type" field in the mutation. func (m *MessageRecordsMutation) ContentType() (r int, exists bool) { v := m.content_type if v == nil { return } return *v, true } // OldContentType returns the old "content_type" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldContentType(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldContentType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldContentType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldContentType: %w", err) } return oldValue.ContentType, nil } // AddContentType adds i to the "content_type" field. func (m *MessageRecordsMutation) AddContentType(i int) { if m.addcontent_type != nil { *m.addcontent_type += i } else { m.addcontent_type = &i } } // AddedContentType returns the value that was added to the "content_type" field in this mutation. func (m *MessageRecordsMutation) AddedContentType() (r int, exists bool) { v := m.addcontent_type if v == nil { return } return *v, true } // ResetContentType resets all changes to the "content_type" field. func (m *MessageRecordsMutation) ResetContentType() { m.content_type = nil m.addcontent_type = nil } // SetContent sets the "content" field. func (m *MessageRecordsMutation) SetContent(s string) { m.content = &s } // Content returns the value of the "content" field in the mutation. func (m *MessageRecordsMutation) 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 MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) 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 *MessageRecordsMutation) ResetContent() { m.content = nil } // SetMeta sets the "meta" field. func (m *MessageRecordsMutation) SetMeta(ct custom_types.Meta) { m.meta = &ct } // Meta returns the value of the "meta" field in the mutation. func (m *MessageRecordsMutation) Meta() (r custom_types.Meta, exists bool) { v := m.meta if v == nil { return } return *v, true } // OldMeta returns the old "meta" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldMeta(ctx context.Context) (v custom_types.Meta, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldMeta is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldMeta requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldMeta: %w", err) } return oldValue.Meta, nil } // ClearMeta clears the value of the "meta" field. func (m *MessageRecordsMutation) ClearMeta() { m.meta = nil m.clearedFields[messagerecords.FieldMeta] = struct{}{} } // MetaCleared returns if the "meta" field was cleared in this mutation. func (m *MessageRecordsMutation) MetaCleared() bool { _, ok := m.clearedFields[messagerecords.FieldMeta] return ok } // ResetMeta resets all changes to the "meta" field. func (m *MessageRecordsMutation) ResetMeta() { m.meta = nil delete(m.clearedFields, messagerecords.FieldMeta) } // SetErrorDetail sets the "error_detail" field. func (m *MessageRecordsMutation) SetErrorDetail(s string) { m.error_detail = &s } // ErrorDetail returns the value of the "error_detail" field in the mutation. func (m *MessageRecordsMutation) ErrorDetail() (r string, exists bool) { v := m.error_detail if v == nil { return } return *v, true } // OldErrorDetail returns the old "error_detail" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldErrorDetail(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldErrorDetail is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldErrorDetail requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldErrorDetail: %w", err) } return oldValue.ErrorDetail, nil } // ResetErrorDetail resets all changes to the "error_detail" field. func (m *MessageRecordsMutation) ResetErrorDetail() { m.error_detail = nil } // SetSendTime sets the "send_time" field. func (m *MessageRecordsMutation) SetSendTime(t time.Time) { m.send_time = &t } // SendTime returns the value of the "send_time" field in the mutation. func (m *MessageRecordsMutation) SendTime() (r time.Time, exists bool) { v := m.send_time if v == nil { return } return *v, true } // OldSendTime returns the old "send_time" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldSendTime(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSendTime is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSendTime requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSendTime: %w", err) } return oldValue.SendTime, nil } // ClearSendTime clears the value of the "send_time" field. func (m *MessageRecordsMutation) ClearSendTime() { m.send_time = nil m.clearedFields[messagerecords.FieldSendTime] = struct{}{} } // SendTimeCleared returns if the "send_time" field was cleared in this mutation. func (m *MessageRecordsMutation) SendTimeCleared() bool { _, ok := m.clearedFields[messagerecords.FieldSendTime] return ok } // ResetSendTime resets all changes to the "send_time" field. func (m *MessageRecordsMutation) ResetSendTime() { m.send_time = nil delete(m.clearedFields, messagerecords.FieldSendTime) } // SetSourceType sets the "source_type" field. func (m *MessageRecordsMutation) SetSourceType(i int) { m.source_type = &i m.addsource_type = nil } // SourceType returns the value of the "source_type" field in the mutation. func (m *MessageRecordsMutation) SourceType() (r int, exists bool) { v := m.source_type if v == nil { return } return *v, true } // OldSourceType returns the old "source_type" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldSourceType(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSourceType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSourceType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSourceType: %w", err) } return oldValue.SourceType, nil } // AddSourceType adds i to the "source_type" field. func (m *MessageRecordsMutation) AddSourceType(i int) { if m.addsource_type != nil { *m.addsource_type += i } else { m.addsource_type = &i } } // AddedSourceType returns the value that was added to the "source_type" field in this mutation. func (m *MessageRecordsMutation) AddedSourceType() (r int, exists bool) { v := m.addsource_type if v == nil { return } return *v, true } // ResetSourceType resets all changes to the "source_type" field. func (m *MessageRecordsMutation) ResetSourceType() { m.source_type = nil m.addsource_type = nil } // SetSourceID sets the "source_id" field. func (m *MessageRecordsMutation) SetSourceID(u uint64) { m.source_id = &u m.addsource_id = nil } // SourceID returns the value of the "source_id" field in the mutation. func (m *MessageRecordsMutation) SourceID() (r uint64, exists bool) { v := m.source_id if v == nil { return } return *v, true } // OldSourceID returns the old "source_id" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldSourceID(ctx context.Context) (v uint64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSourceID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSourceID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSourceID: %w", err) } return oldValue.SourceID, nil } // AddSourceID adds u to the "source_id" field. func (m *MessageRecordsMutation) AddSourceID(u int64) { if m.addsource_id != nil { *m.addsource_id += u } else { m.addsource_id = &u } } // AddedSourceID returns the value that was added to the "source_id" field in this mutation. func (m *MessageRecordsMutation) AddedSourceID() (r int64, exists bool) { v := m.addsource_id if v == nil { return } return *v, true } // ClearSourceID clears the value of the "source_id" field. func (m *MessageRecordsMutation) ClearSourceID() { m.source_id = nil m.addsource_id = nil m.clearedFields[messagerecords.FieldSourceID] = struct{}{} } // SourceIDCleared returns if the "source_id" field was cleared in this mutation. func (m *MessageRecordsMutation) SourceIDCleared() bool { _, ok := m.clearedFields[messagerecords.FieldSourceID] return ok } // ResetSourceID resets all changes to the "source_id" field. func (m *MessageRecordsMutation) ResetSourceID() { m.source_id = nil m.addsource_id = nil delete(m.clearedFields, messagerecords.FieldSourceID) } // SetSubSourceID sets the "sub_source_id" field. func (m *MessageRecordsMutation) SetSubSourceID(u uint64) { m.sub_source_id = &u m.addsub_source_id = nil } // SubSourceID returns the value of the "sub_source_id" field in the mutation. func (m *MessageRecordsMutation) SubSourceID() (r uint64, exists bool) { v := m.sub_source_id if v == nil { return } return *v, true } // OldSubSourceID returns the old "sub_source_id" field's value of the MessageRecords entity. // If the MessageRecords object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *MessageRecordsMutation) OldSubSourceID(ctx context.Context) (v uint64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldSubSourceID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldSubSourceID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldSubSourceID: %w", err) } return oldValue.SubSourceID, nil } // AddSubSourceID adds u to the "sub_source_id" field. func (m *MessageRecordsMutation) AddSubSourceID(u int64) { if m.addsub_source_id != nil { *m.addsub_source_id += u } else { m.addsub_source_id = &u } } // AddedSubSourceID returns the value that was added to the "sub_source_id" field in this mutation. func (m *MessageRecordsMutation) AddedSubSourceID() (r int64, exists bool) { v := m.addsub_source_id if v == nil { return } return *v, true } // ClearSubSourceID clears the value of the "sub_source_id" field. func (m *MessageRecordsMutation) ClearSubSourceID() { m.sub_source_id = nil m.addsub_source_id = nil m.clearedFields[messagerecords.FieldSubSourceID] = struct{}{} } // SubSourceIDCleared returns if the "sub_source_id" field was cleared in this mutation. func (m *MessageRecordsMutation) SubSourceIDCleared() bool { _, ok := m.clearedFields[messagerecords.FieldSubSourceID] return ok } // ResetSubSourceID resets all changes to the "sub_source_id" field. func (m *MessageRecordsMutation) ResetSubSourceID() { m.sub_source_id = nil m.addsub_source_id = nil delete(m.clearedFields, messagerecords.FieldSubSourceID) } // Where appends a list predicates to the MessageRecordsMutation builder. func (m *MessageRecordsMutation) Where(ps ...predicate.MessageRecords) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the MessageRecordsMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *MessageRecordsMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.MessageRecords, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *MessageRecordsMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *MessageRecordsMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (MessageRecords). func (m *MessageRecordsMutation) 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 *MessageRecordsMutation) Fields() []string { fields := make([]string, 0, 15) if m.created_at != nil { fields = append(fields, messagerecords.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, messagerecords.FieldUpdatedAt) } if m.status != nil { fields = append(fields, messagerecords.FieldStatus) } if m.bot_wxid != nil { fields = append(fields, messagerecords.FieldBotWxid) } if m.contact_id != nil { fields = append(fields, messagerecords.FieldContactID) } if m.contact_type != nil { fields = append(fields, messagerecords.FieldContactType) } if m.contact_wxid != nil { fields = append(fields, messagerecords.FieldContactWxid) } if m.content_type != nil { fields = append(fields, messagerecords.FieldContentType) } if m.content != nil { fields = append(fields, messagerecords.FieldContent) } if m.meta != nil { fields = append(fields, messagerecords.FieldMeta) } if m.error_detail != nil { fields = append(fields, messagerecords.FieldErrorDetail) } if m.send_time != nil { fields = append(fields, messagerecords.FieldSendTime) } if m.source_type != nil { fields = append(fields, messagerecords.FieldSourceType) } if m.source_id != nil { fields = append(fields, messagerecords.FieldSourceID) } if m.sub_source_id != nil { fields = append(fields, messagerecords.FieldSubSourceID) } 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 *MessageRecordsMutation) Field(name string) (ent.Value, bool) { switch name { case messagerecords.FieldCreatedAt: return m.CreatedAt() case messagerecords.FieldUpdatedAt: return m.UpdatedAt() case messagerecords.FieldStatus: return m.Status() case messagerecords.FieldBotWxid: return m.BotWxid() case messagerecords.FieldContactID: return m.ContactID() case messagerecords.FieldContactType: return m.ContactType() case messagerecords.FieldContactWxid: return m.ContactWxid() case messagerecords.FieldContentType: return m.ContentType() case messagerecords.FieldContent: return m.Content() case messagerecords.FieldMeta: return m.Meta() case messagerecords.FieldErrorDetail: return m.ErrorDetail() case messagerecords.FieldSendTime: return m.SendTime() case messagerecords.FieldSourceType: return m.SourceType() case messagerecords.FieldSourceID: return m.SourceID() case messagerecords.FieldSubSourceID: return m.SubSourceID() } 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 *MessageRecordsMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case messagerecords.FieldCreatedAt: return m.OldCreatedAt(ctx) case messagerecords.FieldUpdatedAt: return m.OldUpdatedAt(ctx) case messagerecords.FieldStatus: return m.OldStatus(ctx) case messagerecords.FieldBotWxid: return m.OldBotWxid(ctx) case messagerecords.FieldContactID: return m.OldContactID(ctx) case messagerecords.FieldContactType: return m.OldContactType(ctx) case messagerecords.FieldContactWxid: return m.OldContactWxid(ctx) case messagerecords.FieldContentType: return m.OldContentType(ctx) case messagerecords.FieldContent: return m.OldContent(ctx) case messagerecords.FieldMeta: return m.OldMeta(ctx) case messagerecords.FieldErrorDetail: return m.OldErrorDetail(ctx) case messagerecords.FieldSendTime: return m.OldSendTime(ctx) case messagerecords.FieldSourceType: return m.OldSourceType(ctx) case messagerecords.FieldSourceID: return m.OldSourceID(ctx) case messagerecords.FieldSubSourceID: return m.OldSubSourceID(ctx) } return nil, fmt.Errorf("unknown MessageRecords 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 *MessageRecordsMutation) SetField(name string, value ent.Value) error { switch name { case messagerecords.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 messagerecords.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 messagerecords.FieldStatus: v, ok := value.(uint8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case messagerecords.FieldBotWxid: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetBotWxid(v) return nil case messagerecords.FieldContactID: v, ok := value.(uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContactID(v) return nil case messagerecords.FieldContactType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContactType(v) return nil case messagerecords.FieldContactWxid: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContactWxid(v) return nil case messagerecords.FieldContentType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContentType(v) return nil case messagerecords.FieldContent: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetContent(v) return nil case messagerecords.FieldMeta: v, ok := value.(custom_types.Meta) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetMeta(v) return nil case messagerecords.FieldErrorDetail: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetErrorDetail(v) return nil case messagerecords.FieldSendTime: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSendTime(v) return nil case messagerecords.FieldSourceType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSourceType(v) return nil case messagerecords.FieldSourceID: v, ok := value.(uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSourceID(v) return nil case messagerecords.FieldSubSourceID: v, ok := value.(uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetSubSourceID(v) return nil } return fmt.Errorf("unknown MessageRecords field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *MessageRecordsMutation) AddedFields() []string { var fields []string if m.addstatus != nil { fields = append(fields, messagerecords.FieldStatus) } if m.addcontact_id != nil { fields = append(fields, messagerecords.FieldContactID) } if m.addcontact_type != nil { fields = append(fields, messagerecords.FieldContactType) } if m.addcontent_type != nil { fields = append(fields, messagerecords.FieldContentType) } if m.addsource_type != nil { fields = append(fields, messagerecords.FieldSourceType) } if m.addsource_id != nil { fields = append(fields, messagerecords.FieldSourceID) } if m.addsub_source_id != nil { fields = append(fields, messagerecords.FieldSubSourceID) } 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 *MessageRecordsMutation) AddedField(name string) (ent.Value, bool) { switch name { case messagerecords.FieldStatus: return m.AddedStatus() case messagerecords.FieldContactID: return m.AddedContactID() case messagerecords.FieldContactType: return m.AddedContactType() case messagerecords.FieldContentType: return m.AddedContentType() case messagerecords.FieldSourceType: return m.AddedSourceType() case messagerecords.FieldSourceID: return m.AddedSourceID() case messagerecords.FieldSubSourceID: return m.AddedSubSourceID() } 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 *MessageRecordsMutation) AddField(name string, value ent.Value) error { switch name { case messagerecords.FieldStatus: v, ok := value.(int8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddStatus(v) return nil case messagerecords.FieldContactID: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddContactID(v) return nil case messagerecords.FieldContactType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddContactType(v) return nil case messagerecords.FieldContentType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddContentType(v) return nil case messagerecords.FieldSourceType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddSourceType(v) return nil case messagerecords.FieldSourceID: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddSourceID(v) return nil case messagerecords.FieldSubSourceID: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddSubSourceID(v) return nil } return fmt.Errorf("unknown MessageRecords numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *MessageRecordsMutation) ClearedFields() []string { var fields []string if m.FieldCleared(messagerecords.FieldStatus) { fields = append(fields, messagerecords.FieldStatus) } if m.FieldCleared(messagerecords.FieldContactID) { fields = append(fields, messagerecords.FieldContactID) } if m.FieldCleared(messagerecords.FieldMeta) { fields = append(fields, messagerecords.FieldMeta) } if m.FieldCleared(messagerecords.FieldSendTime) { fields = append(fields, messagerecords.FieldSendTime) } if m.FieldCleared(messagerecords.FieldSourceID) { fields = append(fields, messagerecords.FieldSourceID) } if m.FieldCleared(messagerecords.FieldSubSourceID) { fields = append(fields, messagerecords.FieldSubSourceID) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *MessageRecordsMutation) 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 *MessageRecordsMutation) ClearField(name string) error { switch name { case messagerecords.FieldStatus: m.ClearStatus() return nil case messagerecords.FieldContactID: m.ClearContactID() return nil case messagerecords.FieldMeta: m.ClearMeta() return nil case messagerecords.FieldSendTime: m.ClearSendTime() return nil case messagerecords.FieldSourceID: m.ClearSourceID() return nil case messagerecords.FieldSubSourceID: m.ClearSubSourceID() return nil } return fmt.Errorf("unknown MessageRecords 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 *MessageRecordsMutation) ResetField(name string) error { switch name { case messagerecords.FieldCreatedAt: m.ResetCreatedAt() return nil case messagerecords.FieldUpdatedAt: m.ResetUpdatedAt() return nil case messagerecords.FieldStatus: m.ResetStatus() return nil case messagerecords.FieldBotWxid: m.ResetBotWxid() return nil case messagerecords.FieldContactID: m.ResetContactID() return nil case messagerecords.FieldContactType: m.ResetContactType() return nil case messagerecords.FieldContactWxid: m.ResetContactWxid() return nil case messagerecords.FieldContentType: m.ResetContentType() return nil case messagerecords.FieldContent: m.ResetContent() return nil case messagerecords.FieldMeta: m.ResetMeta() return nil case messagerecords.FieldErrorDetail: m.ResetErrorDetail() return nil case messagerecords.FieldSendTime: m.ResetSendTime() return nil case messagerecords.FieldSourceType: m.ResetSourceType() return nil case messagerecords.FieldSourceID: m.ResetSourceID() return nil case messagerecords.FieldSubSourceID: m.ResetSubSourceID() return nil } return fmt.Errorf("unknown MessageRecords field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *MessageRecordsMutation) 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 *MessageRecordsMutation) AddedIDs(name string) []ent.Value { return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *MessageRecordsMutation) 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 *MessageRecordsMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *MessageRecordsMutation) 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 *MessageRecordsMutation) 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 *MessageRecordsMutation) ClearEdge(name string) error { return fmt.Errorf("unknown MessageRecords 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 *MessageRecordsMutation) ResetEdge(name string) error { return fmt.Errorf("unknown MessageRecords edge %s", name) } // SopNodeMutation represents an operation that mutates the SopNode nodes in the graph. type SopNodeMutation struct { config op Op typ string id *uint64 created_at *time.Time updated_at *time.Time status *uint8 addstatus *int8 parent_id *uint64 addparent_id *int64 name *string condition_type *int addcondition_type *int condition_list *[]string appendcondition_list []string no_reply_condition *uint64 addno_reply_condition *int64 action_message *[]custom_types.Action appendaction_message []custom_types.Action action_label *[]uint64 appendaction_label []uint64 deleted_at *time.Time clearedFields map[string]struct{} sop_stage *uint64 clearedsop_stage bool node_messages map[uint64]struct{} removednode_messages map[uint64]struct{} clearednode_messages bool done bool oldValue func(context.Context) (*SopNode, error) predicates []predicate.SopNode } var _ ent.Mutation = (*SopNodeMutation)(nil) // sopnodeOption allows management of the mutation configuration using functional options. type sopnodeOption func(*SopNodeMutation) // newSopNodeMutation creates new mutation for the SopNode entity. func newSopNodeMutation(c config, op Op, opts ...sopnodeOption) *SopNodeMutation { m := &SopNodeMutation{ config: c, op: op, typ: TypeSopNode, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withSopNodeID sets the ID field of the mutation. func withSopNodeID(id uint64) sopnodeOption { return func(m *SopNodeMutation) { var ( err error once sync.Once value *SopNode ) m.oldValue = func(ctx context.Context) (*SopNode, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().SopNode.Get(ctx, id) } }) return value, err } m.id = &id } } // withSopNode sets the old SopNode of the mutation. func withSopNode(node *SopNode) sopnodeOption { return func(m *SopNodeMutation) { m.oldValue = func(context.Context) (*SopNode, 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 SopNodeMutation) 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 SopNodeMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("ent: mutation is not running in a transaction") } tx := &Tx{config: m.config} tx.init() return tx, nil } // SetID sets the value of the id field. Note that this // operation is only accepted on creation of SopNode entities. func (m *SopNodeMutation) SetID(id uint64) { 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 *SopNodeMutation) ID() (id uint64, 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 *SopNodeMutation) IDs(ctx context.Context) ([]uint64, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uint64{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().SopNode.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetCreatedAt sets the "created_at" field. func (m *SopNodeMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *SopNodeMutation) 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 SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) 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 *SopNodeMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *SopNodeMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *SopNodeMutation) 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 SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) 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 *SopNodeMutation) ResetUpdatedAt() { m.updated_at = nil } // SetStatus sets the "status" field. func (m *SopNodeMutation) SetStatus(u uint8) { m.status = &u m.addstatus = nil } // Status returns the value of the "status" field in the mutation. func (m *SopNodeMutation) Status() (r uint8, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) OldStatus(ctx context.Context) (v uint8, 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 } // AddStatus adds u to the "status" field. func (m *SopNodeMutation) AddStatus(u int8) { if m.addstatus != nil { *m.addstatus += u } else { m.addstatus = &u } } // AddedStatus returns the value that was added to the "status" field in this mutation. func (m *SopNodeMutation) AddedStatus() (r int8, exists bool) { v := m.addstatus if v == nil { return } return *v, true } // ClearStatus clears the value of the "status" field. func (m *SopNodeMutation) ClearStatus() { m.status = nil m.addstatus = nil m.clearedFields[sopnode.FieldStatus] = struct{}{} } // StatusCleared returns if the "status" field was cleared in this mutation. func (m *SopNodeMutation) StatusCleared() bool { _, ok := m.clearedFields[sopnode.FieldStatus] return ok } // ResetStatus resets all changes to the "status" field. func (m *SopNodeMutation) ResetStatus() { m.status = nil m.addstatus = nil delete(m.clearedFields, sopnode.FieldStatus) } // SetStageID sets the "stage_id" field. func (m *SopNodeMutation) SetStageID(u uint64) { m.sop_stage = &u } // StageID returns the value of the "stage_id" field in the mutation. func (m *SopNodeMutation) StageID() (r uint64, exists bool) { v := m.sop_stage if v == nil { return } return *v, true } // OldStageID returns the old "stage_id" field's value of the SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) OldStageID(ctx context.Context) (v uint64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldStageID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldStageID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldStageID: %w", err) } return oldValue.StageID, nil } // ResetStageID resets all changes to the "stage_id" field. func (m *SopNodeMutation) ResetStageID() { m.sop_stage = nil } // SetParentID sets the "parent_id" field. func (m *SopNodeMutation) SetParentID(u uint64) { m.parent_id = &u m.addparent_id = nil } // ParentID returns the value of the "parent_id" field in the mutation. func (m *SopNodeMutation) ParentID() (r uint64, exists bool) { v := m.parent_id if v == nil { return } return *v, true } // OldParentID returns the old "parent_id" field's value of the SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) OldParentID(ctx context.Context) (v uint64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldParentID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldParentID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldParentID: %w", err) } return oldValue.ParentID, nil } // AddParentID adds u to the "parent_id" field. func (m *SopNodeMutation) AddParentID(u int64) { if m.addparent_id != nil { *m.addparent_id += u } else { m.addparent_id = &u } } // AddedParentID returns the value that was added to the "parent_id" field in this mutation. func (m *SopNodeMutation) AddedParentID() (r int64, exists bool) { v := m.addparent_id if v == nil { return } return *v, true } // ResetParentID resets all changes to the "parent_id" field. func (m *SopNodeMutation) ResetParentID() { m.parent_id = nil m.addparent_id = nil } // SetName sets the "name" field. func (m *SopNodeMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *SopNodeMutation) 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 SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) 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 *SopNodeMutation) ResetName() { m.name = nil } // SetConditionType sets the "condition_type" field. func (m *SopNodeMutation) SetConditionType(i int) { m.condition_type = &i m.addcondition_type = nil } // ConditionType returns the value of the "condition_type" field in the mutation. func (m *SopNodeMutation) ConditionType() (r int, exists bool) { v := m.condition_type if v == nil { return } return *v, true } // OldConditionType returns the old "condition_type" field's value of the SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) OldConditionType(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldConditionType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldConditionType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldConditionType: %w", err) } return oldValue.ConditionType, nil } // AddConditionType adds i to the "condition_type" field. func (m *SopNodeMutation) AddConditionType(i int) { if m.addcondition_type != nil { *m.addcondition_type += i } else { m.addcondition_type = &i } } // AddedConditionType returns the value that was added to the "condition_type" field in this mutation. func (m *SopNodeMutation) AddedConditionType() (r int, exists bool) { v := m.addcondition_type if v == nil { return } return *v, true } // ResetConditionType resets all changes to the "condition_type" field. func (m *SopNodeMutation) ResetConditionType() { m.condition_type = nil m.addcondition_type = nil } // SetConditionList sets the "condition_list" field. func (m *SopNodeMutation) SetConditionList(s []string) { m.condition_list = &s m.appendcondition_list = nil } // ConditionList returns the value of the "condition_list" field in the mutation. func (m *SopNodeMutation) ConditionList() (r []string, exists bool) { v := m.condition_list if v == nil { return } return *v, true } // OldConditionList returns the old "condition_list" field's value of the SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) OldConditionList(ctx context.Context) (v []string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldConditionList is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldConditionList requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldConditionList: %w", err) } return oldValue.ConditionList, nil } // AppendConditionList adds s to the "condition_list" field. func (m *SopNodeMutation) AppendConditionList(s []string) { m.appendcondition_list = append(m.appendcondition_list, s...) } // AppendedConditionList returns the list of values that were appended to the "condition_list" field in this mutation. func (m *SopNodeMutation) AppendedConditionList() ([]string, bool) { if len(m.appendcondition_list) == 0 { return nil, false } return m.appendcondition_list, true } // ClearConditionList clears the value of the "condition_list" field. func (m *SopNodeMutation) ClearConditionList() { m.condition_list = nil m.appendcondition_list = nil m.clearedFields[sopnode.FieldConditionList] = struct{}{} } // ConditionListCleared returns if the "condition_list" field was cleared in this mutation. func (m *SopNodeMutation) ConditionListCleared() bool { _, ok := m.clearedFields[sopnode.FieldConditionList] return ok } // ResetConditionList resets all changes to the "condition_list" field. func (m *SopNodeMutation) ResetConditionList() { m.condition_list = nil m.appendcondition_list = nil delete(m.clearedFields, sopnode.FieldConditionList) } // SetNoReplyCondition sets the "no_reply_condition" field. func (m *SopNodeMutation) SetNoReplyCondition(u uint64) { m.no_reply_condition = &u m.addno_reply_condition = nil } // NoReplyCondition returns the value of the "no_reply_condition" field in the mutation. func (m *SopNodeMutation) NoReplyCondition() (r uint64, exists bool) { v := m.no_reply_condition if v == nil { return } return *v, true } // OldNoReplyCondition returns the old "no_reply_condition" field's value of the SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) OldNoReplyCondition(ctx context.Context) (v uint64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldNoReplyCondition is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldNoReplyCondition requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldNoReplyCondition: %w", err) } return oldValue.NoReplyCondition, nil } // AddNoReplyCondition adds u to the "no_reply_condition" field. func (m *SopNodeMutation) AddNoReplyCondition(u int64) { if m.addno_reply_condition != nil { *m.addno_reply_condition += u } else { m.addno_reply_condition = &u } } // AddedNoReplyCondition returns the value that was added to the "no_reply_condition" field in this mutation. func (m *SopNodeMutation) AddedNoReplyCondition() (r int64, exists bool) { v := m.addno_reply_condition if v == nil { return } return *v, true } // ResetNoReplyCondition resets all changes to the "no_reply_condition" field. func (m *SopNodeMutation) ResetNoReplyCondition() { m.no_reply_condition = nil m.addno_reply_condition = nil } // SetActionMessage sets the "action_message" field. func (m *SopNodeMutation) SetActionMessage(ct []custom_types.Action) { m.action_message = &ct m.appendaction_message = nil } // ActionMessage returns the value of the "action_message" field in the mutation. func (m *SopNodeMutation) ActionMessage() (r []custom_types.Action, exists bool) { v := m.action_message if v == nil { return } return *v, true } // OldActionMessage returns the old "action_message" field's value of the SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) OldActionMessage(ctx context.Context) (v []custom_types.Action, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldActionMessage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldActionMessage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldActionMessage: %w", err) } return oldValue.ActionMessage, nil } // AppendActionMessage adds ct to the "action_message" field. func (m *SopNodeMutation) AppendActionMessage(ct []custom_types.Action) { m.appendaction_message = append(m.appendaction_message, ct...) } // AppendedActionMessage returns the list of values that were appended to the "action_message" field in this mutation. func (m *SopNodeMutation) AppendedActionMessage() ([]custom_types.Action, bool) { if len(m.appendaction_message) == 0 { return nil, false } return m.appendaction_message, true } // ClearActionMessage clears the value of the "action_message" field. func (m *SopNodeMutation) ClearActionMessage() { m.action_message = nil m.appendaction_message = nil m.clearedFields[sopnode.FieldActionMessage] = struct{}{} } // ActionMessageCleared returns if the "action_message" field was cleared in this mutation. func (m *SopNodeMutation) ActionMessageCleared() bool { _, ok := m.clearedFields[sopnode.FieldActionMessage] return ok } // ResetActionMessage resets all changes to the "action_message" field. func (m *SopNodeMutation) ResetActionMessage() { m.action_message = nil m.appendaction_message = nil delete(m.clearedFields, sopnode.FieldActionMessage) } // SetActionLabel sets the "action_label" field. func (m *SopNodeMutation) SetActionLabel(u []uint64) { m.action_label = &u m.appendaction_label = nil } // ActionLabel returns the value of the "action_label" field in the mutation. func (m *SopNodeMutation) ActionLabel() (r []uint64, exists bool) { v := m.action_label if v == nil { return } return *v, true } // OldActionLabel returns the old "action_label" field's value of the SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) OldActionLabel(ctx context.Context) (v []uint64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldActionLabel is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldActionLabel requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldActionLabel: %w", err) } return oldValue.ActionLabel, nil } // AppendActionLabel adds u to the "action_label" field. func (m *SopNodeMutation) AppendActionLabel(u []uint64) { m.appendaction_label = append(m.appendaction_label, u...) } // AppendedActionLabel returns the list of values that were appended to the "action_label" field in this mutation. func (m *SopNodeMutation) AppendedActionLabel() ([]uint64, bool) { if len(m.appendaction_label) == 0 { return nil, false } return m.appendaction_label, true } // ClearActionLabel clears the value of the "action_label" field. func (m *SopNodeMutation) ClearActionLabel() { m.action_label = nil m.appendaction_label = nil m.clearedFields[sopnode.FieldActionLabel] = struct{}{} } // ActionLabelCleared returns if the "action_label" field was cleared in this mutation. func (m *SopNodeMutation) ActionLabelCleared() bool { _, ok := m.clearedFields[sopnode.FieldActionLabel] return ok } // ResetActionLabel resets all changes to the "action_label" field. func (m *SopNodeMutation) ResetActionLabel() { m.action_label = nil m.appendaction_label = nil delete(m.clearedFields, sopnode.FieldActionLabel) } // SetDeletedAt sets the "deleted_at" field. func (m *SopNodeMutation) SetDeletedAt(t time.Time) { m.deleted_at = &t } // DeletedAt returns the value of the "deleted_at" field in the mutation. func (m *SopNodeMutation) 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 SopNode entity. // If the SopNode object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopNodeMutation) 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 *SopNodeMutation) ClearDeletedAt() { m.deleted_at = nil m.clearedFields[sopnode.FieldDeletedAt] = struct{}{} } // DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation. func (m *SopNodeMutation) DeletedAtCleared() bool { _, ok := m.clearedFields[sopnode.FieldDeletedAt] return ok } // ResetDeletedAt resets all changes to the "deleted_at" field. func (m *SopNodeMutation) ResetDeletedAt() { m.deleted_at = nil delete(m.clearedFields, sopnode.FieldDeletedAt) } // SetSopStageID sets the "sop_stage" edge to the SopStage entity by id. func (m *SopNodeMutation) SetSopStageID(id uint64) { m.sop_stage = &id } // ClearSopStage clears the "sop_stage" edge to the SopStage entity. func (m *SopNodeMutation) ClearSopStage() { m.clearedsop_stage = true m.clearedFields[sopnode.FieldStageID] = struct{}{} } // SopStageCleared reports if the "sop_stage" edge to the SopStage entity was cleared. func (m *SopNodeMutation) SopStageCleared() bool { return m.clearedsop_stage } // SopStageID returns the "sop_stage" edge ID in the mutation. func (m *SopNodeMutation) SopStageID() (id uint64, exists bool) { if m.sop_stage != nil { return *m.sop_stage, true } return } // SopStageIDs returns the "sop_stage" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // SopStageID instead. It exists only for internal usage by the builders. func (m *SopNodeMutation) SopStageIDs() (ids []uint64) { if id := m.sop_stage; id != nil { ids = append(ids, *id) } return } // ResetSopStage resets all changes to the "sop_stage" edge. func (m *SopNodeMutation) ResetSopStage() { m.sop_stage = nil m.clearedsop_stage = false } // AddNodeMessageIDs adds the "node_messages" edge to the MessageRecords entity by ids. func (m *SopNodeMutation) AddNodeMessageIDs(ids ...uint64) { if m.node_messages == nil { m.node_messages = make(map[uint64]struct{}) } for i := range ids { m.node_messages[ids[i]] = struct{}{} } } // ClearNodeMessages clears the "node_messages" edge to the MessageRecords entity. func (m *SopNodeMutation) ClearNodeMessages() { m.clearednode_messages = true } // NodeMessagesCleared reports if the "node_messages" edge to the MessageRecords entity was cleared. func (m *SopNodeMutation) NodeMessagesCleared() bool { return m.clearednode_messages } // RemoveNodeMessageIDs removes the "node_messages" edge to the MessageRecords entity by IDs. func (m *SopNodeMutation) RemoveNodeMessageIDs(ids ...uint64) { if m.removednode_messages == nil { m.removednode_messages = make(map[uint64]struct{}) } for i := range ids { delete(m.node_messages, ids[i]) m.removednode_messages[ids[i]] = struct{}{} } } // RemovedNodeMessages returns the removed IDs of the "node_messages" edge to the MessageRecords entity. func (m *SopNodeMutation) RemovedNodeMessagesIDs() (ids []uint64) { for id := range m.removednode_messages { ids = append(ids, id) } return } // NodeMessagesIDs returns the "node_messages" edge IDs in the mutation. func (m *SopNodeMutation) NodeMessagesIDs() (ids []uint64) { for id := range m.node_messages { ids = append(ids, id) } return } // ResetNodeMessages resets all changes to the "node_messages" edge. func (m *SopNodeMutation) ResetNodeMessages() { m.node_messages = nil m.clearednode_messages = false m.removednode_messages = nil } // Where appends a list predicates to the SopNodeMutation builder. func (m *SopNodeMutation) Where(ps ...predicate.SopNode) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the SopNodeMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *SopNodeMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.SopNode, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *SopNodeMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *SopNodeMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (SopNode). func (m *SopNodeMutation) 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 *SopNodeMutation) Fields() []string { fields := make([]string, 0, 12) if m.created_at != nil { fields = append(fields, sopnode.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, sopnode.FieldUpdatedAt) } if m.status != nil { fields = append(fields, sopnode.FieldStatus) } if m.sop_stage != nil { fields = append(fields, sopnode.FieldStageID) } if m.parent_id != nil { fields = append(fields, sopnode.FieldParentID) } if m.name != nil { fields = append(fields, sopnode.FieldName) } if m.condition_type != nil { fields = append(fields, sopnode.FieldConditionType) } if m.condition_list != nil { fields = append(fields, sopnode.FieldConditionList) } if m.no_reply_condition != nil { fields = append(fields, sopnode.FieldNoReplyCondition) } if m.action_message != nil { fields = append(fields, sopnode.FieldActionMessage) } if m.action_label != nil { fields = append(fields, sopnode.FieldActionLabel) } if m.deleted_at != nil { fields = append(fields, sopnode.FieldDeletedAt) } 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 *SopNodeMutation) Field(name string) (ent.Value, bool) { switch name { case sopnode.FieldCreatedAt: return m.CreatedAt() case sopnode.FieldUpdatedAt: return m.UpdatedAt() case sopnode.FieldStatus: return m.Status() case sopnode.FieldStageID: return m.StageID() case sopnode.FieldParentID: return m.ParentID() case sopnode.FieldName: return m.Name() case sopnode.FieldConditionType: return m.ConditionType() case sopnode.FieldConditionList: return m.ConditionList() case sopnode.FieldNoReplyCondition: return m.NoReplyCondition() case sopnode.FieldActionMessage: return m.ActionMessage() case sopnode.FieldActionLabel: return m.ActionLabel() case sopnode.FieldDeletedAt: return m.DeletedAt() } 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 *SopNodeMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case sopnode.FieldCreatedAt: return m.OldCreatedAt(ctx) case sopnode.FieldUpdatedAt: return m.OldUpdatedAt(ctx) case sopnode.FieldStatus: return m.OldStatus(ctx) case sopnode.FieldStageID: return m.OldStageID(ctx) case sopnode.FieldParentID: return m.OldParentID(ctx) case sopnode.FieldName: return m.OldName(ctx) case sopnode.FieldConditionType: return m.OldConditionType(ctx) case sopnode.FieldConditionList: return m.OldConditionList(ctx) case sopnode.FieldNoReplyCondition: return m.OldNoReplyCondition(ctx) case sopnode.FieldActionMessage: return m.OldActionMessage(ctx) case sopnode.FieldActionLabel: return m.OldActionLabel(ctx) case sopnode.FieldDeletedAt: return m.OldDeletedAt(ctx) } return nil, fmt.Errorf("unknown SopNode 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 *SopNodeMutation) SetField(name string, value ent.Value) error { switch name { case sopnode.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 sopnode.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 sopnode.FieldStatus: v, ok := value.(uint8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case sopnode.FieldStageID: v, ok := value.(uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStageID(v) return nil case sopnode.FieldParentID: v, ok := value.(uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetParentID(v) return nil case sopnode.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case sopnode.FieldConditionType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetConditionType(v) return nil case sopnode.FieldConditionList: v, ok := value.([]string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetConditionList(v) return nil case sopnode.FieldNoReplyCondition: v, ok := value.(uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetNoReplyCondition(v) return nil case sopnode.FieldActionMessage: v, ok := value.([]custom_types.Action) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetActionMessage(v) return nil case sopnode.FieldActionLabel: v, ok := value.([]uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetActionLabel(v) return nil case sopnode.FieldDeletedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDeletedAt(v) return nil } return fmt.Errorf("unknown SopNode field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *SopNodeMutation) AddedFields() []string { var fields []string if m.addstatus != nil { fields = append(fields, sopnode.FieldStatus) } if m.addparent_id != nil { fields = append(fields, sopnode.FieldParentID) } if m.addcondition_type != nil { fields = append(fields, sopnode.FieldConditionType) } if m.addno_reply_condition != nil { fields = append(fields, sopnode.FieldNoReplyCondition) } 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 *SopNodeMutation) AddedField(name string) (ent.Value, bool) { switch name { case sopnode.FieldStatus: return m.AddedStatus() case sopnode.FieldParentID: return m.AddedParentID() case sopnode.FieldConditionType: return m.AddedConditionType() case sopnode.FieldNoReplyCondition: return m.AddedNoReplyCondition() } 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 *SopNodeMutation) AddField(name string, value ent.Value) error { switch name { case sopnode.FieldStatus: v, ok := value.(int8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddStatus(v) return nil case sopnode.FieldParentID: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddParentID(v) return nil case sopnode.FieldConditionType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddConditionType(v) return nil case sopnode.FieldNoReplyCondition: v, ok := value.(int64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddNoReplyCondition(v) return nil } return fmt.Errorf("unknown SopNode numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *SopNodeMutation) ClearedFields() []string { var fields []string if m.FieldCleared(sopnode.FieldStatus) { fields = append(fields, sopnode.FieldStatus) } if m.FieldCleared(sopnode.FieldConditionList) { fields = append(fields, sopnode.FieldConditionList) } if m.FieldCleared(sopnode.FieldActionMessage) { fields = append(fields, sopnode.FieldActionMessage) } if m.FieldCleared(sopnode.FieldActionLabel) { fields = append(fields, sopnode.FieldActionLabel) } if m.FieldCleared(sopnode.FieldDeletedAt) { fields = append(fields, sopnode.FieldDeletedAt) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *SopNodeMutation) 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 *SopNodeMutation) ClearField(name string) error { switch name { case sopnode.FieldStatus: m.ClearStatus() return nil case sopnode.FieldConditionList: m.ClearConditionList() return nil case sopnode.FieldActionMessage: m.ClearActionMessage() return nil case sopnode.FieldActionLabel: m.ClearActionLabel() return nil case sopnode.FieldDeletedAt: m.ClearDeletedAt() return nil } return fmt.Errorf("unknown SopNode 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 *SopNodeMutation) ResetField(name string) error { switch name { case sopnode.FieldCreatedAt: m.ResetCreatedAt() return nil case sopnode.FieldUpdatedAt: m.ResetUpdatedAt() return nil case sopnode.FieldStatus: m.ResetStatus() return nil case sopnode.FieldStageID: m.ResetStageID() return nil case sopnode.FieldParentID: m.ResetParentID() return nil case sopnode.FieldName: m.ResetName() return nil case sopnode.FieldConditionType: m.ResetConditionType() return nil case sopnode.FieldConditionList: m.ResetConditionList() return nil case sopnode.FieldNoReplyCondition: m.ResetNoReplyCondition() return nil case sopnode.FieldActionMessage: m.ResetActionMessage() return nil case sopnode.FieldActionLabel: m.ResetActionLabel() return nil case sopnode.FieldDeletedAt: m.ResetDeletedAt() return nil } return fmt.Errorf("unknown SopNode field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *SopNodeMutation) AddedEdges() []string { edges := make([]string, 0, 2) if m.sop_stage != nil { edges = append(edges, sopnode.EdgeSopStage) } if m.node_messages != nil { edges = append(edges, sopnode.EdgeNodeMessages) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *SopNodeMutation) AddedIDs(name string) []ent.Value { switch name { case sopnode.EdgeSopStage: if id := m.sop_stage; id != nil { return []ent.Value{*id} } case sopnode.EdgeNodeMessages: ids := make([]ent.Value, 0, len(m.node_messages)) for id := range m.node_messages { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *SopNodeMutation) RemovedEdges() []string { edges := make([]string, 0, 2) if m.removednode_messages != nil { edges = append(edges, sopnode.EdgeNodeMessages) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *SopNodeMutation) RemovedIDs(name string) []ent.Value { switch name { case sopnode.EdgeNodeMessages: ids := make([]ent.Value, 0, len(m.removednode_messages)) for id := range m.removednode_messages { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *SopNodeMutation) ClearedEdges() []string { edges := make([]string, 0, 2) if m.clearedsop_stage { edges = append(edges, sopnode.EdgeSopStage) } if m.clearednode_messages { edges = append(edges, sopnode.EdgeNodeMessages) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *SopNodeMutation) EdgeCleared(name string) bool { switch name { case sopnode.EdgeSopStage: return m.clearedsop_stage case sopnode.EdgeNodeMessages: return m.clearednode_messages } 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 *SopNodeMutation) ClearEdge(name string) error { switch name { case sopnode.EdgeSopStage: m.ClearSopStage() return nil } return fmt.Errorf("unknown SopNode 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 *SopNodeMutation) ResetEdge(name string) error { switch name { case sopnode.EdgeSopStage: m.ResetSopStage() return nil case sopnode.EdgeNodeMessages: m.ResetNodeMessages() return nil } return fmt.Errorf("unknown SopNode edge %s", name) } // SopStageMutation represents an operation that mutates the SopStage nodes in the graph. type SopStageMutation struct { config op Op typ string id *uint64 created_at *time.Time updated_at *time.Time status *uint8 addstatus *int8 name *string condition_type *int addcondition_type *int condition_operator *int addcondition_operator *int condition_list *[]custom_types.Condition appendcondition_list []custom_types.Condition action_message *[]custom_types.Action appendaction_message []custom_types.Action action_label *[]uint64 appendaction_label []uint64 index_sort *int addindex_sort *int deleted_at *time.Time clearedFields map[string]struct{} sop_task *uint64 clearedsop_task bool stage_nodes map[uint64]struct{} removedstage_nodes map[uint64]struct{} clearedstage_nodes bool stage_messages map[uint64]struct{} removedstage_messages map[uint64]struct{} clearedstage_messages bool done bool oldValue func(context.Context) (*SopStage, error) predicates []predicate.SopStage } var _ ent.Mutation = (*SopStageMutation)(nil) // sopstageOption allows management of the mutation configuration using functional options. type sopstageOption func(*SopStageMutation) // newSopStageMutation creates new mutation for the SopStage entity. func newSopStageMutation(c config, op Op, opts ...sopstageOption) *SopStageMutation { m := &SopStageMutation{ config: c, op: op, typ: TypeSopStage, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withSopStageID sets the ID field of the mutation. func withSopStageID(id uint64) sopstageOption { return func(m *SopStageMutation) { var ( err error once sync.Once value *SopStage ) m.oldValue = func(ctx context.Context) (*SopStage, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().SopStage.Get(ctx, id) } }) return value, err } m.id = &id } } // withSopStage sets the old SopStage of the mutation. func withSopStage(node *SopStage) sopstageOption { return func(m *SopStageMutation) { m.oldValue = func(context.Context) (*SopStage, 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 SopStageMutation) 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 SopStageMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("ent: mutation is not running in a transaction") } tx := &Tx{config: m.config} tx.init() return tx, nil } // SetID sets the value of the id field. Note that this // operation is only accepted on creation of SopStage entities. func (m *SopStageMutation) SetID(id uint64) { 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 *SopStageMutation) ID() (id uint64, 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 *SopStageMutation) IDs(ctx context.Context) ([]uint64, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uint64{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().SopStage.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetCreatedAt sets the "created_at" field. func (m *SopStageMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *SopStageMutation) 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 SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) 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 *SopStageMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *SopStageMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *SopStageMutation) 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 SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) 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 *SopStageMutation) ResetUpdatedAt() { m.updated_at = nil } // SetStatus sets the "status" field. func (m *SopStageMutation) SetStatus(u uint8) { m.status = &u m.addstatus = nil } // Status returns the value of the "status" field in the mutation. func (m *SopStageMutation) Status() (r uint8, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) OldStatus(ctx context.Context) (v uint8, 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 } // AddStatus adds u to the "status" field. func (m *SopStageMutation) AddStatus(u int8) { if m.addstatus != nil { *m.addstatus += u } else { m.addstatus = &u } } // AddedStatus returns the value that was added to the "status" field in this mutation. func (m *SopStageMutation) AddedStatus() (r int8, exists bool) { v := m.addstatus if v == nil { return } return *v, true } // ClearStatus clears the value of the "status" field. func (m *SopStageMutation) ClearStatus() { m.status = nil m.addstatus = nil m.clearedFields[sopstage.FieldStatus] = struct{}{} } // StatusCleared returns if the "status" field was cleared in this mutation. func (m *SopStageMutation) StatusCleared() bool { _, ok := m.clearedFields[sopstage.FieldStatus] return ok } // ResetStatus resets all changes to the "status" field. func (m *SopStageMutation) ResetStatus() { m.status = nil m.addstatus = nil delete(m.clearedFields, sopstage.FieldStatus) } // SetTaskID sets the "task_id" field. func (m *SopStageMutation) SetTaskID(u uint64) { m.sop_task = &u } // TaskID returns the value of the "task_id" field in the mutation. func (m *SopStageMutation) TaskID() (r uint64, exists bool) { v := m.sop_task if v == nil { return } return *v, true } // OldTaskID returns the old "task_id" field's value of the SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) OldTaskID(ctx context.Context) (v uint64, 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 *SopStageMutation) ResetTaskID() { m.sop_task = nil } // SetName sets the "name" field. func (m *SopStageMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *SopStageMutation) 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 SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) 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 *SopStageMutation) ResetName() { m.name = nil } // SetConditionType sets the "condition_type" field. func (m *SopStageMutation) SetConditionType(i int) { m.condition_type = &i m.addcondition_type = nil } // ConditionType returns the value of the "condition_type" field in the mutation. func (m *SopStageMutation) ConditionType() (r int, exists bool) { v := m.condition_type if v == nil { return } return *v, true } // OldConditionType returns the old "condition_type" field's value of the SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) OldConditionType(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldConditionType is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldConditionType requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldConditionType: %w", err) } return oldValue.ConditionType, nil } // AddConditionType adds i to the "condition_type" field. func (m *SopStageMutation) AddConditionType(i int) { if m.addcondition_type != nil { *m.addcondition_type += i } else { m.addcondition_type = &i } } // AddedConditionType returns the value that was added to the "condition_type" field in this mutation. func (m *SopStageMutation) AddedConditionType() (r int, exists bool) { v := m.addcondition_type if v == nil { return } return *v, true } // ResetConditionType resets all changes to the "condition_type" field. func (m *SopStageMutation) ResetConditionType() { m.condition_type = nil m.addcondition_type = nil } // SetConditionOperator sets the "condition_operator" field. func (m *SopStageMutation) SetConditionOperator(i int) { m.condition_operator = &i m.addcondition_operator = nil } // ConditionOperator returns the value of the "condition_operator" field in the mutation. func (m *SopStageMutation) ConditionOperator() (r int, exists bool) { v := m.condition_operator if v == nil { return } return *v, true } // OldConditionOperator returns the old "condition_operator" field's value of the SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) OldConditionOperator(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldConditionOperator is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldConditionOperator requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldConditionOperator: %w", err) } return oldValue.ConditionOperator, nil } // AddConditionOperator adds i to the "condition_operator" field. func (m *SopStageMutation) AddConditionOperator(i int) { if m.addcondition_operator != nil { *m.addcondition_operator += i } else { m.addcondition_operator = &i } } // AddedConditionOperator returns the value that was added to the "condition_operator" field in this mutation. func (m *SopStageMutation) AddedConditionOperator() (r int, exists bool) { v := m.addcondition_operator if v == nil { return } return *v, true } // ResetConditionOperator resets all changes to the "condition_operator" field. func (m *SopStageMutation) ResetConditionOperator() { m.condition_operator = nil m.addcondition_operator = nil } // SetConditionList sets the "condition_list" field. func (m *SopStageMutation) SetConditionList(ct []custom_types.Condition) { m.condition_list = &ct m.appendcondition_list = nil } // ConditionList returns the value of the "condition_list" field in the mutation. func (m *SopStageMutation) ConditionList() (r []custom_types.Condition, exists bool) { v := m.condition_list if v == nil { return } return *v, true } // OldConditionList returns the old "condition_list" field's value of the SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) OldConditionList(ctx context.Context) (v []custom_types.Condition, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldConditionList is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldConditionList requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldConditionList: %w", err) } return oldValue.ConditionList, nil } // AppendConditionList adds ct to the "condition_list" field. func (m *SopStageMutation) AppendConditionList(ct []custom_types.Condition) { m.appendcondition_list = append(m.appendcondition_list, ct...) } // AppendedConditionList returns the list of values that were appended to the "condition_list" field in this mutation. func (m *SopStageMutation) AppendedConditionList() ([]custom_types.Condition, bool) { if len(m.appendcondition_list) == 0 { return nil, false } return m.appendcondition_list, true } // ResetConditionList resets all changes to the "condition_list" field. func (m *SopStageMutation) ResetConditionList() { m.condition_list = nil m.appendcondition_list = nil } // SetActionMessage sets the "action_message" field. func (m *SopStageMutation) SetActionMessage(ct []custom_types.Action) { m.action_message = &ct m.appendaction_message = nil } // ActionMessage returns the value of the "action_message" field in the mutation. func (m *SopStageMutation) ActionMessage() (r []custom_types.Action, exists bool) { v := m.action_message if v == nil { return } return *v, true } // OldActionMessage returns the old "action_message" field's value of the SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) OldActionMessage(ctx context.Context) (v []custom_types.Action, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldActionMessage is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldActionMessage requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldActionMessage: %w", err) } return oldValue.ActionMessage, nil } // AppendActionMessage adds ct to the "action_message" field. func (m *SopStageMutation) AppendActionMessage(ct []custom_types.Action) { m.appendaction_message = append(m.appendaction_message, ct...) } // AppendedActionMessage returns the list of values that were appended to the "action_message" field in this mutation. func (m *SopStageMutation) AppendedActionMessage() ([]custom_types.Action, bool) { if len(m.appendaction_message) == 0 { return nil, false } return m.appendaction_message, true } // ClearActionMessage clears the value of the "action_message" field. func (m *SopStageMutation) ClearActionMessage() { m.action_message = nil m.appendaction_message = nil m.clearedFields[sopstage.FieldActionMessage] = struct{}{} } // ActionMessageCleared returns if the "action_message" field was cleared in this mutation. func (m *SopStageMutation) ActionMessageCleared() bool { _, ok := m.clearedFields[sopstage.FieldActionMessage] return ok } // ResetActionMessage resets all changes to the "action_message" field. func (m *SopStageMutation) ResetActionMessage() { m.action_message = nil m.appendaction_message = nil delete(m.clearedFields, sopstage.FieldActionMessage) } // SetActionLabel sets the "action_label" field. func (m *SopStageMutation) SetActionLabel(u []uint64) { m.action_label = &u m.appendaction_label = nil } // ActionLabel returns the value of the "action_label" field in the mutation. func (m *SopStageMutation) ActionLabel() (r []uint64, exists bool) { v := m.action_label if v == nil { return } return *v, true } // OldActionLabel returns the old "action_label" field's value of the SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) OldActionLabel(ctx context.Context) (v []uint64, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldActionLabel is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldActionLabel requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldActionLabel: %w", err) } return oldValue.ActionLabel, nil } // AppendActionLabel adds u to the "action_label" field. func (m *SopStageMutation) AppendActionLabel(u []uint64) { m.appendaction_label = append(m.appendaction_label, u...) } // AppendedActionLabel returns the list of values that were appended to the "action_label" field in this mutation. func (m *SopStageMutation) AppendedActionLabel() ([]uint64, bool) { if len(m.appendaction_label) == 0 { return nil, false } return m.appendaction_label, true } // ClearActionLabel clears the value of the "action_label" field. func (m *SopStageMutation) ClearActionLabel() { m.action_label = nil m.appendaction_label = nil m.clearedFields[sopstage.FieldActionLabel] = struct{}{} } // ActionLabelCleared returns if the "action_label" field was cleared in this mutation. func (m *SopStageMutation) ActionLabelCleared() bool { _, ok := m.clearedFields[sopstage.FieldActionLabel] return ok } // ResetActionLabel resets all changes to the "action_label" field. func (m *SopStageMutation) ResetActionLabel() { m.action_label = nil m.appendaction_label = nil delete(m.clearedFields, sopstage.FieldActionLabel) } // SetIndexSort sets the "index_sort" field. func (m *SopStageMutation) SetIndexSort(i int) { m.index_sort = &i m.addindex_sort = nil } // IndexSort returns the value of the "index_sort" field in the mutation. func (m *SopStageMutation) IndexSort() (r int, exists bool) { v := m.index_sort if v == nil { return } return *v, true } // OldIndexSort returns the old "index_sort" field's value of the SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) OldIndexSort(ctx context.Context) (v int, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldIndexSort is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldIndexSort requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldIndexSort: %w", err) } return oldValue.IndexSort, nil } // AddIndexSort adds i to the "index_sort" field. func (m *SopStageMutation) AddIndexSort(i int) { if m.addindex_sort != nil { *m.addindex_sort += i } else { m.addindex_sort = &i } } // AddedIndexSort returns the value that was added to the "index_sort" field in this mutation. func (m *SopStageMutation) AddedIndexSort() (r int, exists bool) { v := m.addindex_sort if v == nil { return } return *v, true } // ClearIndexSort clears the value of the "index_sort" field. func (m *SopStageMutation) ClearIndexSort() { m.index_sort = nil m.addindex_sort = nil m.clearedFields[sopstage.FieldIndexSort] = struct{}{} } // IndexSortCleared returns if the "index_sort" field was cleared in this mutation. func (m *SopStageMutation) IndexSortCleared() bool { _, ok := m.clearedFields[sopstage.FieldIndexSort] return ok } // ResetIndexSort resets all changes to the "index_sort" field. func (m *SopStageMutation) ResetIndexSort() { m.index_sort = nil m.addindex_sort = nil delete(m.clearedFields, sopstage.FieldIndexSort) } // SetDeletedAt sets the "deleted_at" field. func (m *SopStageMutation) SetDeletedAt(t time.Time) { m.deleted_at = &t } // DeletedAt returns the value of the "deleted_at" field in the mutation. func (m *SopStageMutation) 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 SopStage entity. // If the SopStage object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopStageMutation) 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 *SopStageMutation) ClearDeletedAt() { m.deleted_at = nil m.clearedFields[sopstage.FieldDeletedAt] = struct{}{} } // DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation. func (m *SopStageMutation) DeletedAtCleared() bool { _, ok := m.clearedFields[sopstage.FieldDeletedAt] return ok } // ResetDeletedAt resets all changes to the "deleted_at" field. func (m *SopStageMutation) ResetDeletedAt() { m.deleted_at = nil delete(m.clearedFields, sopstage.FieldDeletedAt) } // SetSopTaskID sets the "sop_task" edge to the SopTask entity by id. func (m *SopStageMutation) SetSopTaskID(id uint64) { m.sop_task = &id } // ClearSopTask clears the "sop_task" edge to the SopTask entity. func (m *SopStageMutation) ClearSopTask() { m.clearedsop_task = true m.clearedFields[sopstage.FieldTaskID] = struct{}{} } // SopTaskCleared reports if the "sop_task" edge to the SopTask entity was cleared. func (m *SopStageMutation) SopTaskCleared() bool { return m.clearedsop_task } // SopTaskID returns the "sop_task" edge ID in the mutation. func (m *SopStageMutation) SopTaskID() (id uint64, exists bool) { if m.sop_task != nil { return *m.sop_task, true } return } // SopTaskIDs returns the "sop_task" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // SopTaskID instead. It exists only for internal usage by the builders. func (m *SopStageMutation) SopTaskIDs() (ids []uint64) { if id := m.sop_task; id != nil { ids = append(ids, *id) } return } // ResetSopTask resets all changes to the "sop_task" edge. func (m *SopStageMutation) ResetSopTask() { m.sop_task = nil m.clearedsop_task = false } // AddStageNodeIDs adds the "stage_nodes" edge to the SopNode entity by ids. func (m *SopStageMutation) AddStageNodeIDs(ids ...uint64) { if m.stage_nodes == nil { m.stage_nodes = make(map[uint64]struct{}) } for i := range ids { m.stage_nodes[ids[i]] = struct{}{} } } // ClearStageNodes clears the "stage_nodes" edge to the SopNode entity. func (m *SopStageMutation) ClearStageNodes() { m.clearedstage_nodes = true } // StageNodesCleared reports if the "stage_nodes" edge to the SopNode entity was cleared. func (m *SopStageMutation) StageNodesCleared() bool { return m.clearedstage_nodes } // RemoveStageNodeIDs removes the "stage_nodes" edge to the SopNode entity by IDs. func (m *SopStageMutation) RemoveStageNodeIDs(ids ...uint64) { if m.removedstage_nodes == nil { m.removedstage_nodes = make(map[uint64]struct{}) } for i := range ids { delete(m.stage_nodes, ids[i]) m.removedstage_nodes[ids[i]] = struct{}{} } } // RemovedStageNodes returns the removed IDs of the "stage_nodes" edge to the SopNode entity. func (m *SopStageMutation) RemovedStageNodesIDs() (ids []uint64) { for id := range m.removedstage_nodes { ids = append(ids, id) } return } // StageNodesIDs returns the "stage_nodes" edge IDs in the mutation. func (m *SopStageMutation) StageNodesIDs() (ids []uint64) { for id := range m.stage_nodes { ids = append(ids, id) } return } // ResetStageNodes resets all changes to the "stage_nodes" edge. func (m *SopStageMutation) ResetStageNodes() { m.stage_nodes = nil m.clearedstage_nodes = false m.removedstage_nodes = nil } // AddStageMessageIDs adds the "stage_messages" edge to the MessageRecords entity by ids. func (m *SopStageMutation) AddStageMessageIDs(ids ...uint64) { if m.stage_messages == nil { m.stage_messages = make(map[uint64]struct{}) } for i := range ids { m.stage_messages[ids[i]] = struct{}{} } } // ClearStageMessages clears the "stage_messages" edge to the MessageRecords entity. func (m *SopStageMutation) ClearStageMessages() { m.clearedstage_messages = true } // StageMessagesCleared reports if the "stage_messages" edge to the MessageRecords entity was cleared. func (m *SopStageMutation) StageMessagesCleared() bool { return m.clearedstage_messages } // RemoveStageMessageIDs removes the "stage_messages" edge to the MessageRecords entity by IDs. func (m *SopStageMutation) RemoveStageMessageIDs(ids ...uint64) { if m.removedstage_messages == nil { m.removedstage_messages = make(map[uint64]struct{}) } for i := range ids { delete(m.stage_messages, ids[i]) m.removedstage_messages[ids[i]] = struct{}{} } } // RemovedStageMessages returns the removed IDs of the "stage_messages" edge to the MessageRecords entity. func (m *SopStageMutation) RemovedStageMessagesIDs() (ids []uint64) { for id := range m.removedstage_messages { ids = append(ids, id) } return } // StageMessagesIDs returns the "stage_messages" edge IDs in the mutation. func (m *SopStageMutation) StageMessagesIDs() (ids []uint64) { for id := range m.stage_messages { ids = append(ids, id) } return } // ResetStageMessages resets all changes to the "stage_messages" edge. func (m *SopStageMutation) ResetStageMessages() { m.stage_messages = nil m.clearedstage_messages = false m.removedstage_messages = nil } // Where appends a list predicates to the SopStageMutation builder. func (m *SopStageMutation) Where(ps ...predicate.SopStage) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the SopStageMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *SopStageMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.SopStage, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *SopStageMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *SopStageMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (SopStage). func (m *SopStageMutation) 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 *SopStageMutation) Fields() []string { fields := make([]string, 0, 12) if m.created_at != nil { fields = append(fields, sopstage.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, sopstage.FieldUpdatedAt) } if m.status != nil { fields = append(fields, sopstage.FieldStatus) } if m.sop_task != nil { fields = append(fields, sopstage.FieldTaskID) } if m.name != nil { fields = append(fields, sopstage.FieldName) } if m.condition_type != nil { fields = append(fields, sopstage.FieldConditionType) } if m.condition_operator != nil { fields = append(fields, sopstage.FieldConditionOperator) } if m.condition_list != nil { fields = append(fields, sopstage.FieldConditionList) } if m.action_message != nil { fields = append(fields, sopstage.FieldActionMessage) } if m.action_label != nil { fields = append(fields, sopstage.FieldActionLabel) } if m.index_sort != nil { fields = append(fields, sopstage.FieldIndexSort) } if m.deleted_at != nil { fields = append(fields, sopstage.FieldDeletedAt) } 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 *SopStageMutation) Field(name string) (ent.Value, bool) { switch name { case sopstage.FieldCreatedAt: return m.CreatedAt() case sopstage.FieldUpdatedAt: return m.UpdatedAt() case sopstage.FieldStatus: return m.Status() case sopstage.FieldTaskID: return m.TaskID() case sopstage.FieldName: return m.Name() case sopstage.FieldConditionType: return m.ConditionType() case sopstage.FieldConditionOperator: return m.ConditionOperator() case sopstage.FieldConditionList: return m.ConditionList() case sopstage.FieldActionMessage: return m.ActionMessage() case sopstage.FieldActionLabel: return m.ActionLabel() case sopstage.FieldIndexSort: return m.IndexSort() case sopstage.FieldDeletedAt: return m.DeletedAt() } 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 *SopStageMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case sopstage.FieldCreatedAt: return m.OldCreatedAt(ctx) case sopstage.FieldUpdatedAt: return m.OldUpdatedAt(ctx) case sopstage.FieldStatus: return m.OldStatus(ctx) case sopstage.FieldTaskID: return m.OldTaskID(ctx) case sopstage.FieldName: return m.OldName(ctx) case sopstage.FieldConditionType: return m.OldConditionType(ctx) case sopstage.FieldConditionOperator: return m.OldConditionOperator(ctx) case sopstage.FieldConditionList: return m.OldConditionList(ctx) case sopstage.FieldActionMessage: return m.OldActionMessage(ctx) case sopstage.FieldActionLabel: return m.OldActionLabel(ctx) case sopstage.FieldIndexSort: return m.OldIndexSort(ctx) case sopstage.FieldDeletedAt: return m.OldDeletedAt(ctx) } return nil, fmt.Errorf("unknown SopStage 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 *SopStageMutation) SetField(name string, value ent.Value) error { switch name { case sopstage.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 sopstage.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 sopstage.FieldStatus: v, ok := value.(uint8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case sopstage.FieldTaskID: v, ok := value.(uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetTaskID(v) return nil case sopstage.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case sopstage.FieldConditionType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetConditionType(v) return nil case sopstage.FieldConditionOperator: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetConditionOperator(v) return nil case sopstage.FieldConditionList: v, ok := value.([]custom_types.Condition) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetConditionList(v) return nil case sopstage.FieldActionMessage: v, ok := value.([]custom_types.Action) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetActionMessage(v) return nil case sopstage.FieldActionLabel: v, ok := value.([]uint64) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetActionLabel(v) return nil case sopstage.FieldIndexSort: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetIndexSort(v) return nil case sopstage.FieldDeletedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDeletedAt(v) return nil } return fmt.Errorf("unknown SopStage field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *SopStageMutation) AddedFields() []string { var fields []string if m.addstatus != nil { fields = append(fields, sopstage.FieldStatus) } if m.addcondition_type != nil { fields = append(fields, sopstage.FieldConditionType) } if m.addcondition_operator != nil { fields = append(fields, sopstage.FieldConditionOperator) } if m.addindex_sort != nil { fields = append(fields, sopstage.FieldIndexSort) } 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 *SopStageMutation) AddedField(name string) (ent.Value, bool) { switch name { case sopstage.FieldStatus: return m.AddedStatus() case sopstage.FieldConditionType: return m.AddedConditionType() case sopstage.FieldConditionOperator: return m.AddedConditionOperator() case sopstage.FieldIndexSort: return m.AddedIndexSort() } 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 *SopStageMutation) AddField(name string, value ent.Value) error { switch name { case sopstage.FieldStatus: v, ok := value.(int8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddStatus(v) return nil case sopstage.FieldConditionType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddConditionType(v) return nil case sopstage.FieldConditionOperator: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddConditionOperator(v) return nil case sopstage.FieldIndexSort: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddIndexSort(v) return nil } return fmt.Errorf("unknown SopStage numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *SopStageMutation) ClearedFields() []string { var fields []string if m.FieldCleared(sopstage.FieldStatus) { fields = append(fields, sopstage.FieldStatus) } if m.FieldCleared(sopstage.FieldActionMessage) { fields = append(fields, sopstage.FieldActionMessage) } if m.FieldCleared(sopstage.FieldActionLabel) { fields = append(fields, sopstage.FieldActionLabel) } if m.FieldCleared(sopstage.FieldIndexSort) { fields = append(fields, sopstage.FieldIndexSort) } if m.FieldCleared(sopstage.FieldDeletedAt) { fields = append(fields, sopstage.FieldDeletedAt) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *SopStageMutation) 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 *SopStageMutation) ClearField(name string) error { switch name { case sopstage.FieldStatus: m.ClearStatus() return nil case sopstage.FieldActionMessage: m.ClearActionMessage() return nil case sopstage.FieldActionLabel: m.ClearActionLabel() return nil case sopstage.FieldIndexSort: m.ClearIndexSort() return nil case sopstage.FieldDeletedAt: m.ClearDeletedAt() return nil } return fmt.Errorf("unknown SopStage 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 *SopStageMutation) ResetField(name string) error { switch name { case sopstage.FieldCreatedAt: m.ResetCreatedAt() return nil case sopstage.FieldUpdatedAt: m.ResetUpdatedAt() return nil case sopstage.FieldStatus: m.ResetStatus() return nil case sopstage.FieldTaskID: m.ResetTaskID() return nil case sopstage.FieldName: m.ResetName() return nil case sopstage.FieldConditionType: m.ResetConditionType() return nil case sopstage.FieldConditionOperator: m.ResetConditionOperator() return nil case sopstage.FieldConditionList: m.ResetConditionList() return nil case sopstage.FieldActionMessage: m.ResetActionMessage() return nil case sopstage.FieldActionLabel: m.ResetActionLabel() return nil case sopstage.FieldIndexSort: m.ResetIndexSort() return nil case sopstage.FieldDeletedAt: m.ResetDeletedAt() return nil } return fmt.Errorf("unknown SopStage field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *SopStageMutation) AddedEdges() []string { edges := make([]string, 0, 3) if m.sop_task != nil { edges = append(edges, sopstage.EdgeSopTask) } if m.stage_nodes != nil { edges = append(edges, sopstage.EdgeStageNodes) } if m.stage_messages != nil { edges = append(edges, sopstage.EdgeStageMessages) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *SopStageMutation) AddedIDs(name string) []ent.Value { switch name { case sopstage.EdgeSopTask: if id := m.sop_task; id != nil { return []ent.Value{*id} } case sopstage.EdgeStageNodes: ids := make([]ent.Value, 0, len(m.stage_nodes)) for id := range m.stage_nodes { ids = append(ids, id) } return ids case sopstage.EdgeStageMessages: ids := make([]ent.Value, 0, len(m.stage_messages)) for id := range m.stage_messages { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *SopStageMutation) RemovedEdges() []string { edges := make([]string, 0, 3) if m.removedstage_nodes != nil { edges = append(edges, sopstage.EdgeStageNodes) } if m.removedstage_messages != nil { edges = append(edges, sopstage.EdgeStageMessages) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *SopStageMutation) RemovedIDs(name string) []ent.Value { switch name { case sopstage.EdgeStageNodes: ids := make([]ent.Value, 0, len(m.removedstage_nodes)) for id := range m.removedstage_nodes { ids = append(ids, id) } return ids case sopstage.EdgeStageMessages: ids := make([]ent.Value, 0, len(m.removedstage_messages)) for id := range m.removedstage_messages { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *SopStageMutation) ClearedEdges() []string { edges := make([]string, 0, 3) if m.clearedsop_task { edges = append(edges, sopstage.EdgeSopTask) } if m.clearedstage_nodes { edges = append(edges, sopstage.EdgeStageNodes) } if m.clearedstage_messages { edges = append(edges, sopstage.EdgeStageMessages) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *SopStageMutation) EdgeCleared(name string) bool { switch name { case sopstage.EdgeSopTask: return m.clearedsop_task case sopstage.EdgeStageNodes: return m.clearedstage_nodes case sopstage.EdgeStageMessages: return m.clearedstage_messages } 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 *SopStageMutation) ClearEdge(name string) error { switch name { case sopstage.EdgeSopTask: m.ClearSopTask() return nil } return fmt.Errorf("unknown SopStage 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 *SopStageMutation) ResetEdge(name string) error { switch name { case sopstage.EdgeSopTask: m.ResetSopTask() return nil case sopstage.EdgeStageNodes: m.ResetStageNodes() return nil case sopstage.EdgeStageMessages: m.ResetStageMessages() return nil } return fmt.Errorf("unknown SopStage edge %s", name) } // SopTaskMutation represents an operation that mutates the SopTask nodes in the graph. type SopTaskMutation struct { config op Op typ string id *uint64 created_at *time.Time updated_at *time.Time status *uint8 addstatus *int8 name *string bot_wxid_list *[]string appendbot_wxid_list []string _type *int add_type *int plan_start_time *time.Time plan_end_time *time.Time creator_id *string deleted_at *time.Time clearedFields map[string]struct{} task_stages map[uint64]struct{} removedtask_stages map[uint64]struct{} clearedtask_stages bool done bool oldValue func(context.Context) (*SopTask, error) predicates []predicate.SopTask } var _ ent.Mutation = (*SopTaskMutation)(nil) // soptaskOption allows management of the mutation configuration using functional options. type soptaskOption func(*SopTaskMutation) // newSopTaskMutation creates new mutation for the SopTask entity. func newSopTaskMutation(c config, op Op, opts ...soptaskOption) *SopTaskMutation { m := &SopTaskMutation{ config: c, op: op, typ: TypeSopTask, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withSopTaskID sets the ID field of the mutation. func withSopTaskID(id uint64) soptaskOption { return func(m *SopTaskMutation) { var ( err error once sync.Once value *SopTask ) m.oldValue = func(ctx context.Context) (*SopTask, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().SopTask.Get(ctx, id) } }) return value, err } m.id = &id } } // withSopTask sets the old SopTask of the mutation. func withSopTask(node *SopTask) soptaskOption { return func(m *SopTaskMutation) { m.oldValue = func(context.Context) (*SopTask, 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 SopTaskMutation) 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 SopTaskMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("ent: mutation is not running in a transaction") } tx := &Tx{config: m.config} tx.init() return tx, nil } // SetID sets the value of the id field. Note that this // operation is only accepted on creation of SopTask entities. func (m *SopTaskMutation) SetID(id uint64) { 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 *SopTaskMutation) ID() (id uint64, 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 *SopTaskMutation) IDs(ctx context.Context) ([]uint64, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uint64{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().SopTask.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetCreatedAt sets the "created_at" field. func (m *SopTaskMutation) SetCreatedAt(t time.Time) { m.created_at = &t } // CreatedAt returns the value of the "created_at" field in the mutation. func (m *SopTaskMutation) 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 SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) 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 *SopTaskMutation) ResetCreatedAt() { m.created_at = nil } // SetUpdatedAt sets the "updated_at" field. func (m *SopTaskMutation) SetUpdatedAt(t time.Time) { m.updated_at = &t } // UpdatedAt returns the value of the "updated_at" field in the mutation. func (m *SopTaskMutation) 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 SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) 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 *SopTaskMutation) ResetUpdatedAt() { m.updated_at = nil } // SetStatus sets the "status" field. func (m *SopTaskMutation) SetStatus(u uint8) { m.status = &u m.addstatus = nil } // Status returns the value of the "status" field in the mutation. func (m *SopTaskMutation) Status() (r uint8, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" field's value of the SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) OldStatus(ctx context.Context) (v uint8, 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 } // AddStatus adds u to the "status" field. func (m *SopTaskMutation) AddStatus(u int8) { if m.addstatus != nil { *m.addstatus += u } else { m.addstatus = &u } } // AddedStatus returns the value that was added to the "status" field in this mutation. func (m *SopTaskMutation) AddedStatus() (r int8, exists bool) { v := m.addstatus if v == nil { return } return *v, true } // ClearStatus clears the value of the "status" field. func (m *SopTaskMutation) ClearStatus() { m.status = nil m.addstatus = nil m.clearedFields[soptask.FieldStatus] = struct{}{} } // StatusCleared returns if the "status" field was cleared in this mutation. func (m *SopTaskMutation) StatusCleared() bool { _, ok := m.clearedFields[soptask.FieldStatus] return ok } // ResetStatus resets all changes to the "status" field. func (m *SopTaskMutation) ResetStatus() { m.status = nil m.addstatus = nil delete(m.clearedFields, soptask.FieldStatus) } // SetName sets the "name" field. func (m *SopTaskMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *SopTaskMutation) 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 SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) 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 *SopTaskMutation) ResetName() { m.name = nil } // SetBotWxidList sets the "bot_wxid_list" field. func (m *SopTaskMutation) SetBotWxidList(s []string) { m.bot_wxid_list = &s m.appendbot_wxid_list = nil } // BotWxidList returns the value of the "bot_wxid_list" field in the mutation. func (m *SopTaskMutation) BotWxidList() (r []string, exists bool) { v := m.bot_wxid_list if v == nil { return } return *v, true } // OldBotWxidList returns the old "bot_wxid_list" field's value of the SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) OldBotWxidList(ctx context.Context) (v []string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldBotWxidList is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldBotWxidList requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldBotWxidList: %w", err) } return oldValue.BotWxidList, nil } // AppendBotWxidList adds s to the "bot_wxid_list" field. func (m *SopTaskMutation) AppendBotWxidList(s []string) { m.appendbot_wxid_list = append(m.appendbot_wxid_list, s...) } // AppendedBotWxidList returns the list of values that were appended to the "bot_wxid_list" field in this mutation. func (m *SopTaskMutation) AppendedBotWxidList() ([]string, bool) { if len(m.appendbot_wxid_list) == 0 { return nil, false } return m.appendbot_wxid_list, true } // ClearBotWxidList clears the value of the "bot_wxid_list" field. func (m *SopTaskMutation) ClearBotWxidList() { m.bot_wxid_list = nil m.appendbot_wxid_list = nil m.clearedFields[soptask.FieldBotWxidList] = struct{}{} } // BotWxidListCleared returns if the "bot_wxid_list" field was cleared in this mutation. func (m *SopTaskMutation) BotWxidListCleared() bool { _, ok := m.clearedFields[soptask.FieldBotWxidList] return ok } // ResetBotWxidList resets all changes to the "bot_wxid_list" field. func (m *SopTaskMutation) ResetBotWxidList() { m.bot_wxid_list = nil m.appendbot_wxid_list = nil delete(m.clearedFields, soptask.FieldBotWxidList) } // SetType sets the "type" field. func (m *SopTaskMutation) SetType(i int) { m._type = &i m.add_type = nil } // GetType returns the value of the "type" field in the mutation. func (m *SopTaskMutation) GetType() (r int, exists bool) { v := m._type if v == nil { return } return *v, true } // OldType returns the old "type" field's value of the SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) OldType(ctx context.Context) (v int, 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 } // AddType adds i to the "type" field. func (m *SopTaskMutation) AddType(i int) { if m.add_type != nil { *m.add_type += i } else { m.add_type = &i } } // AddedType returns the value that was added to the "type" field in this mutation. func (m *SopTaskMutation) AddedType() (r int, exists bool) { v := m.add_type if v == nil { return } return *v, true } // ResetType resets all changes to the "type" field. func (m *SopTaskMutation) ResetType() { m._type = nil m.add_type = nil } // SetPlanStartTime sets the "plan_start_time" field. func (m *SopTaskMutation) SetPlanStartTime(t time.Time) { m.plan_start_time = &t } // PlanStartTime returns the value of the "plan_start_time" field in the mutation. func (m *SopTaskMutation) PlanStartTime() (r time.Time, exists bool) { v := m.plan_start_time if v == nil { return } return *v, true } // OldPlanStartTime returns the old "plan_start_time" field's value of the SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) OldPlanStartTime(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPlanStartTime is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPlanStartTime requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPlanStartTime: %w", err) } return oldValue.PlanStartTime, nil } // ClearPlanStartTime clears the value of the "plan_start_time" field. func (m *SopTaskMutation) ClearPlanStartTime() { m.plan_start_time = nil m.clearedFields[soptask.FieldPlanStartTime] = struct{}{} } // PlanStartTimeCleared returns if the "plan_start_time" field was cleared in this mutation. func (m *SopTaskMutation) PlanStartTimeCleared() bool { _, ok := m.clearedFields[soptask.FieldPlanStartTime] return ok } // ResetPlanStartTime resets all changes to the "plan_start_time" field. func (m *SopTaskMutation) ResetPlanStartTime() { m.plan_start_time = nil delete(m.clearedFields, soptask.FieldPlanStartTime) } // SetPlanEndTime sets the "plan_end_time" field. func (m *SopTaskMutation) SetPlanEndTime(t time.Time) { m.plan_end_time = &t } // PlanEndTime returns the value of the "plan_end_time" field in the mutation. func (m *SopTaskMutation) PlanEndTime() (r time.Time, exists bool) { v := m.plan_end_time if v == nil { return } return *v, true } // OldPlanEndTime returns the old "plan_end_time" field's value of the SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) OldPlanEndTime(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPlanEndTime is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPlanEndTime requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPlanEndTime: %w", err) } return oldValue.PlanEndTime, nil } // ClearPlanEndTime clears the value of the "plan_end_time" field. func (m *SopTaskMutation) ClearPlanEndTime() { m.plan_end_time = nil m.clearedFields[soptask.FieldPlanEndTime] = struct{}{} } // PlanEndTimeCleared returns if the "plan_end_time" field was cleared in this mutation. func (m *SopTaskMutation) PlanEndTimeCleared() bool { _, ok := m.clearedFields[soptask.FieldPlanEndTime] return ok } // ResetPlanEndTime resets all changes to the "plan_end_time" field. func (m *SopTaskMutation) ResetPlanEndTime() { m.plan_end_time = nil delete(m.clearedFields, soptask.FieldPlanEndTime) } // SetCreatorID sets the "creator_id" field. func (m *SopTaskMutation) SetCreatorID(s string) { m.creator_id = &s } // CreatorID returns the value of the "creator_id" field in the mutation. func (m *SopTaskMutation) CreatorID() (r string, exists bool) { v := m.creator_id if v == nil { return } return *v, true } // OldCreatorID returns the old "creator_id" field's value of the SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) OldCreatorID(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCreatorID is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCreatorID requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCreatorID: %w", err) } return oldValue.CreatorID, nil } // ClearCreatorID clears the value of the "creator_id" field. func (m *SopTaskMutation) ClearCreatorID() { m.creator_id = nil m.clearedFields[soptask.FieldCreatorID] = struct{}{} } // CreatorIDCleared returns if the "creator_id" field was cleared in this mutation. func (m *SopTaskMutation) CreatorIDCleared() bool { _, ok := m.clearedFields[soptask.FieldCreatorID] return ok } // ResetCreatorID resets all changes to the "creator_id" field. func (m *SopTaskMutation) ResetCreatorID() { m.creator_id = nil delete(m.clearedFields, soptask.FieldCreatorID) } // SetDeletedAt sets the "deleted_at" field. func (m *SopTaskMutation) SetDeletedAt(t time.Time) { m.deleted_at = &t } // DeletedAt returns the value of the "deleted_at" field in the mutation. func (m *SopTaskMutation) 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 SopTask entity. // If the SopTask object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *SopTaskMutation) 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 *SopTaskMutation) ClearDeletedAt() { m.deleted_at = nil m.clearedFields[soptask.FieldDeletedAt] = struct{}{} } // DeletedAtCleared returns if the "deleted_at" field was cleared in this mutation. func (m *SopTaskMutation) DeletedAtCleared() bool { _, ok := m.clearedFields[soptask.FieldDeletedAt] return ok } // ResetDeletedAt resets all changes to the "deleted_at" field. func (m *SopTaskMutation) ResetDeletedAt() { m.deleted_at = nil delete(m.clearedFields, soptask.FieldDeletedAt) } // AddTaskStageIDs adds the "task_stages" edge to the SopStage entity by ids. func (m *SopTaskMutation) AddTaskStageIDs(ids ...uint64) { if m.task_stages == nil { m.task_stages = make(map[uint64]struct{}) } for i := range ids { m.task_stages[ids[i]] = struct{}{} } } // ClearTaskStages clears the "task_stages" edge to the SopStage entity. func (m *SopTaskMutation) ClearTaskStages() { m.clearedtask_stages = true } // TaskStagesCleared reports if the "task_stages" edge to the SopStage entity was cleared. func (m *SopTaskMutation) TaskStagesCleared() bool { return m.clearedtask_stages } // RemoveTaskStageIDs removes the "task_stages" edge to the SopStage entity by IDs. func (m *SopTaskMutation) RemoveTaskStageIDs(ids ...uint64) { if m.removedtask_stages == nil { m.removedtask_stages = make(map[uint64]struct{}) } for i := range ids { delete(m.task_stages, ids[i]) m.removedtask_stages[ids[i]] = struct{}{} } } // RemovedTaskStages returns the removed IDs of the "task_stages" edge to the SopStage entity. func (m *SopTaskMutation) RemovedTaskStagesIDs() (ids []uint64) { for id := range m.removedtask_stages { ids = append(ids, id) } return } // TaskStagesIDs returns the "task_stages" edge IDs in the mutation. func (m *SopTaskMutation) TaskStagesIDs() (ids []uint64) { for id := range m.task_stages { ids = append(ids, id) } return } // ResetTaskStages resets all changes to the "task_stages" edge. func (m *SopTaskMutation) ResetTaskStages() { m.task_stages = nil m.clearedtask_stages = false m.removedtask_stages = nil } // Where appends a list predicates to the SopTaskMutation builder. func (m *SopTaskMutation) Where(ps ...predicate.SopTask) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the SopTaskMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *SopTaskMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.SopTask, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *SopTaskMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *SopTaskMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (SopTask). func (m *SopTaskMutation) 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 *SopTaskMutation) Fields() []string { fields := make([]string, 0, 10) if m.created_at != nil { fields = append(fields, soptask.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, soptask.FieldUpdatedAt) } if m.status != nil { fields = append(fields, soptask.FieldStatus) } if m.name != nil { fields = append(fields, soptask.FieldName) } if m.bot_wxid_list != nil { fields = append(fields, soptask.FieldBotWxidList) } if m._type != nil { fields = append(fields, soptask.FieldType) } if m.plan_start_time != nil { fields = append(fields, soptask.FieldPlanStartTime) } if m.plan_end_time != nil { fields = append(fields, soptask.FieldPlanEndTime) } if m.creator_id != nil { fields = append(fields, soptask.FieldCreatorID) } if m.deleted_at != nil { fields = append(fields, soptask.FieldDeletedAt) } 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 *SopTaskMutation) Field(name string) (ent.Value, bool) { switch name { case soptask.FieldCreatedAt: return m.CreatedAt() case soptask.FieldUpdatedAt: return m.UpdatedAt() case soptask.FieldStatus: return m.Status() case soptask.FieldName: return m.Name() case soptask.FieldBotWxidList: return m.BotWxidList() case soptask.FieldType: return m.GetType() case soptask.FieldPlanStartTime: return m.PlanStartTime() case soptask.FieldPlanEndTime: return m.PlanEndTime() case soptask.FieldCreatorID: return m.CreatorID() case soptask.FieldDeletedAt: return m.DeletedAt() } 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 *SopTaskMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case soptask.FieldCreatedAt: return m.OldCreatedAt(ctx) case soptask.FieldUpdatedAt: return m.OldUpdatedAt(ctx) case soptask.FieldStatus: return m.OldStatus(ctx) case soptask.FieldName: return m.OldName(ctx) case soptask.FieldBotWxidList: return m.OldBotWxidList(ctx) case soptask.FieldType: return m.OldType(ctx) case soptask.FieldPlanStartTime: return m.OldPlanStartTime(ctx) case soptask.FieldPlanEndTime: return m.OldPlanEndTime(ctx) case soptask.FieldCreatorID: return m.OldCreatorID(ctx) case soptask.FieldDeletedAt: return m.OldDeletedAt(ctx) } return nil, fmt.Errorf("unknown SopTask 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 *SopTaskMutation) SetField(name string, value ent.Value) error { switch name { case soptask.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 soptask.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 soptask.FieldStatus: v, ok := value.(uint8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case soptask.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case soptask.FieldBotWxidList: v, ok := value.([]string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetBotWxidList(v) return nil case soptask.FieldType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetType(v) return nil case soptask.FieldPlanStartTime: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPlanStartTime(v) return nil case soptask.FieldPlanEndTime: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPlanEndTime(v) return nil case soptask.FieldCreatorID: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCreatorID(v) return nil case soptask.FieldDeletedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetDeletedAt(v) return nil } return fmt.Errorf("unknown SopTask field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *SopTaskMutation) AddedFields() []string { var fields []string if m.addstatus != nil { fields = append(fields, soptask.FieldStatus) } if m.add_type != nil { fields = append(fields, soptask.FieldType) } 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 *SopTaskMutation) AddedField(name string) (ent.Value, bool) { switch name { case soptask.FieldStatus: return m.AddedStatus() case soptask.FieldType: return m.AddedType() } 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 *SopTaskMutation) AddField(name string, value ent.Value) error { switch name { case soptask.FieldStatus: v, ok := value.(int8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddStatus(v) return nil case soptask.FieldType: v, ok := value.(int) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddType(v) return nil } return fmt.Errorf("unknown SopTask numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *SopTaskMutation) ClearedFields() []string { var fields []string if m.FieldCleared(soptask.FieldStatus) { fields = append(fields, soptask.FieldStatus) } if m.FieldCleared(soptask.FieldBotWxidList) { fields = append(fields, soptask.FieldBotWxidList) } if m.FieldCleared(soptask.FieldPlanStartTime) { fields = append(fields, soptask.FieldPlanStartTime) } if m.FieldCleared(soptask.FieldPlanEndTime) { fields = append(fields, soptask.FieldPlanEndTime) } if m.FieldCleared(soptask.FieldCreatorID) { fields = append(fields, soptask.FieldCreatorID) } if m.FieldCleared(soptask.FieldDeletedAt) { fields = append(fields, soptask.FieldDeletedAt) } return fields } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *SopTaskMutation) 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 *SopTaskMutation) ClearField(name string) error { switch name { case soptask.FieldStatus: m.ClearStatus() return nil case soptask.FieldBotWxidList: m.ClearBotWxidList() return nil case soptask.FieldPlanStartTime: m.ClearPlanStartTime() return nil case soptask.FieldPlanEndTime: m.ClearPlanEndTime() return nil case soptask.FieldCreatorID: m.ClearCreatorID() return nil case soptask.FieldDeletedAt: m.ClearDeletedAt() return nil } return fmt.Errorf("unknown SopTask 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 *SopTaskMutation) ResetField(name string) error { switch name { case soptask.FieldCreatedAt: m.ResetCreatedAt() return nil case soptask.FieldUpdatedAt: m.ResetUpdatedAt() return nil case soptask.FieldStatus: m.ResetStatus() return nil case soptask.FieldName: m.ResetName() return nil case soptask.FieldBotWxidList: m.ResetBotWxidList() return nil case soptask.FieldType: m.ResetType() return nil case soptask.FieldPlanStartTime: m.ResetPlanStartTime() return nil case soptask.FieldPlanEndTime: m.ResetPlanEndTime() return nil case soptask.FieldCreatorID: m.ResetCreatorID() return nil case soptask.FieldDeletedAt: m.ResetDeletedAt() return nil } return fmt.Errorf("unknown SopTask field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *SopTaskMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.task_stages != nil { edges = append(edges, soptask.EdgeTaskStages) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *SopTaskMutation) AddedIDs(name string) []ent.Value { switch name { case soptask.EdgeTaskStages: ids := make([]ent.Value, 0, len(m.task_stages)) for id := range m.task_stages { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *SopTaskMutation) RemovedEdges() []string { edges := make([]string, 0, 1) if m.removedtask_stages != nil { edges = append(edges, soptask.EdgeTaskStages) } return edges } // RemovedIDs returns all IDs (to other nodes) that were removed for the edge with // the given name in this mutation. func (m *SopTaskMutation) RemovedIDs(name string) []ent.Value { switch name { case soptask.EdgeTaskStages: ids := make([]ent.Value, 0, len(m.removedtask_stages)) for id := range m.removedtask_stages { ids = append(ids, id) } return ids } return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *SopTaskMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedtask_stages { edges = append(edges, soptask.EdgeTaskStages) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *SopTaskMutation) EdgeCleared(name string) bool { switch name { case soptask.EdgeTaskStages: return m.clearedtask_stages } 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 *SopTaskMutation) ClearEdge(name string) error { switch name { } return fmt.Errorf("unknown SopTask 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 *SopTaskMutation) ResetEdge(name string) error { switch name { case soptask.EdgeTaskStages: m.ResetTaskStages() return nil } return fmt.Errorf("unknown SopTask edge %s", name) } // TaskMutation represents an operation that mutates the Task nodes in the graph. type TaskMutation struct { config op Op typ string id *uint64 created_at *time.Time updated_at *time.Time status *uint8 addstatus *int8 name *string task_group *string cron_expression *string pattern *string payload *string clearedFields map[string]struct{} task_logs map[uint64]struct{} removedtask_logs map[uint64]struct{} clearedtask_logs 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 uint64) 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("ent: mutation is not running in a transaction") } tx := &Tx{config: m.config} tx.init() return tx, nil } // SetID sets the value of the id field. Note that this // operation is only accepted on creation of Task entities. func (m *TaskMutation) SetID(id uint64) { 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 uint64, 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) ([]uint64, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uint64{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) } } // 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 } // SetStatus sets the "status" field. func (m *TaskMutation) SetStatus(u uint8) { m.status = &u m.addstatus = nil } // Status returns the value of the "status" field in the mutation. func (m *TaskMutation) Status() (r uint8, exists bool) { v := m.status if v == nil { return } return *v, true } // OldStatus returns the old "status" 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) OldStatus(ctx context.Context) (v uint8, 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 } // AddStatus adds u to the "status" field. func (m *TaskMutation) AddStatus(u int8) { if m.addstatus != nil { *m.addstatus += u } else { m.addstatus = &u } } // AddedStatus returns the value that was added to the "status" field in this mutation. func (m *TaskMutation) AddedStatus() (r int8, exists bool) { v := m.addstatus if v == nil { return } return *v, true } // ClearStatus clears the value of the "status" field. func (m *TaskMutation) ClearStatus() { m.status = nil m.addstatus = nil m.clearedFields[task.FieldStatus] = struct{}{} } // StatusCleared returns if the "status" field was cleared in this mutation. func (m *TaskMutation) StatusCleared() bool { _, ok := m.clearedFields[task.FieldStatus] return ok } // ResetStatus resets all changes to the "status" field. func (m *TaskMutation) ResetStatus() { m.status = nil m.addstatus = nil delete(m.clearedFields, task.FieldStatus) } // SetName sets the "name" field. func (m *TaskMutation) SetName(s string) { m.name = &s } // Name returns the value of the "name" field in the mutation. func (m *TaskMutation) 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 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) 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 *TaskMutation) ResetName() { m.name = nil } // SetTaskGroup sets the "task_group" field. func (m *TaskMutation) SetTaskGroup(s string) { m.task_group = &s } // TaskGroup returns the value of the "task_group" field in the mutation. func (m *TaskMutation) TaskGroup() (r string, exists bool) { v := m.task_group if v == nil { return } return *v, true } // OldTaskGroup returns the old "task_group" 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) OldTaskGroup(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldTaskGroup is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldTaskGroup requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldTaskGroup: %w", err) } return oldValue.TaskGroup, nil } // ResetTaskGroup resets all changes to the "task_group" field. func (m *TaskMutation) ResetTaskGroup() { m.task_group = nil } // SetCronExpression sets the "cron_expression" field. func (m *TaskMutation) SetCronExpression(s string) { m.cron_expression = &s } // CronExpression returns the value of the "cron_expression" field in the mutation. func (m *TaskMutation) CronExpression() (r string, exists bool) { v := m.cron_expression if v == nil { return } return *v, true } // OldCronExpression returns the old "cron_expression" 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) OldCronExpression(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldCronExpression is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldCronExpression requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldCronExpression: %w", err) } return oldValue.CronExpression, nil } // ResetCronExpression resets all changes to the "cron_expression" field. func (m *TaskMutation) ResetCronExpression() { m.cron_expression = nil } // SetPattern sets the "pattern" field. func (m *TaskMutation) SetPattern(s string) { m.pattern = &s } // Pattern returns the value of the "pattern" field in the mutation. func (m *TaskMutation) Pattern() (r string, exists bool) { v := m.pattern if v == nil { return } return *v, true } // OldPattern returns the old "pattern" 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) OldPattern(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPattern is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPattern requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPattern: %w", err) } return oldValue.Pattern, nil } // ResetPattern resets all changes to the "pattern" field. func (m *TaskMutation) ResetPattern() { m.pattern = nil } // SetPayload sets the "payload" field. func (m *TaskMutation) SetPayload(s string) { m.payload = &s } // Payload returns the value of the "payload" field in the mutation. func (m *TaskMutation) Payload() (r string, exists bool) { v := m.payload if v == nil { return } return *v, true } // OldPayload returns the old "payload" 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) OldPayload(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldPayload is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldPayload requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldPayload: %w", err) } return oldValue.Payload, nil } // ResetPayload resets all changes to the "payload" field. func (m *TaskMutation) ResetPayload() { m.payload = nil } // AddTaskLogIDs adds the "task_logs" edge to the TaskLog entity by ids. func (m *TaskMutation) AddTaskLogIDs(ids ...uint64) { if m.task_logs == nil { m.task_logs = make(map[uint64]struct{}) } for i := range ids { m.task_logs[ids[i]] = struct{}{} } } // ClearTaskLogs clears the "task_logs" edge to the TaskLog entity. func (m *TaskMutation) ClearTaskLogs() { m.clearedtask_logs = true } // TaskLogsCleared reports if the "task_logs" edge to the TaskLog entity was cleared. func (m *TaskMutation) TaskLogsCleared() bool { return m.clearedtask_logs } // RemoveTaskLogIDs removes the "task_logs" edge to the TaskLog entity by IDs. func (m *TaskMutation) RemoveTaskLogIDs(ids ...uint64) { if m.removedtask_logs == nil { m.removedtask_logs = make(map[uint64]struct{}) } for i := range ids { delete(m.task_logs, ids[i]) m.removedtask_logs[ids[i]] = struct{}{} } } // RemovedTaskLogs returns the removed IDs of the "task_logs" edge to the TaskLog entity. func (m *TaskMutation) RemovedTaskLogsIDs() (ids []uint64) { for id := range m.removedtask_logs { ids = append(ids, id) } return } // TaskLogsIDs returns the "task_logs" edge IDs in the mutation. func (m *TaskMutation) TaskLogsIDs() (ids []uint64) { for id := range m.task_logs { ids = append(ids, id) } return } // ResetTaskLogs resets all changes to the "task_logs" edge. func (m *TaskMutation) ResetTaskLogs() { m.task_logs = nil m.clearedtask_logs = false m.removedtask_logs = nil } // 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, 8) if m.created_at != nil { fields = append(fields, task.FieldCreatedAt) } if m.updated_at != nil { fields = append(fields, task.FieldUpdatedAt) } if m.status != nil { fields = append(fields, task.FieldStatus) } if m.name != nil { fields = append(fields, task.FieldName) } if m.task_group != nil { fields = append(fields, task.FieldTaskGroup) } if m.cron_expression != nil { fields = append(fields, task.FieldCronExpression) } if m.pattern != nil { fields = append(fields, task.FieldPattern) } if m.payload != nil { fields = append(fields, task.FieldPayload) } 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.FieldCreatedAt: return m.CreatedAt() case task.FieldUpdatedAt: return m.UpdatedAt() case task.FieldStatus: return m.Status() case task.FieldName: return m.Name() case task.FieldTaskGroup: return m.TaskGroup() case task.FieldCronExpression: return m.CronExpression() case task.FieldPattern: return m.Pattern() case task.FieldPayload: return m.Payload() } 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.FieldCreatedAt: return m.OldCreatedAt(ctx) case task.FieldUpdatedAt: return m.OldUpdatedAt(ctx) case task.FieldStatus: return m.OldStatus(ctx) case task.FieldName: return m.OldName(ctx) case task.FieldTaskGroup: return m.OldTaskGroup(ctx) case task.FieldCronExpression: return m.OldCronExpression(ctx) case task.FieldPattern: return m.OldPattern(ctx) case task.FieldPayload: return m.OldPayload(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.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 case task.FieldStatus: v, ok := value.(uint8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStatus(v) return nil case task.FieldName: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetName(v) return nil case task.FieldTaskGroup: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetTaskGroup(v) return nil case task.FieldCronExpression: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetCronExpression(v) return nil case task.FieldPattern: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPattern(v) return nil case task.FieldPayload: v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetPayload(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.addstatus != nil { fields = append(fields, task.FieldStatus) } 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.FieldStatus: return m.AddedStatus() } 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.FieldStatus: v, ok := value.(int8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddStatus(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.FieldStatus) { fields = append(fields, task.FieldStatus) } 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.FieldStatus: m.ClearStatus() 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.FieldCreatedAt: m.ResetCreatedAt() return nil case task.FieldUpdatedAt: m.ResetUpdatedAt() return nil case task.FieldStatus: m.ResetStatus() return nil case task.FieldName: m.ResetName() return nil case task.FieldTaskGroup: m.ResetTaskGroup() return nil case task.FieldCronExpression: m.ResetCronExpression() return nil case task.FieldPattern: m.ResetPattern() return nil case task.FieldPayload: m.ResetPayload() 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, 1) if m.task_logs != nil { edges = append(edges, task.EdgeTaskLogs) } 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.EdgeTaskLogs: ids := make([]ent.Value, 0, len(m.task_logs)) for id := range m.task_logs { ids = append(ids, id) } return ids } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *TaskMutation) RemovedEdges() []string { edges := make([]string, 0, 1) if m.removedtask_logs != nil { edges = append(edges, task.EdgeTaskLogs) } 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.EdgeTaskLogs: ids := make([]ent.Value, 0, len(m.removedtask_logs)) for id := range m.removedtask_logs { 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, 1) if m.clearedtask_logs { edges = append(edges, task.EdgeTaskLogs) } 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.EdgeTaskLogs: return m.clearedtask_logs } 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 { } 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.EdgeTaskLogs: m.ResetTaskLogs() return nil } return fmt.Errorf("unknown Task edge %s", name) } // TaskLogMutation represents an operation that mutates the TaskLog nodes in the graph. type TaskLogMutation struct { config op Op typ string id *uint64 started_at *time.Time finished_at *time.Time result *uint8 addresult *int8 clearedFields map[string]struct{} tasks *uint64 clearedtasks bool done bool oldValue func(context.Context) (*TaskLog, error) predicates []predicate.TaskLog } var _ ent.Mutation = (*TaskLogMutation)(nil) // tasklogOption allows management of the mutation configuration using functional options. type tasklogOption func(*TaskLogMutation) // newTaskLogMutation creates new mutation for the TaskLog entity. func newTaskLogMutation(c config, op Op, opts ...tasklogOption) *TaskLogMutation { m := &TaskLogMutation{ config: c, op: op, typ: TypeTaskLog, clearedFields: make(map[string]struct{}), } for _, opt := range opts { opt(m) } return m } // withTaskLogID sets the ID field of the mutation. func withTaskLogID(id uint64) tasklogOption { return func(m *TaskLogMutation) { var ( err error once sync.Once value *TaskLog ) m.oldValue = func(ctx context.Context) (*TaskLog, error) { once.Do(func() { if m.done { err = errors.New("querying old values post mutation is not allowed") } else { value, err = m.Client().TaskLog.Get(ctx, id) } }) return value, err } m.id = &id } } // withTaskLog sets the old TaskLog of the mutation. func withTaskLog(node *TaskLog) tasklogOption { return func(m *TaskLogMutation) { m.oldValue = func(context.Context) (*TaskLog, 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 TaskLogMutation) 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 TaskLogMutation) Tx() (*Tx, error) { if _, ok := m.driver.(*txDriver); !ok { return nil, errors.New("ent: mutation is not running in a transaction") } tx := &Tx{config: m.config} tx.init() return tx, nil } // SetID sets the value of the id field. Note that this // operation is only accepted on creation of TaskLog entities. func (m *TaskLogMutation) SetID(id uint64) { 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 *TaskLogMutation) ID() (id uint64, 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 *TaskLogMutation) IDs(ctx context.Context) ([]uint64, error) { switch { case m.op.Is(OpUpdateOne | OpDeleteOne): id, exists := m.ID() if exists { return []uint64{id}, nil } fallthrough case m.op.Is(OpUpdate | OpDelete): return m.Client().TaskLog.Query().Where(m.predicates...).IDs(ctx) default: return nil, fmt.Errorf("IDs is not allowed on %s operations", m.op) } } // SetStartedAt sets the "started_at" field. func (m *TaskLogMutation) SetStartedAt(t time.Time) { m.started_at = &t } // StartedAt returns the value of the "started_at" field in the mutation. func (m *TaskLogMutation) StartedAt() (r time.Time, exists bool) { v := m.started_at if v == nil { return } return *v, true } // OldStartedAt returns the old "started_at" field's value of the TaskLog entity. // If the TaskLog object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *TaskLogMutation) OldStartedAt(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldStartedAt is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldStartedAt requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldStartedAt: %w", err) } return oldValue.StartedAt, nil } // ResetStartedAt resets all changes to the "started_at" field. func (m *TaskLogMutation) ResetStartedAt() { m.started_at = nil } // SetFinishedAt sets the "finished_at" field. func (m *TaskLogMutation) SetFinishedAt(t time.Time) { m.finished_at = &t } // FinishedAt returns the value of the "finished_at" field in the mutation. func (m *TaskLogMutation) FinishedAt() (r time.Time, exists bool) { v := m.finished_at if v == nil { return } return *v, true } // OldFinishedAt returns the old "finished_at" field's value of the TaskLog entity. // If the TaskLog object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *TaskLogMutation) OldFinishedAt(ctx context.Context) (v time.Time, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldFinishedAt is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldFinishedAt requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldFinishedAt: %w", err) } return oldValue.FinishedAt, nil } // ResetFinishedAt resets all changes to the "finished_at" field. func (m *TaskLogMutation) ResetFinishedAt() { m.finished_at = nil } // SetResult sets the "result" field. func (m *TaskLogMutation) SetResult(u uint8) { m.result = &u m.addresult = nil } // Result returns the value of the "result" field in the mutation. func (m *TaskLogMutation) Result() (r uint8, exists bool) { v := m.result if v == nil { return } return *v, true } // OldResult returns the old "result" field's value of the TaskLog entity. // If the TaskLog object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. func (m *TaskLogMutation) OldResult(ctx context.Context) (v uint8, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldResult is only allowed on UpdateOne operations") } if m.id == nil || m.oldValue == nil { return v, errors.New("OldResult requires an ID field in the mutation") } oldValue, err := m.oldValue(ctx) if err != nil { return v, fmt.Errorf("querying old value for OldResult: %w", err) } return oldValue.Result, nil } // AddResult adds u to the "result" field. func (m *TaskLogMutation) AddResult(u int8) { if m.addresult != nil { *m.addresult += u } else { m.addresult = &u } } // AddedResult returns the value that was added to the "result" field in this mutation. func (m *TaskLogMutation) AddedResult() (r int8, exists bool) { v := m.addresult if v == nil { return } return *v, true } // ResetResult resets all changes to the "result" field. func (m *TaskLogMutation) ResetResult() { m.result = nil m.addresult = nil } // SetTasksID sets the "tasks" edge to the Task entity by id. func (m *TaskLogMutation) SetTasksID(id uint64) { m.tasks = &id } // ClearTasks clears the "tasks" edge to the Task entity. func (m *TaskLogMutation) ClearTasks() { m.clearedtasks = true } // TasksCleared reports if the "tasks" edge to the Task entity was cleared. func (m *TaskLogMutation) TasksCleared() bool { return m.clearedtasks } // TasksID returns the "tasks" edge ID in the mutation. func (m *TaskLogMutation) TasksID() (id uint64, exists bool) { if m.tasks != nil { return *m.tasks, true } return } // TasksIDs returns the "tasks" edge IDs in the mutation. // Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use // TasksID instead. It exists only for internal usage by the builders. func (m *TaskLogMutation) TasksIDs() (ids []uint64) { if id := m.tasks; id != nil { ids = append(ids, *id) } return } // ResetTasks resets all changes to the "tasks" edge. func (m *TaskLogMutation) ResetTasks() { m.tasks = nil m.clearedtasks = false } // Where appends a list predicates to the TaskLogMutation builder. func (m *TaskLogMutation) Where(ps ...predicate.TaskLog) { m.predicates = append(m.predicates, ps...) } // WhereP appends storage-level predicates to the TaskLogMutation builder. Using this method, // users can use type-assertion to append predicates that do not depend on any generated package. func (m *TaskLogMutation) WhereP(ps ...func(*sql.Selector)) { p := make([]predicate.TaskLog, len(ps)) for i := range ps { p[i] = ps[i] } m.Where(p...) } // Op returns the operation name. func (m *TaskLogMutation) Op() Op { return m.op } // SetOp allows setting the mutation operation. func (m *TaskLogMutation) SetOp(op Op) { m.op = op } // Type returns the node type of this mutation (TaskLog). func (m *TaskLogMutation) 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 *TaskLogMutation) Fields() []string { fields := make([]string, 0, 3) if m.started_at != nil { fields = append(fields, tasklog.FieldStartedAt) } if m.finished_at != nil { fields = append(fields, tasklog.FieldFinishedAt) } if m.result != nil { fields = append(fields, tasklog.FieldResult) } 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 *TaskLogMutation) Field(name string) (ent.Value, bool) { switch name { case tasklog.FieldStartedAt: return m.StartedAt() case tasklog.FieldFinishedAt: return m.FinishedAt() case tasklog.FieldResult: return m.Result() } 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 *TaskLogMutation) OldField(ctx context.Context, name string) (ent.Value, error) { switch name { case tasklog.FieldStartedAt: return m.OldStartedAt(ctx) case tasklog.FieldFinishedAt: return m.OldFinishedAt(ctx) case tasklog.FieldResult: return m.OldResult(ctx) } return nil, fmt.Errorf("unknown TaskLog 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 *TaskLogMutation) SetField(name string, value ent.Value) error { switch name { case tasklog.FieldStartedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetStartedAt(v) return nil case tasklog.FieldFinishedAt: v, ok := value.(time.Time) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetFinishedAt(v) return nil case tasklog.FieldResult: v, ok := value.(uint8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.SetResult(v) return nil } return fmt.Errorf("unknown TaskLog field %s", name) } // AddedFields returns all numeric fields that were incremented/decremented during // this mutation. func (m *TaskLogMutation) AddedFields() []string { var fields []string if m.addresult != nil { fields = append(fields, tasklog.FieldResult) } 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 *TaskLogMutation) AddedField(name string) (ent.Value, bool) { switch name { case tasklog.FieldResult: return m.AddedResult() } 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 *TaskLogMutation) AddField(name string, value ent.Value) error { switch name { case tasklog.FieldResult: v, ok := value.(int8) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } m.AddResult(v) return nil } return fmt.Errorf("unknown TaskLog numeric field %s", name) } // ClearedFields returns all nullable fields that were cleared during this // mutation. func (m *TaskLogMutation) ClearedFields() []string { return nil } // FieldCleared returns a boolean indicating if a field with the given name was // cleared in this mutation. func (m *TaskLogMutation) 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 *TaskLogMutation) ClearField(name string) error { return fmt.Errorf("unknown TaskLog 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 *TaskLogMutation) ResetField(name string) error { switch name { case tasklog.FieldStartedAt: m.ResetStartedAt() return nil case tasklog.FieldFinishedAt: m.ResetFinishedAt() return nil case tasklog.FieldResult: m.ResetResult() return nil } return fmt.Errorf("unknown TaskLog field %s", name) } // AddedEdges returns all edge names that were set/added in this mutation. func (m *TaskLogMutation) AddedEdges() []string { edges := make([]string, 0, 1) if m.tasks != nil { edges = append(edges, tasklog.EdgeTasks) } return edges } // AddedIDs returns all IDs (to other nodes) that were added for the given edge // name in this mutation. func (m *TaskLogMutation) AddedIDs(name string) []ent.Value { switch name { case tasklog.EdgeTasks: if id := m.tasks; id != nil { return []ent.Value{*id} } } return nil } // RemovedEdges returns all edge names that were removed in this mutation. func (m *TaskLogMutation) 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 *TaskLogMutation) RemovedIDs(name string) []ent.Value { return nil } // ClearedEdges returns all edge names that were cleared in this mutation. func (m *TaskLogMutation) ClearedEdges() []string { edges := make([]string, 0, 1) if m.clearedtasks { edges = append(edges, tasklog.EdgeTasks) } return edges } // EdgeCleared returns a boolean which indicates if the edge with the given name // was cleared in this mutation. func (m *TaskLogMutation) EdgeCleared(name string) bool { switch name { case tasklog.EdgeTasks: return m.clearedtasks } 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 *TaskLogMutation) ClearEdge(name string) error { switch name { case tasklog.EdgeTasks: m.ClearTasks() return nil } return fmt.Errorf("unknown TaskLog 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 *TaskLogMutation) ResetEdge(name string) error { switch name { case tasklog.EdgeTasks: m.ResetTasks() return nil } return fmt.Errorf("unknown TaskLog edge %s", name) }