// Code generated by ent, DO NOT EDIT. package ent import ( "context" "errors" "fmt" "log" "reflect" "wechat-api/ent/migrate" "wechat-api/ent/batchmsg" "wechat-api/ent/contact" "wechat-api/ent/label" "wechat-api/ent/labelrelationship" "wechat-api/ent/message" "wechat-api/ent/messagerecords" "wechat-api/ent/server" "wechat-api/ent/sopnode" "wechat-api/ent/sopstage" "wechat-api/ent/soptask" "wechat-api/ent/wx" "entgo.io/ent" "entgo.io/ent/dialect" "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" stdsql "database/sql" ) // Client is the client that holds all ent builders. type Client struct { config // Schema is the client for creating, migrating and dropping schema. Schema *migrate.Schema // BatchMsg is the client for interacting with the BatchMsg builders. BatchMsg *BatchMsgClient // Contact is the client for interacting with the Contact builders. Contact *ContactClient // Label is the client for interacting with the Label builders. Label *LabelClient // LabelRelationship is the client for interacting with the LabelRelationship builders. LabelRelationship *LabelRelationshipClient // Message is the client for interacting with the Message builders. Message *MessageClient // MessageRecords is the client for interacting with the MessageRecords builders. MessageRecords *MessageRecordsClient // Server is the client for interacting with the Server builders. Server *ServerClient // SopNode is the client for interacting with the SopNode builders. SopNode *SopNodeClient // SopStage is the client for interacting with the SopStage builders. SopStage *SopStageClient // SopTask is the client for interacting with the SopTask builders. SopTask *SopTaskClient // Wx is the client for interacting with the Wx builders. Wx *WxClient } // NewClient creates a new client configured with the given options. func NewClient(opts ...Option) *Client { client := &Client{config: newConfig(opts...)} client.init() return client } func (c *Client) init() { c.Schema = migrate.NewSchema(c.driver) c.BatchMsg = NewBatchMsgClient(c.config) c.Contact = NewContactClient(c.config) c.Label = NewLabelClient(c.config) c.LabelRelationship = NewLabelRelationshipClient(c.config) c.Message = NewMessageClient(c.config) c.MessageRecords = NewMessageRecordsClient(c.config) c.Server = NewServerClient(c.config) c.SopNode = NewSopNodeClient(c.config) c.SopStage = NewSopStageClient(c.config) c.SopTask = NewSopTaskClient(c.config) c.Wx = NewWxClient(c.config) } type ( // config is the configuration for the client and its builder. config struct { // driver used for executing database requests. driver dialect.Driver // debug enable a debug logging. debug bool // log used for logging on debug mode. log func(...any) // hooks to execute on mutations. hooks *hooks // interceptors to execute on queries. inters *inters } // Option function to configure the client. Option func(*config) ) // newConfig creates a new config for the client. func newConfig(opts ...Option) config { cfg := config{log: log.Println, hooks: &hooks{}, inters: &inters{}} cfg.options(opts...) return cfg } // options applies the options on the config object. func (c *config) options(opts ...Option) { for _, opt := range opts { opt(c) } if c.debug { c.driver = dialect.Debug(c.driver, c.log) } } // Debug enables debug logging on the ent.Driver. func Debug() Option { return func(c *config) { c.debug = true } } // Log sets the logging function for debug mode. func Log(fn func(...any)) Option { return func(c *config) { c.log = fn } } // Driver configures the client driver. func Driver(driver dialect.Driver) Option { return func(c *config) { c.driver = driver } } // Open opens a database/sql.DB specified by the driver name and // the data source name, and returns a new client attached to it. // Optional parameters can be added for configuring the client. func Open(driverName, dataSourceName string, options ...Option) (*Client, error) { switch driverName { case dialect.MySQL, dialect.Postgres, dialect.SQLite: drv, err := sql.Open(driverName, dataSourceName) if err != nil { return nil, err } return NewClient(append(options, Driver(drv))...), nil default: return nil, fmt.Errorf("unsupported driver: %q", driverName) } } // ErrTxStarted is returned when trying to start a new transaction from a transactional client. var ErrTxStarted = errors.New("ent: cannot start a transaction within a transaction") // Tx returns a new transactional client. The provided context // is used until the transaction is committed or rolled back. func (c *Client) Tx(ctx context.Context) (*Tx, error) { if _, ok := c.driver.(*txDriver); ok { return nil, ErrTxStarted } tx, err := newTx(ctx, c.driver) if err != nil { return nil, fmt.Errorf("ent: starting a transaction: %w", err) } cfg := c.config cfg.driver = tx return &Tx{ ctx: ctx, config: cfg, BatchMsg: NewBatchMsgClient(cfg), Contact: NewContactClient(cfg), Label: NewLabelClient(cfg), LabelRelationship: NewLabelRelationshipClient(cfg), Message: NewMessageClient(cfg), MessageRecords: NewMessageRecordsClient(cfg), Server: NewServerClient(cfg), SopNode: NewSopNodeClient(cfg), SopStage: NewSopStageClient(cfg), SopTask: NewSopTaskClient(cfg), Wx: NewWxClient(cfg), }, nil } // BeginTx returns a transactional client with specified options. func (c *Client) BeginTx(ctx context.Context, opts *sql.TxOptions) (*Tx, error) { if _, ok := c.driver.(*txDriver); ok { return nil, errors.New("ent: cannot start a transaction within a transaction") } tx, err := c.driver.(interface { BeginTx(context.Context, *sql.TxOptions) (dialect.Tx, error) }).BeginTx(ctx, opts) if err != nil { return nil, fmt.Errorf("ent: starting a transaction: %w", err) } cfg := c.config cfg.driver = &txDriver{tx: tx, drv: c.driver} return &Tx{ ctx: ctx, config: cfg, BatchMsg: NewBatchMsgClient(cfg), Contact: NewContactClient(cfg), Label: NewLabelClient(cfg), LabelRelationship: NewLabelRelationshipClient(cfg), Message: NewMessageClient(cfg), MessageRecords: NewMessageRecordsClient(cfg), Server: NewServerClient(cfg), SopNode: NewSopNodeClient(cfg), SopStage: NewSopStageClient(cfg), SopTask: NewSopTaskClient(cfg), Wx: NewWxClient(cfg), }, nil } // Debug returns a new debug-client. It's used to get verbose logging on specific operations. // // client.Debug(). // BatchMsg. // Query(). // Count(ctx) func (c *Client) Debug() *Client { if c.debug { return c } cfg := c.config cfg.driver = dialect.Debug(c.driver, c.log) client := &Client{config: cfg} client.init() return client } // Close closes the database connection and prevents new queries from starting. func (c *Client) Close() error { return c.driver.Close() } // Use adds the mutation hooks to all the entity clients. // In order to add hooks to a specific client, call: `client.Node.Use(...)`. func (c *Client) Use(hooks ...Hook) { for _, n := range []interface{ Use(...Hook) }{ c.BatchMsg, c.Contact, c.Label, c.LabelRelationship, c.Message, c.MessageRecords, c.Server, c.SopNode, c.SopStage, c.SopTask, c.Wx, } { n.Use(hooks...) } } // Intercept adds the query interceptors to all the entity clients. // In order to add interceptors to a specific client, call: `client.Node.Intercept(...)`. func (c *Client) Intercept(interceptors ...Interceptor) { for _, n := range []interface{ Intercept(...Interceptor) }{ c.BatchMsg, c.Contact, c.Label, c.LabelRelationship, c.Message, c.MessageRecords, c.Server, c.SopNode, c.SopStage, c.SopTask, c.Wx, } { n.Intercept(interceptors...) } } // Mutate implements the ent.Mutator interface. func (c *Client) Mutate(ctx context.Context, m Mutation) (Value, error) { switch m := m.(type) { case *BatchMsgMutation: return c.BatchMsg.mutate(ctx, m) case *ContactMutation: return c.Contact.mutate(ctx, m) case *LabelMutation: return c.Label.mutate(ctx, m) case *LabelRelationshipMutation: return c.LabelRelationship.mutate(ctx, m) case *MessageMutation: return c.Message.mutate(ctx, m) case *MessageRecordsMutation: return c.MessageRecords.mutate(ctx, m) case *ServerMutation: return c.Server.mutate(ctx, m) case *SopNodeMutation: return c.SopNode.mutate(ctx, m) case *SopStageMutation: return c.SopStage.mutate(ctx, m) case *SopTaskMutation: return c.SopTask.mutate(ctx, m) case *WxMutation: return c.Wx.mutate(ctx, m) default: return nil, fmt.Errorf("ent: unknown mutation type %T", m) } } // BatchMsgClient is a client for the BatchMsg schema. type BatchMsgClient struct { config } // NewBatchMsgClient returns a client for the BatchMsg from the given config. func NewBatchMsgClient(c config) *BatchMsgClient { return &BatchMsgClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `batchmsg.Hooks(f(g(h())))`. func (c *BatchMsgClient) Use(hooks ...Hook) { c.hooks.BatchMsg = append(c.hooks.BatchMsg, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `batchmsg.Intercept(f(g(h())))`. func (c *BatchMsgClient) Intercept(interceptors ...Interceptor) { c.inters.BatchMsg = append(c.inters.BatchMsg, interceptors...) } // Create returns a builder for creating a BatchMsg entity. func (c *BatchMsgClient) Create() *BatchMsgCreate { mutation := newBatchMsgMutation(c.config, OpCreate) return &BatchMsgCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of BatchMsg entities. func (c *BatchMsgClient) CreateBulk(builders ...*BatchMsgCreate) *BatchMsgCreateBulk { return &BatchMsgCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *BatchMsgClient) MapCreateBulk(slice any, setFunc func(*BatchMsgCreate, int)) *BatchMsgCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &BatchMsgCreateBulk{err: fmt.Errorf("calling to BatchMsgClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*BatchMsgCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &BatchMsgCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for BatchMsg. func (c *BatchMsgClient) Update() *BatchMsgUpdate { mutation := newBatchMsgMutation(c.config, OpUpdate) return &BatchMsgUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *BatchMsgClient) UpdateOne(bm *BatchMsg) *BatchMsgUpdateOne { mutation := newBatchMsgMutation(c.config, OpUpdateOne, withBatchMsg(bm)) return &BatchMsgUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *BatchMsgClient) UpdateOneID(id uint64) *BatchMsgUpdateOne { mutation := newBatchMsgMutation(c.config, OpUpdateOne, withBatchMsgID(id)) return &BatchMsgUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for BatchMsg. func (c *BatchMsgClient) Delete() *BatchMsgDelete { mutation := newBatchMsgMutation(c.config, OpDelete) return &BatchMsgDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *BatchMsgClient) DeleteOne(bm *BatchMsg) *BatchMsgDeleteOne { return c.DeleteOneID(bm.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *BatchMsgClient) DeleteOneID(id uint64) *BatchMsgDeleteOne { builder := c.Delete().Where(batchmsg.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &BatchMsgDeleteOne{builder} } // Query returns a query builder for BatchMsg. func (c *BatchMsgClient) Query() *BatchMsgQuery { return &BatchMsgQuery{ config: c.config, ctx: &QueryContext{Type: TypeBatchMsg}, inters: c.Interceptors(), } } // Get returns a BatchMsg entity by its id. func (c *BatchMsgClient) Get(ctx context.Context, id uint64) (*BatchMsg, error) { return c.Query().Where(batchmsg.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *BatchMsgClient) GetX(ctx context.Context, id uint64) *BatchMsg { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // Hooks returns the client hooks. func (c *BatchMsgClient) Hooks() []Hook { hooks := c.hooks.BatchMsg return append(hooks[:len(hooks):len(hooks)], batchmsg.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *BatchMsgClient) Interceptors() []Interceptor { inters := c.inters.BatchMsg return append(inters[:len(inters):len(inters)], batchmsg.Interceptors[:]...) } func (c *BatchMsgClient) mutate(ctx context.Context, m *BatchMsgMutation) (Value, error) { switch m.Op() { case OpCreate: return (&BatchMsgCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&BatchMsgUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&BatchMsgUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&BatchMsgDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown BatchMsg mutation op: %q", m.Op()) } } // ContactClient is a client for the Contact schema. type ContactClient struct { config } // NewContactClient returns a client for the Contact from the given config. func NewContactClient(c config) *ContactClient { return &ContactClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `contact.Hooks(f(g(h())))`. func (c *ContactClient) Use(hooks ...Hook) { c.hooks.Contact = append(c.hooks.Contact, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `contact.Intercept(f(g(h())))`. func (c *ContactClient) Intercept(interceptors ...Interceptor) { c.inters.Contact = append(c.inters.Contact, interceptors...) } // Create returns a builder for creating a Contact entity. func (c *ContactClient) Create() *ContactCreate { mutation := newContactMutation(c.config, OpCreate) return &ContactCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Contact entities. func (c *ContactClient) CreateBulk(builders ...*ContactCreate) *ContactCreateBulk { return &ContactCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *ContactClient) MapCreateBulk(slice any, setFunc func(*ContactCreate, int)) *ContactCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &ContactCreateBulk{err: fmt.Errorf("calling to ContactClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*ContactCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &ContactCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Contact. func (c *ContactClient) Update() *ContactUpdate { mutation := newContactMutation(c.config, OpUpdate) return &ContactUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *ContactClient) UpdateOne(co *Contact) *ContactUpdateOne { mutation := newContactMutation(c.config, OpUpdateOne, withContact(co)) return &ContactUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *ContactClient) UpdateOneID(id uint64) *ContactUpdateOne { mutation := newContactMutation(c.config, OpUpdateOne, withContactID(id)) return &ContactUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Contact. func (c *ContactClient) Delete() *ContactDelete { mutation := newContactMutation(c.config, OpDelete) return &ContactDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *ContactClient) DeleteOne(co *Contact) *ContactDeleteOne { return c.DeleteOneID(co.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *ContactClient) DeleteOneID(id uint64) *ContactDeleteOne { builder := c.Delete().Where(contact.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &ContactDeleteOne{builder} } // Query returns a query builder for Contact. func (c *ContactClient) Query() *ContactQuery { return &ContactQuery{ config: c.config, ctx: &QueryContext{Type: TypeContact}, inters: c.Interceptors(), } } // Get returns a Contact entity by its id. func (c *ContactClient) Get(ctx context.Context, id uint64) (*Contact, error) { return c.Query().Where(contact.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *ContactClient) GetX(ctx context.Context, id uint64) *Contact { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryContactRelationships queries the contact_relationships edge of a Contact. func (c *ContactClient) QueryContactRelationships(co *Contact) *LabelRelationshipQuery { query := (&LabelRelationshipClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := co.ID step := sqlgraph.NewStep( sqlgraph.From(contact.Table, contact.FieldID, id), sqlgraph.To(labelrelationship.Table, labelrelationship.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, contact.ContactRelationshipsTable, contact.ContactRelationshipsColumn), ) fromV = sqlgraph.Neighbors(co.driver.Dialect(), step) return fromV, nil } return query } // QueryContactMessages queries the contact_messages edge of a Contact. func (c *ContactClient) QueryContactMessages(co *Contact) *MessageRecordsQuery { query := (&MessageRecordsClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := co.ID step := sqlgraph.NewStep( sqlgraph.From(contact.Table, contact.FieldID, id), sqlgraph.To(messagerecords.Table, messagerecords.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, contact.ContactMessagesTable, contact.ContactMessagesColumn), ) fromV = sqlgraph.Neighbors(co.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *ContactClient) Hooks() []Hook { hooks := c.hooks.Contact return append(hooks[:len(hooks):len(hooks)], contact.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *ContactClient) Interceptors() []Interceptor { inters := c.inters.Contact return append(inters[:len(inters):len(inters)], contact.Interceptors[:]...) } func (c *ContactClient) mutate(ctx context.Context, m *ContactMutation) (Value, error) { switch m.Op() { case OpCreate: return (&ContactCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&ContactUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&ContactUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&ContactDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Contact mutation op: %q", m.Op()) } } // LabelClient is a client for the Label schema. type LabelClient struct { config } // NewLabelClient returns a client for the Label from the given config. func NewLabelClient(c config) *LabelClient { return &LabelClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `label.Hooks(f(g(h())))`. func (c *LabelClient) Use(hooks ...Hook) { c.hooks.Label = append(c.hooks.Label, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `label.Intercept(f(g(h())))`. func (c *LabelClient) Intercept(interceptors ...Interceptor) { c.inters.Label = append(c.inters.Label, interceptors...) } // Create returns a builder for creating a Label entity. func (c *LabelClient) Create() *LabelCreate { mutation := newLabelMutation(c.config, OpCreate) return &LabelCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Label entities. func (c *LabelClient) CreateBulk(builders ...*LabelCreate) *LabelCreateBulk { return &LabelCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *LabelClient) MapCreateBulk(slice any, setFunc func(*LabelCreate, int)) *LabelCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &LabelCreateBulk{err: fmt.Errorf("calling to LabelClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*LabelCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &LabelCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Label. func (c *LabelClient) Update() *LabelUpdate { mutation := newLabelMutation(c.config, OpUpdate) return &LabelUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *LabelClient) UpdateOne(l *Label) *LabelUpdateOne { mutation := newLabelMutation(c.config, OpUpdateOne, withLabel(l)) return &LabelUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *LabelClient) UpdateOneID(id uint64) *LabelUpdateOne { mutation := newLabelMutation(c.config, OpUpdateOne, withLabelID(id)) return &LabelUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Label. func (c *LabelClient) Delete() *LabelDelete { mutation := newLabelMutation(c.config, OpDelete) return &LabelDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *LabelClient) DeleteOne(l *Label) *LabelDeleteOne { return c.DeleteOneID(l.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *LabelClient) DeleteOneID(id uint64) *LabelDeleteOne { builder := c.Delete().Where(label.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &LabelDeleteOne{builder} } // Query returns a query builder for Label. func (c *LabelClient) Query() *LabelQuery { return &LabelQuery{ config: c.config, ctx: &QueryContext{Type: TypeLabel}, inters: c.Interceptors(), } } // Get returns a Label entity by its id. func (c *LabelClient) Get(ctx context.Context, id uint64) (*Label, error) { return c.Query().Where(label.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *LabelClient) GetX(ctx context.Context, id uint64) *Label { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryLabelRelationships queries the label_relationships edge of a Label. func (c *LabelClient) QueryLabelRelationships(l *Label) *LabelRelationshipQuery { query := (&LabelRelationshipClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := l.ID step := sqlgraph.NewStep( sqlgraph.From(label.Table, label.FieldID, id), sqlgraph.To(labelrelationship.Table, labelrelationship.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, label.LabelRelationshipsTable, label.LabelRelationshipsColumn), ) fromV = sqlgraph.Neighbors(l.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *LabelClient) Hooks() []Hook { hooks := c.hooks.Label return append(hooks[:len(hooks):len(hooks)], label.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *LabelClient) Interceptors() []Interceptor { inters := c.inters.Label return append(inters[:len(inters):len(inters)], label.Interceptors[:]...) } func (c *LabelClient) mutate(ctx context.Context, m *LabelMutation) (Value, error) { switch m.Op() { case OpCreate: return (&LabelCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&LabelUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&LabelUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&LabelDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Label mutation op: %q", m.Op()) } } // LabelRelationshipClient is a client for the LabelRelationship schema. type LabelRelationshipClient struct { config } // NewLabelRelationshipClient returns a client for the LabelRelationship from the given config. func NewLabelRelationshipClient(c config) *LabelRelationshipClient { return &LabelRelationshipClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `labelrelationship.Hooks(f(g(h())))`. func (c *LabelRelationshipClient) Use(hooks ...Hook) { c.hooks.LabelRelationship = append(c.hooks.LabelRelationship, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `labelrelationship.Intercept(f(g(h())))`. func (c *LabelRelationshipClient) Intercept(interceptors ...Interceptor) { c.inters.LabelRelationship = append(c.inters.LabelRelationship, interceptors...) } // Create returns a builder for creating a LabelRelationship entity. func (c *LabelRelationshipClient) Create() *LabelRelationshipCreate { mutation := newLabelRelationshipMutation(c.config, OpCreate) return &LabelRelationshipCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of LabelRelationship entities. func (c *LabelRelationshipClient) CreateBulk(builders ...*LabelRelationshipCreate) *LabelRelationshipCreateBulk { return &LabelRelationshipCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *LabelRelationshipClient) MapCreateBulk(slice any, setFunc func(*LabelRelationshipCreate, int)) *LabelRelationshipCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &LabelRelationshipCreateBulk{err: fmt.Errorf("calling to LabelRelationshipClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*LabelRelationshipCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &LabelRelationshipCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for LabelRelationship. func (c *LabelRelationshipClient) Update() *LabelRelationshipUpdate { mutation := newLabelRelationshipMutation(c.config, OpUpdate) return &LabelRelationshipUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *LabelRelationshipClient) UpdateOne(lr *LabelRelationship) *LabelRelationshipUpdateOne { mutation := newLabelRelationshipMutation(c.config, OpUpdateOne, withLabelRelationship(lr)) return &LabelRelationshipUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *LabelRelationshipClient) UpdateOneID(id uint64) *LabelRelationshipUpdateOne { mutation := newLabelRelationshipMutation(c.config, OpUpdateOne, withLabelRelationshipID(id)) return &LabelRelationshipUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for LabelRelationship. func (c *LabelRelationshipClient) Delete() *LabelRelationshipDelete { mutation := newLabelRelationshipMutation(c.config, OpDelete) return &LabelRelationshipDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *LabelRelationshipClient) DeleteOne(lr *LabelRelationship) *LabelRelationshipDeleteOne { return c.DeleteOneID(lr.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *LabelRelationshipClient) DeleteOneID(id uint64) *LabelRelationshipDeleteOne { builder := c.Delete().Where(labelrelationship.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &LabelRelationshipDeleteOne{builder} } // Query returns a query builder for LabelRelationship. func (c *LabelRelationshipClient) Query() *LabelRelationshipQuery { return &LabelRelationshipQuery{ config: c.config, ctx: &QueryContext{Type: TypeLabelRelationship}, inters: c.Interceptors(), } } // Get returns a LabelRelationship entity by its id. func (c *LabelRelationshipClient) Get(ctx context.Context, id uint64) (*LabelRelationship, error) { return c.Query().Where(labelrelationship.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *LabelRelationshipClient) GetX(ctx context.Context, id uint64) *LabelRelationship { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryContacts queries the contacts edge of a LabelRelationship. func (c *LabelRelationshipClient) QueryContacts(lr *LabelRelationship) *ContactQuery { query := (&ContactClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := lr.ID step := sqlgraph.NewStep( sqlgraph.From(labelrelationship.Table, labelrelationship.FieldID, id), sqlgraph.To(contact.Table, contact.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, labelrelationship.ContactsTable, labelrelationship.ContactsColumn), ) fromV = sqlgraph.Neighbors(lr.driver.Dialect(), step) return fromV, nil } return query } // QueryLabels queries the labels edge of a LabelRelationship. func (c *LabelRelationshipClient) QueryLabels(lr *LabelRelationship) *LabelQuery { query := (&LabelClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := lr.ID step := sqlgraph.NewStep( sqlgraph.From(labelrelationship.Table, labelrelationship.FieldID, id), sqlgraph.To(label.Table, label.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, labelrelationship.LabelsTable, labelrelationship.LabelsColumn), ) fromV = sqlgraph.Neighbors(lr.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *LabelRelationshipClient) Hooks() []Hook { hooks := c.hooks.LabelRelationship return append(hooks[:len(hooks):len(hooks)], labelrelationship.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *LabelRelationshipClient) Interceptors() []Interceptor { inters := c.inters.LabelRelationship return append(inters[:len(inters):len(inters)], labelrelationship.Interceptors[:]...) } func (c *LabelRelationshipClient) mutate(ctx context.Context, m *LabelRelationshipMutation) (Value, error) { switch m.Op() { case OpCreate: return (&LabelRelationshipCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&LabelRelationshipUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&LabelRelationshipUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&LabelRelationshipDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown LabelRelationship mutation op: %q", m.Op()) } } // MessageClient is a client for the Message schema. type MessageClient struct { config } // NewMessageClient returns a client for the Message from the given config. func NewMessageClient(c config) *MessageClient { return &MessageClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `message.Hooks(f(g(h())))`. func (c *MessageClient) Use(hooks ...Hook) { c.hooks.Message = append(c.hooks.Message, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `message.Intercept(f(g(h())))`. func (c *MessageClient) Intercept(interceptors ...Interceptor) { c.inters.Message = append(c.inters.Message, interceptors...) } // Create returns a builder for creating a Message entity. func (c *MessageClient) Create() *MessageCreate { mutation := newMessageMutation(c.config, OpCreate) return &MessageCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Message entities. func (c *MessageClient) CreateBulk(builders ...*MessageCreate) *MessageCreateBulk { return &MessageCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *MessageClient) MapCreateBulk(slice any, setFunc func(*MessageCreate, int)) *MessageCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &MessageCreateBulk{err: fmt.Errorf("calling to MessageClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*MessageCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &MessageCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Message. func (c *MessageClient) Update() *MessageUpdate { mutation := newMessageMutation(c.config, OpUpdate) return &MessageUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *MessageClient) UpdateOne(m *Message) *MessageUpdateOne { mutation := newMessageMutation(c.config, OpUpdateOne, withMessage(m)) return &MessageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *MessageClient) UpdateOneID(id int) *MessageUpdateOne { mutation := newMessageMutation(c.config, OpUpdateOne, withMessageID(id)) return &MessageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Message. func (c *MessageClient) Delete() *MessageDelete { mutation := newMessageMutation(c.config, OpDelete) return &MessageDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *MessageClient) DeleteOne(m *Message) *MessageDeleteOne { return c.DeleteOneID(m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *MessageClient) DeleteOneID(id int) *MessageDeleteOne { builder := c.Delete().Where(message.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &MessageDeleteOne{builder} } // Query returns a query builder for Message. func (c *MessageClient) Query() *MessageQuery { return &MessageQuery{ config: c.config, ctx: &QueryContext{Type: TypeMessage}, inters: c.Interceptors(), } } // Get returns a Message entity by its id. func (c *MessageClient) Get(ctx context.Context, id int) (*Message, error) { return c.Query().Where(message.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *MessageClient) GetX(ctx context.Context, id int) *Message { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // Hooks returns the client hooks. func (c *MessageClient) Hooks() []Hook { return c.hooks.Message } // Interceptors returns the client interceptors. func (c *MessageClient) Interceptors() []Interceptor { return c.inters.Message } func (c *MessageClient) mutate(ctx context.Context, m *MessageMutation) (Value, error) { switch m.Op() { case OpCreate: return (&MessageCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&MessageUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&MessageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&MessageDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Message mutation op: %q", m.Op()) } } // MessageRecordsClient is a client for the MessageRecords schema. type MessageRecordsClient struct { config } // NewMessageRecordsClient returns a client for the MessageRecords from the given config. func NewMessageRecordsClient(c config) *MessageRecordsClient { return &MessageRecordsClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `messagerecords.Hooks(f(g(h())))`. func (c *MessageRecordsClient) Use(hooks ...Hook) { c.hooks.MessageRecords = append(c.hooks.MessageRecords, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `messagerecords.Intercept(f(g(h())))`. func (c *MessageRecordsClient) Intercept(interceptors ...Interceptor) { c.inters.MessageRecords = append(c.inters.MessageRecords, interceptors...) } // Create returns a builder for creating a MessageRecords entity. func (c *MessageRecordsClient) Create() *MessageRecordsCreate { mutation := newMessageRecordsMutation(c.config, OpCreate) return &MessageRecordsCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of MessageRecords entities. func (c *MessageRecordsClient) CreateBulk(builders ...*MessageRecordsCreate) *MessageRecordsCreateBulk { return &MessageRecordsCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *MessageRecordsClient) MapCreateBulk(slice any, setFunc func(*MessageRecordsCreate, int)) *MessageRecordsCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &MessageRecordsCreateBulk{err: fmt.Errorf("calling to MessageRecordsClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*MessageRecordsCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &MessageRecordsCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for MessageRecords. func (c *MessageRecordsClient) Update() *MessageRecordsUpdate { mutation := newMessageRecordsMutation(c.config, OpUpdate) return &MessageRecordsUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *MessageRecordsClient) UpdateOne(mr *MessageRecords) *MessageRecordsUpdateOne { mutation := newMessageRecordsMutation(c.config, OpUpdateOne, withMessageRecords(mr)) return &MessageRecordsUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *MessageRecordsClient) UpdateOneID(id uint64) *MessageRecordsUpdateOne { mutation := newMessageRecordsMutation(c.config, OpUpdateOne, withMessageRecordsID(id)) return &MessageRecordsUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for MessageRecords. func (c *MessageRecordsClient) Delete() *MessageRecordsDelete { mutation := newMessageRecordsMutation(c.config, OpDelete) return &MessageRecordsDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *MessageRecordsClient) DeleteOne(mr *MessageRecords) *MessageRecordsDeleteOne { return c.DeleteOneID(mr.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *MessageRecordsClient) DeleteOneID(id uint64) *MessageRecordsDeleteOne { builder := c.Delete().Where(messagerecords.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &MessageRecordsDeleteOne{builder} } // Query returns a query builder for MessageRecords. func (c *MessageRecordsClient) Query() *MessageRecordsQuery { return &MessageRecordsQuery{ config: c.config, ctx: &QueryContext{Type: TypeMessageRecords}, inters: c.Interceptors(), } } // Get returns a MessageRecords entity by its id. func (c *MessageRecordsClient) Get(ctx context.Context, id uint64) (*MessageRecords, error) { return c.Query().Where(messagerecords.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *MessageRecordsClient) GetX(ctx context.Context, id uint64) *MessageRecords { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QuerySopStage queries the sop_stage edge of a MessageRecords. func (c *MessageRecordsClient) QuerySopStage(mr *MessageRecords) *SopStageQuery { query := (&SopStageClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := mr.ID step := sqlgraph.NewStep( sqlgraph.From(messagerecords.Table, messagerecords.FieldID, id), sqlgraph.To(sopstage.Table, sopstage.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, messagerecords.SopStageTable, messagerecords.SopStageColumn), ) fromV = sqlgraph.Neighbors(mr.driver.Dialect(), step) return fromV, nil } return query } // QuerySopNode queries the sop_node edge of a MessageRecords. func (c *MessageRecordsClient) QuerySopNode(mr *MessageRecords) *SopNodeQuery { query := (&SopNodeClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := mr.ID step := sqlgraph.NewStep( sqlgraph.From(messagerecords.Table, messagerecords.FieldID, id), sqlgraph.To(sopnode.Table, sopnode.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, messagerecords.SopNodeTable, messagerecords.SopNodeColumn), ) fromV = sqlgraph.Neighbors(mr.driver.Dialect(), step) return fromV, nil } return query } // QueryMessageContact queries the message_contact edge of a MessageRecords. func (c *MessageRecordsClient) QueryMessageContact(mr *MessageRecords) *ContactQuery { query := (&ContactClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := mr.ID step := sqlgraph.NewStep( sqlgraph.From(messagerecords.Table, messagerecords.FieldID, id), sqlgraph.To(contact.Table, contact.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, messagerecords.MessageContactTable, messagerecords.MessageContactColumn), ) fromV = sqlgraph.Neighbors(mr.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *MessageRecordsClient) Hooks() []Hook { hooks := c.hooks.MessageRecords return append(hooks[:len(hooks):len(hooks)], messagerecords.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *MessageRecordsClient) Interceptors() []Interceptor { inters := c.inters.MessageRecords return append(inters[:len(inters):len(inters)], messagerecords.Interceptors[:]...) } func (c *MessageRecordsClient) mutate(ctx context.Context, m *MessageRecordsMutation) (Value, error) { switch m.Op() { case OpCreate: return (&MessageRecordsCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&MessageRecordsUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&MessageRecordsUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&MessageRecordsDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown MessageRecords mutation op: %q", m.Op()) } } // ServerClient is a client for the Server schema. type ServerClient struct { config } // NewServerClient returns a client for the Server from the given config. func NewServerClient(c config) *ServerClient { return &ServerClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `server.Hooks(f(g(h())))`. func (c *ServerClient) Use(hooks ...Hook) { c.hooks.Server = append(c.hooks.Server, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `server.Intercept(f(g(h())))`. func (c *ServerClient) Intercept(interceptors ...Interceptor) { c.inters.Server = append(c.inters.Server, interceptors...) } // Create returns a builder for creating a Server entity. func (c *ServerClient) Create() *ServerCreate { mutation := newServerMutation(c.config, OpCreate) return &ServerCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Server entities. func (c *ServerClient) CreateBulk(builders ...*ServerCreate) *ServerCreateBulk { return &ServerCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *ServerClient) MapCreateBulk(slice any, setFunc func(*ServerCreate, int)) *ServerCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &ServerCreateBulk{err: fmt.Errorf("calling to ServerClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*ServerCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &ServerCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Server. func (c *ServerClient) Update() *ServerUpdate { mutation := newServerMutation(c.config, OpUpdate) return &ServerUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *ServerClient) UpdateOne(s *Server) *ServerUpdateOne { mutation := newServerMutation(c.config, OpUpdateOne, withServer(s)) return &ServerUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *ServerClient) UpdateOneID(id uint64) *ServerUpdateOne { mutation := newServerMutation(c.config, OpUpdateOne, withServerID(id)) return &ServerUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Server. func (c *ServerClient) Delete() *ServerDelete { mutation := newServerMutation(c.config, OpDelete) return &ServerDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *ServerClient) DeleteOne(s *Server) *ServerDeleteOne { return c.DeleteOneID(s.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *ServerClient) DeleteOneID(id uint64) *ServerDeleteOne { builder := c.Delete().Where(server.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &ServerDeleteOne{builder} } // Query returns a query builder for Server. func (c *ServerClient) Query() *ServerQuery { return &ServerQuery{ config: c.config, ctx: &QueryContext{Type: TypeServer}, inters: c.Interceptors(), } } // Get returns a Server entity by its id. func (c *ServerClient) Get(ctx context.Context, id uint64) (*Server, error) { return c.Query().Where(server.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *ServerClient) GetX(ctx context.Context, id uint64) *Server { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryWxs queries the wxs edge of a Server. func (c *ServerClient) QueryWxs(s *Server) *WxQuery { query := (&WxClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := s.ID step := sqlgraph.NewStep( sqlgraph.From(server.Table, server.FieldID, id), sqlgraph.To(wx.Table, wx.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, server.WxsTable, server.WxsColumn), ) fromV = sqlgraph.Neighbors(s.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *ServerClient) Hooks() []Hook { hooks := c.hooks.Server return append(hooks[:len(hooks):len(hooks)], server.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *ServerClient) Interceptors() []Interceptor { inters := c.inters.Server return append(inters[:len(inters):len(inters)], server.Interceptors[:]...) } func (c *ServerClient) mutate(ctx context.Context, m *ServerMutation) (Value, error) { switch m.Op() { case OpCreate: return (&ServerCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&ServerUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&ServerUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&ServerDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Server mutation op: %q", m.Op()) } } // SopNodeClient is a client for the SopNode schema. type SopNodeClient struct { config } // NewSopNodeClient returns a client for the SopNode from the given config. func NewSopNodeClient(c config) *SopNodeClient { return &SopNodeClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `sopnode.Hooks(f(g(h())))`. func (c *SopNodeClient) Use(hooks ...Hook) { c.hooks.SopNode = append(c.hooks.SopNode, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `sopnode.Intercept(f(g(h())))`. func (c *SopNodeClient) Intercept(interceptors ...Interceptor) { c.inters.SopNode = append(c.inters.SopNode, interceptors...) } // Create returns a builder for creating a SopNode entity. func (c *SopNodeClient) Create() *SopNodeCreate { mutation := newSopNodeMutation(c.config, OpCreate) return &SopNodeCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of SopNode entities. func (c *SopNodeClient) CreateBulk(builders ...*SopNodeCreate) *SopNodeCreateBulk { return &SopNodeCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *SopNodeClient) MapCreateBulk(slice any, setFunc func(*SopNodeCreate, int)) *SopNodeCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &SopNodeCreateBulk{err: fmt.Errorf("calling to SopNodeClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*SopNodeCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &SopNodeCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for SopNode. func (c *SopNodeClient) Update() *SopNodeUpdate { mutation := newSopNodeMutation(c.config, OpUpdate) return &SopNodeUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *SopNodeClient) UpdateOne(sn *SopNode) *SopNodeUpdateOne { mutation := newSopNodeMutation(c.config, OpUpdateOne, withSopNode(sn)) return &SopNodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *SopNodeClient) UpdateOneID(id uint64) *SopNodeUpdateOne { mutation := newSopNodeMutation(c.config, OpUpdateOne, withSopNodeID(id)) return &SopNodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for SopNode. func (c *SopNodeClient) Delete() *SopNodeDelete { mutation := newSopNodeMutation(c.config, OpDelete) return &SopNodeDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *SopNodeClient) DeleteOne(sn *SopNode) *SopNodeDeleteOne { return c.DeleteOneID(sn.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *SopNodeClient) DeleteOneID(id uint64) *SopNodeDeleteOne { builder := c.Delete().Where(sopnode.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &SopNodeDeleteOne{builder} } // Query returns a query builder for SopNode. func (c *SopNodeClient) Query() *SopNodeQuery { return &SopNodeQuery{ config: c.config, ctx: &QueryContext{Type: TypeSopNode}, inters: c.Interceptors(), } } // Get returns a SopNode entity by its id. func (c *SopNodeClient) Get(ctx context.Context, id uint64) (*SopNode, error) { return c.Query().Where(sopnode.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *SopNodeClient) GetX(ctx context.Context, id uint64) *SopNode { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QuerySopStage queries the sop_stage edge of a SopNode. func (c *SopNodeClient) QuerySopStage(sn *SopNode) *SopStageQuery { query := (&SopStageClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := sn.ID step := sqlgraph.NewStep( sqlgraph.From(sopnode.Table, sopnode.FieldID, id), sqlgraph.To(sopstage.Table, sopstage.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, sopnode.SopStageTable, sopnode.SopStageColumn), ) fromV = sqlgraph.Neighbors(sn.driver.Dialect(), step) return fromV, nil } return query } // QueryNodeMessages queries the node_messages edge of a SopNode. func (c *SopNodeClient) QueryNodeMessages(sn *SopNode) *MessageRecordsQuery { query := (&MessageRecordsClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := sn.ID step := sqlgraph.NewStep( sqlgraph.From(sopnode.Table, sopnode.FieldID, id), sqlgraph.To(messagerecords.Table, messagerecords.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, sopnode.NodeMessagesTable, sopnode.NodeMessagesColumn), ) fromV = sqlgraph.Neighbors(sn.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *SopNodeClient) Hooks() []Hook { hooks := c.hooks.SopNode return append(hooks[:len(hooks):len(hooks)], sopnode.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *SopNodeClient) Interceptors() []Interceptor { inters := c.inters.SopNode return append(inters[:len(inters):len(inters)], sopnode.Interceptors[:]...) } func (c *SopNodeClient) mutate(ctx context.Context, m *SopNodeMutation) (Value, error) { switch m.Op() { case OpCreate: return (&SopNodeCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&SopNodeUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&SopNodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&SopNodeDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown SopNode mutation op: %q", m.Op()) } } // SopStageClient is a client for the SopStage schema. type SopStageClient struct { config } // NewSopStageClient returns a client for the SopStage from the given config. func NewSopStageClient(c config) *SopStageClient { return &SopStageClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `sopstage.Hooks(f(g(h())))`. func (c *SopStageClient) Use(hooks ...Hook) { c.hooks.SopStage = append(c.hooks.SopStage, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `sopstage.Intercept(f(g(h())))`. func (c *SopStageClient) Intercept(interceptors ...Interceptor) { c.inters.SopStage = append(c.inters.SopStage, interceptors...) } // Create returns a builder for creating a SopStage entity. func (c *SopStageClient) Create() *SopStageCreate { mutation := newSopStageMutation(c.config, OpCreate) return &SopStageCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of SopStage entities. func (c *SopStageClient) CreateBulk(builders ...*SopStageCreate) *SopStageCreateBulk { return &SopStageCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *SopStageClient) MapCreateBulk(slice any, setFunc func(*SopStageCreate, int)) *SopStageCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &SopStageCreateBulk{err: fmt.Errorf("calling to SopStageClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*SopStageCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &SopStageCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for SopStage. func (c *SopStageClient) Update() *SopStageUpdate { mutation := newSopStageMutation(c.config, OpUpdate) return &SopStageUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *SopStageClient) UpdateOne(ss *SopStage) *SopStageUpdateOne { mutation := newSopStageMutation(c.config, OpUpdateOne, withSopStage(ss)) return &SopStageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *SopStageClient) UpdateOneID(id uint64) *SopStageUpdateOne { mutation := newSopStageMutation(c.config, OpUpdateOne, withSopStageID(id)) return &SopStageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for SopStage. func (c *SopStageClient) Delete() *SopStageDelete { mutation := newSopStageMutation(c.config, OpDelete) return &SopStageDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *SopStageClient) DeleteOne(ss *SopStage) *SopStageDeleteOne { return c.DeleteOneID(ss.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *SopStageClient) DeleteOneID(id uint64) *SopStageDeleteOne { builder := c.Delete().Where(sopstage.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &SopStageDeleteOne{builder} } // Query returns a query builder for SopStage. func (c *SopStageClient) Query() *SopStageQuery { return &SopStageQuery{ config: c.config, ctx: &QueryContext{Type: TypeSopStage}, inters: c.Interceptors(), } } // Get returns a SopStage entity by its id. func (c *SopStageClient) Get(ctx context.Context, id uint64) (*SopStage, error) { return c.Query().Where(sopstage.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *SopStageClient) GetX(ctx context.Context, id uint64) *SopStage { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QuerySopTask queries the sop_task edge of a SopStage. func (c *SopStageClient) QuerySopTask(ss *SopStage) *SopTaskQuery { query := (&SopTaskClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := ss.ID step := sqlgraph.NewStep( sqlgraph.From(sopstage.Table, sopstage.FieldID, id), sqlgraph.To(soptask.Table, soptask.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, sopstage.SopTaskTable, sopstage.SopTaskColumn), ) fromV = sqlgraph.Neighbors(ss.driver.Dialect(), step) return fromV, nil } return query } // QueryStageNodes queries the stage_nodes edge of a SopStage. func (c *SopStageClient) QueryStageNodes(ss *SopStage) *SopNodeQuery { query := (&SopNodeClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := ss.ID step := sqlgraph.NewStep( sqlgraph.From(sopstage.Table, sopstage.FieldID, id), sqlgraph.To(sopnode.Table, sopnode.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, sopstage.StageNodesTable, sopstage.StageNodesColumn), ) fromV = sqlgraph.Neighbors(ss.driver.Dialect(), step) return fromV, nil } return query } // QueryStageMessages queries the stage_messages edge of a SopStage. func (c *SopStageClient) QueryStageMessages(ss *SopStage) *MessageRecordsQuery { query := (&MessageRecordsClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := ss.ID step := sqlgraph.NewStep( sqlgraph.From(sopstage.Table, sopstage.FieldID, id), sqlgraph.To(messagerecords.Table, messagerecords.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, sopstage.StageMessagesTable, sopstage.StageMessagesColumn), ) fromV = sqlgraph.Neighbors(ss.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *SopStageClient) Hooks() []Hook { hooks := c.hooks.SopStage return append(hooks[:len(hooks):len(hooks)], sopstage.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *SopStageClient) Interceptors() []Interceptor { inters := c.inters.SopStage return append(inters[:len(inters):len(inters)], sopstage.Interceptors[:]...) } func (c *SopStageClient) mutate(ctx context.Context, m *SopStageMutation) (Value, error) { switch m.Op() { case OpCreate: return (&SopStageCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&SopStageUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&SopStageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&SopStageDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown SopStage mutation op: %q", m.Op()) } } // SopTaskClient is a client for the SopTask schema. type SopTaskClient struct { config } // NewSopTaskClient returns a client for the SopTask from the given config. func NewSopTaskClient(c config) *SopTaskClient { return &SopTaskClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `soptask.Hooks(f(g(h())))`. func (c *SopTaskClient) Use(hooks ...Hook) { c.hooks.SopTask = append(c.hooks.SopTask, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `soptask.Intercept(f(g(h())))`. func (c *SopTaskClient) Intercept(interceptors ...Interceptor) { c.inters.SopTask = append(c.inters.SopTask, interceptors...) } // Create returns a builder for creating a SopTask entity. func (c *SopTaskClient) Create() *SopTaskCreate { mutation := newSopTaskMutation(c.config, OpCreate) return &SopTaskCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of SopTask entities. func (c *SopTaskClient) CreateBulk(builders ...*SopTaskCreate) *SopTaskCreateBulk { return &SopTaskCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *SopTaskClient) MapCreateBulk(slice any, setFunc func(*SopTaskCreate, int)) *SopTaskCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &SopTaskCreateBulk{err: fmt.Errorf("calling to SopTaskClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*SopTaskCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &SopTaskCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for SopTask. func (c *SopTaskClient) Update() *SopTaskUpdate { mutation := newSopTaskMutation(c.config, OpUpdate) return &SopTaskUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *SopTaskClient) UpdateOne(st *SopTask) *SopTaskUpdateOne { mutation := newSopTaskMutation(c.config, OpUpdateOne, withSopTask(st)) return &SopTaskUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *SopTaskClient) UpdateOneID(id uint64) *SopTaskUpdateOne { mutation := newSopTaskMutation(c.config, OpUpdateOne, withSopTaskID(id)) return &SopTaskUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for SopTask. func (c *SopTaskClient) Delete() *SopTaskDelete { mutation := newSopTaskMutation(c.config, OpDelete) return &SopTaskDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *SopTaskClient) DeleteOne(st *SopTask) *SopTaskDeleteOne { return c.DeleteOneID(st.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *SopTaskClient) DeleteOneID(id uint64) *SopTaskDeleteOne { builder := c.Delete().Where(soptask.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &SopTaskDeleteOne{builder} } // Query returns a query builder for SopTask. func (c *SopTaskClient) Query() *SopTaskQuery { return &SopTaskQuery{ config: c.config, ctx: &QueryContext{Type: TypeSopTask}, inters: c.Interceptors(), } } // Get returns a SopTask entity by its id. func (c *SopTaskClient) Get(ctx context.Context, id uint64) (*SopTask, error) { return c.Query().Where(soptask.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *SopTaskClient) GetX(ctx context.Context, id uint64) *SopTask { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryTaskStages queries the task_stages edge of a SopTask. func (c *SopTaskClient) QueryTaskStages(st *SopTask) *SopStageQuery { query := (&SopStageClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := st.ID step := sqlgraph.NewStep( sqlgraph.From(soptask.Table, soptask.FieldID, id), sqlgraph.To(sopstage.Table, sopstage.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, soptask.TaskStagesTable, soptask.TaskStagesColumn), ) fromV = sqlgraph.Neighbors(st.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *SopTaskClient) Hooks() []Hook { hooks := c.hooks.SopTask return append(hooks[:len(hooks):len(hooks)], soptask.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *SopTaskClient) Interceptors() []Interceptor { inters := c.inters.SopTask return append(inters[:len(inters):len(inters)], soptask.Interceptors[:]...) } func (c *SopTaskClient) mutate(ctx context.Context, m *SopTaskMutation) (Value, error) { switch m.Op() { case OpCreate: return (&SopTaskCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&SopTaskUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&SopTaskUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&SopTaskDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown SopTask mutation op: %q", m.Op()) } } // WxClient is a client for the Wx schema. type WxClient struct { config } // NewWxClient returns a client for the Wx from the given config. func NewWxClient(c config) *WxClient { return &WxClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `wx.Hooks(f(g(h())))`. func (c *WxClient) Use(hooks ...Hook) { c.hooks.Wx = append(c.hooks.Wx, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `wx.Intercept(f(g(h())))`. func (c *WxClient) Intercept(interceptors ...Interceptor) { c.inters.Wx = append(c.inters.Wx, interceptors...) } // Create returns a builder for creating a Wx entity. func (c *WxClient) Create() *WxCreate { mutation := newWxMutation(c.config, OpCreate) return &WxCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Wx entities. func (c *WxClient) CreateBulk(builders ...*WxCreate) *WxCreateBulk { return &WxCreateBulk{config: c.config, builders: builders} } // MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates // a builder and applies setFunc on it. func (c *WxClient) MapCreateBulk(slice any, setFunc func(*WxCreate, int)) *WxCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &WxCreateBulk{err: fmt.Errorf("calling to WxClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*WxCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &WxCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Wx. func (c *WxClient) Update() *WxUpdate { mutation := newWxMutation(c.config, OpUpdate) return &WxUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *WxClient) UpdateOne(w *Wx) *WxUpdateOne { mutation := newWxMutation(c.config, OpUpdateOne, withWx(w)) return &WxUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *WxClient) UpdateOneID(id uint64) *WxUpdateOne { mutation := newWxMutation(c.config, OpUpdateOne, withWxID(id)) return &WxUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Wx. func (c *WxClient) Delete() *WxDelete { mutation := newWxMutation(c.config, OpDelete) return &WxDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *WxClient) DeleteOne(w *Wx) *WxDeleteOne { return c.DeleteOneID(w.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *WxClient) DeleteOneID(id uint64) *WxDeleteOne { builder := c.Delete().Where(wx.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &WxDeleteOne{builder} } // Query returns a query builder for Wx. func (c *WxClient) Query() *WxQuery { return &WxQuery{ config: c.config, ctx: &QueryContext{Type: TypeWx}, inters: c.Interceptors(), } } // Get returns a Wx entity by its id. func (c *WxClient) Get(ctx context.Context, id uint64) (*Wx, error) { return c.Query().Where(wx.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *WxClient) GetX(ctx context.Context, id uint64) *Wx { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryServer queries the server edge of a Wx. func (c *WxClient) QueryServer(w *Wx) *ServerQuery { query := (&ServerClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := w.ID step := sqlgraph.NewStep( sqlgraph.From(wx.Table, wx.FieldID, id), sqlgraph.To(server.Table, server.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, wx.ServerTable, wx.ServerColumn), ) fromV = sqlgraph.Neighbors(w.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *WxClient) Hooks() []Hook { hooks := c.hooks.Wx return append(hooks[:len(hooks):len(hooks)], wx.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *WxClient) Interceptors() []Interceptor { inters := c.inters.Wx return append(inters[:len(inters):len(inters)], wx.Interceptors[:]...) } func (c *WxClient) mutate(ctx context.Context, m *WxMutation) (Value, error) { switch m.Op() { case OpCreate: return (&WxCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&WxUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&WxUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&WxDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Wx mutation op: %q", m.Op()) } } // hooks and interceptors per client, for fast access. type ( hooks struct { BatchMsg, Contact, Label, LabelRelationship, Message, MessageRecords, Server, SopNode, SopStage, SopTask, Wx []ent.Hook } inters struct { BatchMsg, Contact, Label, LabelRelationship, Message, MessageRecords, Server, SopNode, SopStage, SopTask, Wx []ent.Interceptor } ) // ExecContext allows calling the underlying ExecContext method of the driver if it is supported by it. // See, database/sql#DB.ExecContext for more information. func (c *config) ExecContext(ctx context.Context, query string, args ...any) (stdsql.Result, error) { ex, ok := c.driver.(interface { ExecContext(context.Context, string, ...any) (stdsql.Result, error) }) if !ok { return nil, fmt.Errorf("Driver.ExecContext is not supported") } return ex.ExecContext(ctx, query, args...) } // QueryContext allows calling the underlying QueryContext method of the driver if it is supported by it. // See, database/sql#DB.QueryContext for more information. func (c *config) QueryContext(ctx context.Context, query string, args ...any) (*stdsql.Rows, error) { q, ok := c.driver.(interface { QueryContext(context.Context, string, ...any) (*stdsql.Rows, error) }) if !ok { return nil, fmt.Errorf("Driver.QueryContext is not supported") } return q.QueryContext(ctx, query, args...) }