// Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. package query import ( "context" "gorm.io/gorm" "gorm.io/gorm/clause" "gorm.io/gorm/schema" "gorm.io/gen" "gorm.io/gen/field" "gorm.io/plugin/dbresolver" "github.com/coze-dev/coze-studio/backend/domain/conversation/message/internal/dal/model" ) func newMessage(db *gorm.DB, opts ...gen.DOOption) message { _message := message{} _message.messageDo.UseDB(db, opts...) _message.messageDo.UseModel(&model.Message{}) tableName := _message.messageDo.TableName() _message.ALL = field.NewAsterisk(tableName) _message.ID = field.NewInt64(tableName, "id") _message.RunID = field.NewInt64(tableName, "run_id") _message.ConversationID = field.NewInt64(tableName, "conversation_id") _message.UserID = field.NewString(tableName, "user_id") _message.AgentID = field.NewInt64(tableName, "agent_id") _message.Role = field.NewString(tableName, "role") _message.ContentType = field.NewString(tableName, "content_type") _message.Content = field.NewString(tableName, "content") _message.MessageType = field.NewString(tableName, "message_type") _message.DisplayContent = field.NewString(tableName, "display_content") _message.Ext = field.NewString(tableName, "ext") _message.SectionID = field.NewInt64(tableName, "section_id") _message.BrokenPosition = field.NewInt32(tableName, "broken_position") _message.Status = field.NewInt32(tableName, "status") _message.ModelContent = field.NewString(tableName, "model_content") _message.MetaInfo = field.NewString(tableName, "meta_info") _message.ReasoningContent = field.NewString(tableName, "reasoning_content") _message.CreatedAt = field.NewInt64(tableName, "created_at") _message.UpdatedAt = field.NewInt64(tableName, "updated_at") _message.fillFieldMap() return _message } // message message record type message struct { messageDo ALL field.Asterisk ID field.Int64 // id RunID field.Int64 // run_id ConversationID field.Int64 // conversation id UserID field.String // user id AgentID field.Int64 // agent_id Role field.String // role: user、assistant、system ContentType field.String // content type 1 text Content field.String // content MessageType field.String // message_type DisplayContent field.String // display content Ext field.String // message ext SectionID field.Int64 // section_id BrokenPosition field.Int32 // broken position Status field.Int32 // message status: 1 Available 2 Deleted 3 Replaced 4 Broken 5 Failed 6 Streaming 7 Pending ModelContent field.String // model content MetaInfo field.String // text tagging information such as citation and highlighting ReasoningContent field.String // reasoning content CreatedAt field.Int64 // Create Time in Milliseconds UpdatedAt field.Int64 // Update Time in Milliseconds fieldMap map[string]field.Expr } func (m message) Table(newTableName string) *message { m.messageDo.UseTable(newTableName) return m.updateTableName(newTableName) } func (m message) As(alias string) *message { m.messageDo.DO = *(m.messageDo.As(alias).(*gen.DO)) return m.updateTableName(alias) } func (m *message) updateTableName(table string) *message { m.ALL = field.NewAsterisk(table) m.ID = field.NewInt64(table, "id") m.RunID = field.NewInt64(table, "run_id") m.ConversationID = field.NewInt64(table, "conversation_id") m.UserID = field.NewString(table, "user_id") m.AgentID = field.NewInt64(table, "agent_id") m.Role = field.NewString(table, "role") m.ContentType = field.NewString(table, "content_type") m.Content = field.NewString(table, "content") m.MessageType = field.NewString(table, "message_type") m.DisplayContent = field.NewString(table, "display_content") m.Ext = field.NewString(table, "ext") m.SectionID = field.NewInt64(table, "section_id") m.BrokenPosition = field.NewInt32(table, "broken_position") m.Status = field.NewInt32(table, "status") m.ModelContent = field.NewString(table, "model_content") m.MetaInfo = field.NewString(table, "meta_info") m.ReasoningContent = field.NewString(table, "reasoning_content") m.CreatedAt = field.NewInt64(table, "created_at") m.UpdatedAt = field.NewInt64(table, "updated_at") m.fillFieldMap() return m } func (m *message) GetFieldByName(fieldName string) (field.OrderExpr, bool) { _f, ok := m.fieldMap[fieldName] if !ok || _f == nil { return nil, false } _oe, ok := _f.(field.OrderExpr) return _oe, ok } func (m *message) fillFieldMap() { m.fieldMap = make(map[string]field.Expr, 19) m.fieldMap["id"] = m.ID m.fieldMap["run_id"] = m.RunID m.fieldMap["conversation_id"] = m.ConversationID m.fieldMap["user_id"] = m.UserID m.fieldMap["agent_id"] = m.AgentID m.fieldMap["role"] = m.Role m.fieldMap["content_type"] = m.ContentType m.fieldMap["content"] = m.Content m.fieldMap["message_type"] = m.MessageType m.fieldMap["display_content"] = m.DisplayContent m.fieldMap["ext"] = m.Ext m.fieldMap["section_id"] = m.SectionID m.fieldMap["broken_position"] = m.BrokenPosition m.fieldMap["status"] = m.Status m.fieldMap["model_content"] = m.ModelContent m.fieldMap["meta_info"] = m.MetaInfo m.fieldMap["reasoning_content"] = m.ReasoningContent m.fieldMap["created_at"] = m.CreatedAt m.fieldMap["updated_at"] = m.UpdatedAt } func (m message) clone(db *gorm.DB) message { m.messageDo.ReplaceConnPool(db.Statement.ConnPool) return m } func (m message) replaceDB(db *gorm.DB) message { m.messageDo.ReplaceDB(db) return m } type messageDo struct{ gen.DO } type IMessageDo interface { gen.SubQuery Debug() IMessageDo WithContext(ctx context.Context) IMessageDo WithResult(fc func(tx gen.Dao)) gen.ResultInfo ReplaceDB(db *gorm.DB) ReadDB() IMessageDo WriteDB() IMessageDo As(alias string) gen.Dao Session(config *gorm.Session) IMessageDo Columns(cols ...field.Expr) gen.Columns Clauses(conds ...clause.Expression) IMessageDo Not(conds ...gen.Condition) IMessageDo Or(conds ...gen.Condition) IMessageDo Select(conds ...field.Expr) IMessageDo Where(conds ...gen.Condition) IMessageDo Order(conds ...field.Expr) IMessageDo Distinct(cols ...field.Expr) IMessageDo Omit(cols ...field.Expr) IMessageDo Join(table schema.Tabler, on ...field.Expr) IMessageDo LeftJoin(table schema.Tabler, on ...field.Expr) IMessageDo RightJoin(table schema.Tabler, on ...field.Expr) IMessageDo Group(cols ...field.Expr) IMessageDo Having(conds ...gen.Condition) IMessageDo Limit(limit int) IMessageDo Offset(offset int) IMessageDo Count() (count int64, err error) Scopes(funcs ...func(gen.Dao) gen.Dao) IMessageDo Unscoped() IMessageDo Create(values ...*model.Message) error CreateInBatches(values []*model.Message, batchSize int) error Save(values ...*model.Message) error First() (*model.Message, error) Take() (*model.Message, error) Last() (*model.Message, error) Find() ([]*model.Message, error) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Message, err error) FindInBatches(result *[]*model.Message, batchSize int, fc func(tx gen.Dao, batch int) error) error Pluck(column field.Expr, dest interface{}) error Delete(...*model.Message) (info gen.ResultInfo, err error) Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error) UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) Updates(value interface{}) (info gen.ResultInfo, err error) UpdateColumn(column field.Expr, value interface{}) (info gen.ResultInfo, err error) UpdateColumnSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error) UpdateColumns(value interface{}) (info gen.ResultInfo, err error) UpdateFrom(q gen.SubQuery) gen.Dao Attrs(attrs ...field.AssignExpr) IMessageDo Assign(attrs ...field.AssignExpr) IMessageDo Joins(fields ...field.RelationField) IMessageDo Preload(fields ...field.RelationField) IMessageDo FirstOrInit() (*model.Message, error) FirstOrCreate() (*model.Message, error) FindByPage(offset int, limit int) (result []*model.Message, count int64, err error) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) Scan(result interface{}) (err error) Returning(value interface{}, columns ...string) IMessageDo UnderlyingDB() *gorm.DB schema.Tabler } func (m messageDo) Debug() IMessageDo { return m.withDO(m.DO.Debug()) } func (m messageDo) WithContext(ctx context.Context) IMessageDo { return m.withDO(m.DO.WithContext(ctx)) } func (m messageDo) ReadDB() IMessageDo { return m.Clauses(dbresolver.Read) } func (m messageDo) WriteDB() IMessageDo { return m.Clauses(dbresolver.Write) } func (m messageDo) Session(config *gorm.Session) IMessageDo { return m.withDO(m.DO.Session(config)) } func (m messageDo) Clauses(conds ...clause.Expression) IMessageDo { return m.withDO(m.DO.Clauses(conds...)) } func (m messageDo) Returning(value interface{}, columns ...string) IMessageDo { return m.withDO(m.DO.Returning(value, columns...)) } func (m messageDo) Not(conds ...gen.Condition) IMessageDo { return m.withDO(m.DO.Not(conds...)) } func (m messageDo) Or(conds ...gen.Condition) IMessageDo { return m.withDO(m.DO.Or(conds...)) } func (m messageDo) Select(conds ...field.Expr) IMessageDo { return m.withDO(m.DO.Select(conds...)) } func (m messageDo) Where(conds ...gen.Condition) IMessageDo { return m.withDO(m.DO.Where(conds...)) } func (m messageDo) Order(conds ...field.Expr) IMessageDo { return m.withDO(m.DO.Order(conds...)) } func (m messageDo) Distinct(cols ...field.Expr) IMessageDo { return m.withDO(m.DO.Distinct(cols...)) } func (m messageDo) Omit(cols ...field.Expr) IMessageDo { return m.withDO(m.DO.Omit(cols...)) } func (m messageDo) Join(table schema.Tabler, on ...field.Expr) IMessageDo { return m.withDO(m.DO.Join(table, on...)) } func (m messageDo) LeftJoin(table schema.Tabler, on ...field.Expr) IMessageDo { return m.withDO(m.DO.LeftJoin(table, on...)) } func (m messageDo) RightJoin(table schema.Tabler, on ...field.Expr) IMessageDo { return m.withDO(m.DO.RightJoin(table, on...)) } func (m messageDo) Group(cols ...field.Expr) IMessageDo { return m.withDO(m.DO.Group(cols...)) } func (m messageDo) Having(conds ...gen.Condition) IMessageDo { return m.withDO(m.DO.Having(conds...)) } func (m messageDo) Limit(limit int) IMessageDo { return m.withDO(m.DO.Limit(limit)) } func (m messageDo) Offset(offset int) IMessageDo { return m.withDO(m.DO.Offset(offset)) } func (m messageDo) Scopes(funcs ...func(gen.Dao) gen.Dao) IMessageDo { return m.withDO(m.DO.Scopes(funcs...)) } func (m messageDo) Unscoped() IMessageDo { return m.withDO(m.DO.Unscoped()) } func (m messageDo) Create(values ...*model.Message) error { if len(values) == 0 { return nil } return m.DO.Create(values) } func (m messageDo) CreateInBatches(values []*model.Message, batchSize int) error { return m.DO.CreateInBatches(values, batchSize) } // Save : !!! underlying implementation is different with GORM // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) func (m messageDo) Save(values ...*model.Message) error { if len(values) == 0 { return nil } return m.DO.Save(values) } func (m messageDo) First() (*model.Message, error) { if result, err := m.DO.First(); err != nil { return nil, err } else { return result.(*model.Message), nil } } func (m messageDo) Take() (*model.Message, error) { if result, err := m.DO.Take(); err != nil { return nil, err } else { return result.(*model.Message), nil } } func (m messageDo) Last() (*model.Message, error) { if result, err := m.DO.Last(); err != nil { return nil, err } else { return result.(*model.Message), nil } } func (m messageDo) Find() ([]*model.Message, error) { result, err := m.DO.Find() return result.([]*model.Message), err } func (m messageDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Message, err error) { buf := make([]*model.Message, 0, batchSize) err = m.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { defer func() { results = append(results, buf...) }() return fc(tx, batch) }) return results, err } func (m messageDo) FindInBatches(result *[]*model.Message, batchSize int, fc func(tx gen.Dao, batch int) error) error { return m.DO.FindInBatches(result, batchSize, fc) } func (m messageDo) Attrs(attrs ...field.AssignExpr) IMessageDo { return m.withDO(m.DO.Attrs(attrs...)) } func (m messageDo) Assign(attrs ...field.AssignExpr) IMessageDo { return m.withDO(m.DO.Assign(attrs...)) } func (m messageDo) Joins(fields ...field.RelationField) IMessageDo { for _, _f := range fields { m = *m.withDO(m.DO.Joins(_f)) } return &m } func (m messageDo) Preload(fields ...field.RelationField) IMessageDo { for _, _f := range fields { m = *m.withDO(m.DO.Preload(_f)) } return &m } func (m messageDo) FirstOrInit() (*model.Message, error) { if result, err := m.DO.FirstOrInit(); err != nil { return nil, err } else { return result.(*model.Message), nil } } func (m messageDo) FirstOrCreate() (*model.Message, error) { if result, err := m.DO.FirstOrCreate(); err != nil { return nil, err } else { return result.(*model.Message), nil } } func (m messageDo) FindByPage(offset int, limit int) (result []*model.Message, count int64, err error) { result, err = m.Offset(offset).Limit(limit).Find() if err != nil { return } if size := len(result); 0 < limit && 0 < size && size < limit { count = int64(size + offset) return } count, err = m.Offset(-1).Limit(-1).Count() return } func (m messageDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { count, err = m.Count() if err != nil { return } err = m.Offset(offset).Limit(limit).Scan(result) return } func (m messageDo) Scan(result interface{}) (err error) { return m.DO.Scan(result) } func (m messageDo) Delete(models ...*model.Message) (result gen.ResultInfo, err error) { return m.DO.Delete(models) } func (m *messageDo) withDO(do gen.Dao) *messageDo { m.DO = *do.(*gen.DO) return m }