// Code generated by ent, DO NOT EDIT. package ent import ( "context" "errors" "fmt" "log" "reflect" "github.com/Wei-Shaw/sub2api/ent/migrate" "entgo.io/ent" "entgo.io/ent/dialect" "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" "github.com/Wei-Shaw/sub2api/ent/account" "github.com/Wei-Shaw/sub2api/ent/accountgroup" "github.com/Wei-Shaw/sub2api/ent/apikey" "github.com/Wei-Shaw/sub2api/ent/group" "github.com/Wei-Shaw/sub2api/ent/proxy" "github.com/Wei-Shaw/sub2api/ent/redeemcode" "github.com/Wei-Shaw/sub2api/ent/setting" "github.com/Wei-Shaw/sub2api/ent/usagelog" "github.com/Wei-Shaw/sub2api/ent/user" "github.com/Wei-Shaw/sub2api/ent/userallowedgroup" "github.com/Wei-Shaw/sub2api/ent/userattributedefinition" "github.com/Wei-Shaw/sub2api/ent/userattributevalue" "github.com/Wei-Shaw/sub2api/ent/usersubscription" 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 // Account is the client for interacting with the Account builders. Account *AccountClient // AccountGroup is the client for interacting with the AccountGroup builders. AccountGroup *AccountGroupClient // ApiKey is the client for interacting with the ApiKey builders. ApiKey *ApiKeyClient // Group is the client for interacting with the Group builders. Group *GroupClient // Proxy is the client for interacting with the Proxy builders. Proxy *ProxyClient // RedeemCode is the client for interacting with the RedeemCode builders. RedeemCode *RedeemCodeClient // Setting is the client for interacting with the Setting builders. Setting *SettingClient // UsageLog is the client for interacting with the UsageLog builders. UsageLog *UsageLogClient // User is the client for interacting with the User builders. User *UserClient // UserAllowedGroup is the client for interacting with the UserAllowedGroup builders. UserAllowedGroup *UserAllowedGroupClient // UserAttributeDefinition is the client for interacting with the UserAttributeDefinition builders. UserAttributeDefinition *UserAttributeDefinitionClient // UserAttributeValue is the client for interacting with the UserAttributeValue builders. UserAttributeValue *UserAttributeValueClient // UserSubscription is the client for interacting with the UserSubscription builders. UserSubscription *UserSubscriptionClient } // 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.Account = NewAccountClient(c.config) c.AccountGroup = NewAccountGroupClient(c.config) c.ApiKey = NewApiKeyClient(c.config) c.Group = NewGroupClient(c.config) c.Proxy = NewProxyClient(c.config) c.RedeemCode = NewRedeemCodeClient(c.config) c.Setting = NewSettingClient(c.config) c.UsageLog = NewUsageLogClient(c.config) c.User = NewUserClient(c.config) c.UserAllowedGroup = NewUserAllowedGroupClient(c.config) c.UserAttributeDefinition = NewUserAttributeDefinitionClient(c.config) c.UserAttributeValue = NewUserAttributeValueClient(c.config) c.UserSubscription = NewUserSubscriptionClient(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, Account: NewAccountClient(cfg), AccountGroup: NewAccountGroupClient(cfg), ApiKey: NewApiKeyClient(cfg), Group: NewGroupClient(cfg), Proxy: NewProxyClient(cfg), RedeemCode: NewRedeemCodeClient(cfg), Setting: NewSettingClient(cfg), UsageLog: NewUsageLogClient(cfg), User: NewUserClient(cfg), UserAllowedGroup: NewUserAllowedGroupClient(cfg), UserAttributeDefinition: NewUserAttributeDefinitionClient(cfg), UserAttributeValue: NewUserAttributeValueClient(cfg), UserSubscription: NewUserSubscriptionClient(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, Account: NewAccountClient(cfg), AccountGroup: NewAccountGroupClient(cfg), ApiKey: NewApiKeyClient(cfg), Group: NewGroupClient(cfg), Proxy: NewProxyClient(cfg), RedeemCode: NewRedeemCodeClient(cfg), Setting: NewSettingClient(cfg), UsageLog: NewUsageLogClient(cfg), User: NewUserClient(cfg), UserAllowedGroup: NewUserAllowedGroupClient(cfg), UserAttributeDefinition: NewUserAttributeDefinitionClient(cfg), UserAttributeValue: NewUserAttributeValueClient(cfg), UserSubscription: NewUserSubscriptionClient(cfg), }, nil } // Debug returns a new debug-client. It's used to get verbose logging on specific operations. // // client.Debug(). // Account. // 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.Account, c.AccountGroup, c.ApiKey, c.Group, c.Proxy, c.RedeemCode, c.Setting, c.UsageLog, c.User, c.UserAllowedGroup, c.UserAttributeDefinition, c.UserAttributeValue, c.UserSubscription, } { 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.Account, c.AccountGroup, c.ApiKey, c.Group, c.Proxy, c.RedeemCode, c.Setting, c.UsageLog, c.User, c.UserAllowedGroup, c.UserAttributeDefinition, c.UserAttributeValue, c.UserSubscription, } { 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 *AccountMutation: return c.Account.mutate(ctx, m) case *AccountGroupMutation: return c.AccountGroup.mutate(ctx, m) case *ApiKeyMutation: return c.ApiKey.mutate(ctx, m) case *GroupMutation: return c.Group.mutate(ctx, m) case *ProxyMutation: return c.Proxy.mutate(ctx, m) case *RedeemCodeMutation: return c.RedeemCode.mutate(ctx, m) case *SettingMutation: return c.Setting.mutate(ctx, m) case *UsageLogMutation: return c.UsageLog.mutate(ctx, m) case *UserMutation: return c.User.mutate(ctx, m) case *UserAllowedGroupMutation: return c.UserAllowedGroup.mutate(ctx, m) case *UserAttributeDefinitionMutation: return c.UserAttributeDefinition.mutate(ctx, m) case *UserAttributeValueMutation: return c.UserAttributeValue.mutate(ctx, m) case *UserSubscriptionMutation: return c.UserSubscription.mutate(ctx, m) default: return nil, fmt.Errorf("ent: unknown mutation type %T", m) } } // AccountClient is a client for the Account schema. type AccountClient struct { config } // NewAccountClient returns a client for the Account from the given config. func NewAccountClient(c config) *AccountClient { return &AccountClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `account.Hooks(f(g(h())))`. func (c *AccountClient) Use(hooks ...Hook) { c.hooks.Account = append(c.hooks.Account, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `account.Intercept(f(g(h())))`. func (c *AccountClient) Intercept(interceptors ...Interceptor) { c.inters.Account = append(c.inters.Account, interceptors...) } // Create returns a builder for creating a Account entity. func (c *AccountClient) Create() *AccountCreate { mutation := newAccountMutation(c.config, OpCreate) return &AccountCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Account entities. func (c *AccountClient) CreateBulk(builders ...*AccountCreate) *AccountCreateBulk { return &AccountCreateBulk{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 *AccountClient) MapCreateBulk(slice any, setFunc func(*AccountCreate, int)) *AccountCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &AccountCreateBulk{err: fmt.Errorf("calling to AccountClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*AccountCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &AccountCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Account. func (c *AccountClient) Update() *AccountUpdate { mutation := newAccountMutation(c.config, OpUpdate) return &AccountUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *AccountClient) UpdateOne(_m *Account) *AccountUpdateOne { mutation := newAccountMutation(c.config, OpUpdateOne, withAccount(_m)) return &AccountUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *AccountClient) UpdateOneID(id int64) *AccountUpdateOne { mutation := newAccountMutation(c.config, OpUpdateOne, withAccountID(id)) return &AccountUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Account. func (c *AccountClient) Delete() *AccountDelete { mutation := newAccountMutation(c.config, OpDelete) return &AccountDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *AccountClient) DeleteOne(_m *Account) *AccountDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *AccountClient) DeleteOneID(id int64) *AccountDeleteOne { builder := c.Delete().Where(account.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &AccountDeleteOne{builder} } // Query returns a query builder for Account. func (c *AccountClient) Query() *AccountQuery { return &AccountQuery{ config: c.config, ctx: &QueryContext{Type: TypeAccount}, inters: c.Interceptors(), } } // Get returns a Account entity by its id. func (c *AccountClient) Get(ctx context.Context, id int64) (*Account, error) { return c.Query().Where(account.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *AccountClient) GetX(ctx context.Context, id int64) *Account { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryGroups queries the groups edge of a Account. func (c *AccountClient) QueryGroups(_m *Account) *GroupQuery { query := (&GroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(account.Table, account.FieldID, id), sqlgraph.To(group.Table, group.FieldID), sqlgraph.Edge(sqlgraph.M2M, false, account.GroupsTable, account.GroupsPrimaryKey...), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryProxy queries the proxy edge of a Account. func (c *AccountClient) QueryProxy(_m *Account) *ProxyQuery { query := (&ProxyClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(account.Table, account.FieldID, id), sqlgraph.To(proxy.Table, proxy.FieldID), sqlgraph.Edge(sqlgraph.M2O, false, account.ProxyTable, account.ProxyColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryUsageLogs queries the usage_logs edge of a Account. func (c *AccountClient) QueryUsageLogs(_m *Account) *UsageLogQuery { query := (&UsageLogClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(account.Table, account.FieldID, id), sqlgraph.To(usagelog.Table, usagelog.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, account.UsageLogsTable, account.UsageLogsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAccountGroups queries the account_groups edge of a Account. func (c *AccountClient) QueryAccountGroups(_m *Account) *AccountGroupQuery { query := (&AccountGroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(account.Table, account.FieldID, id), sqlgraph.To(accountgroup.Table, accountgroup.AccountColumn), sqlgraph.Edge(sqlgraph.O2M, true, account.AccountGroupsTable, account.AccountGroupsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *AccountClient) Hooks() []Hook { hooks := c.hooks.Account return append(hooks[:len(hooks):len(hooks)], account.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *AccountClient) Interceptors() []Interceptor { inters := c.inters.Account return append(inters[:len(inters):len(inters)], account.Interceptors[:]...) } func (c *AccountClient) mutate(ctx context.Context, m *AccountMutation) (Value, error) { switch m.Op() { case OpCreate: return (&AccountCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&AccountUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&AccountUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&AccountDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Account mutation op: %q", m.Op()) } } // AccountGroupClient is a client for the AccountGroup schema. type AccountGroupClient struct { config } // NewAccountGroupClient returns a client for the AccountGroup from the given config. func NewAccountGroupClient(c config) *AccountGroupClient { return &AccountGroupClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `accountgroup.Hooks(f(g(h())))`. func (c *AccountGroupClient) Use(hooks ...Hook) { c.hooks.AccountGroup = append(c.hooks.AccountGroup, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `accountgroup.Intercept(f(g(h())))`. func (c *AccountGroupClient) Intercept(interceptors ...Interceptor) { c.inters.AccountGroup = append(c.inters.AccountGroup, interceptors...) } // Create returns a builder for creating a AccountGroup entity. func (c *AccountGroupClient) Create() *AccountGroupCreate { mutation := newAccountGroupMutation(c.config, OpCreate) return &AccountGroupCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of AccountGroup entities. func (c *AccountGroupClient) CreateBulk(builders ...*AccountGroupCreate) *AccountGroupCreateBulk { return &AccountGroupCreateBulk{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 *AccountGroupClient) MapCreateBulk(slice any, setFunc func(*AccountGroupCreate, int)) *AccountGroupCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &AccountGroupCreateBulk{err: fmt.Errorf("calling to AccountGroupClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*AccountGroupCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &AccountGroupCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for AccountGroup. func (c *AccountGroupClient) Update() *AccountGroupUpdate { mutation := newAccountGroupMutation(c.config, OpUpdate) return &AccountGroupUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *AccountGroupClient) UpdateOne(_m *AccountGroup) *AccountGroupUpdateOne { mutation := newAccountGroupMutation(c.config, OpUpdateOne) mutation.account = &_m.AccountID mutation.group = &_m.GroupID return &AccountGroupUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for AccountGroup. func (c *AccountGroupClient) Delete() *AccountGroupDelete { mutation := newAccountGroupMutation(c.config, OpDelete) return &AccountGroupDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Query returns a query builder for AccountGroup. func (c *AccountGroupClient) Query() *AccountGroupQuery { return &AccountGroupQuery{ config: c.config, ctx: &QueryContext{Type: TypeAccountGroup}, inters: c.Interceptors(), } } // QueryAccount queries the account edge of a AccountGroup. func (c *AccountGroupClient) QueryAccount(_m *AccountGroup) *AccountQuery { return c.Query(). Where(accountgroup.AccountID(_m.AccountID), accountgroup.GroupID(_m.GroupID)). QueryAccount() } // QueryGroup queries the group edge of a AccountGroup. func (c *AccountGroupClient) QueryGroup(_m *AccountGroup) *GroupQuery { return c.Query(). Where(accountgroup.AccountID(_m.AccountID), accountgroup.GroupID(_m.GroupID)). QueryGroup() } // Hooks returns the client hooks. func (c *AccountGroupClient) Hooks() []Hook { return c.hooks.AccountGroup } // Interceptors returns the client interceptors. func (c *AccountGroupClient) Interceptors() []Interceptor { return c.inters.AccountGroup } func (c *AccountGroupClient) mutate(ctx context.Context, m *AccountGroupMutation) (Value, error) { switch m.Op() { case OpCreate: return (&AccountGroupCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&AccountGroupUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&AccountGroupUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&AccountGroupDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown AccountGroup mutation op: %q", m.Op()) } } // ApiKeyClient is a client for the ApiKey schema. type ApiKeyClient struct { config } // NewApiKeyClient returns a client for the ApiKey from the given config. func NewApiKeyClient(c config) *ApiKeyClient { return &ApiKeyClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `apikey.Hooks(f(g(h())))`. func (c *ApiKeyClient) Use(hooks ...Hook) { c.hooks.ApiKey = append(c.hooks.ApiKey, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `apikey.Intercept(f(g(h())))`. func (c *ApiKeyClient) Intercept(interceptors ...Interceptor) { c.inters.ApiKey = append(c.inters.ApiKey, interceptors...) } // Create returns a builder for creating a ApiKey entity. func (c *ApiKeyClient) Create() *ApiKeyCreate { mutation := newApiKeyMutation(c.config, OpCreate) return &ApiKeyCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of ApiKey entities. func (c *ApiKeyClient) CreateBulk(builders ...*ApiKeyCreate) *ApiKeyCreateBulk { return &ApiKeyCreateBulk{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 *ApiKeyClient) MapCreateBulk(slice any, setFunc func(*ApiKeyCreate, int)) *ApiKeyCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &ApiKeyCreateBulk{err: fmt.Errorf("calling to ApiKeyClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*ApiKeyCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &ApiKeyCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for ApiKey. func (c *ApiKeyClient) Update() *ApiKeyUpdate { mutation := newApiKeyMutation(c.config, OpUpdate) return &ApiKeyUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *ApiKeyClient) UpdateOne(_m *ApiKey) *ApiKeyUpdateOne { mutation := newApiKeyMutation(c.config, OpUpdateOne, withApiKey(_m)) return &ApiKeyUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *ApiKeyClient) UpdateOneID(id int64) *ApiKeyUpdateOne { mutation := newApiKeyMutation(c.config, OpUpdateOne, withApiKeyID(id)) return &ApiKeyUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for ApiKey. func (c *ApiKeyClient) Delete() *ApiKeyDelete { mutation := newApiKeyMutation(c.config, OpDelete) return &ApiKeyDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *ApiKeyClient) DeleteOne(_m *ApiKey) *ApiKeyDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *ApiKeyClient) DeleteOneID(id int64) *ApiKeyDeleteOne { builder := c.Delete().Where(apikey.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &ApiKeyDeleteOne{builder} } // Query returns a query builder for ApiKey. func (c *ApiKeyClient) Query() *ApiKeyQuery { return &ApiKeyQuery{ config: c.config, ctx: &QueryContext{Type: TypeApiKey}, inters: c.Interceptors(), } } // Get returns a ApiKey entity by its id. func (c *ApiKeyClient) Get(ctx context.Context, id int64) (*ApiKey, error) { return c.Query().Where(apikey.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *ApiKeyClient) GetX(ctx context.Context, id int64) *ApiKey { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryUser queries the user edge of a ApiKey. func (c *ApiKeyClient) QueryUser(_m *ApiKey) *UserQuery { query := (&UserClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(apikey.Table, apikey.FieldID, id), sqlgraph.To(user.Table, user.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, apikey.UserTable, apikey.UserColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryGroup queries the group edge of a ApiKey. func (c *ApiKeyClient) QueryGroup(_m *ApiKey) *GroupQuery { query := (&GroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(apikey.Table, apikey.FieldID, id), sqlgraph.To(group.Table, group.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, apikey.GroupTable, apikey.GroupColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryUsageLogs queries the usage_logs edge of a ApiKey. func (c *ApiKeyClient) QueryUsageLogs(_m *ApiKey) *UsageLogQuery { query := (&UsageLogClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(apikey.Table, apikey.FieldID, id), sqlgraph.To(usagelog.Table, usagelog.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, apikey.UsageLogsTable, apikey.UsageLogsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *ApiKeyClient) Hooks() []Hook { hooks := c.hooks.ApiKey return append(hooks[:len(hooks):len(hooks)], apikey.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *ApiKeyClient) Interceptors() []Interceptor { inters := c.inters.ApiKey return append(inters[:len(inters):len(inters)], apikey.Interceptors[:]...) } func (c *ApiKeyClient) mutate(ctx context.Context, m *ApiKeyMutation) (Value, error) { switch m.Op() { case OpCreate: return (&ApiKeyCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&ApiKeyUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&ApiKeyUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&ApiKeyDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown ApiKey mutation op: %q", m.Op()) } } // GroupClient is a client for the Group schema. type GroupClient struct { config } // NewGroupClient returns a client for the Group from the given config. func NewGroupClient(c config) *GroupClient { return &GroupClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `group.Hooks(f(g(h())))`. func (c *GroupClient) Use(hooks ...Hook) { c.hooks.Group = append(c.hooks.Group, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `group.Intercept(f(g(h())))`. func (c *GroupClient) Intercept(interceptors ...Interceptor) { c.inters.Group = append(c.inters.Group, interceptors...) } // Create returns a builder for creating a Group entity. func (c *GroupClient) Create() *GroupCreate { mutation := newGroupMutation(c.config, OpCreate) return &GroupCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Group entities. func (c *GroupClient) CreateBulk(builders ...*GroupCreate) *GroupCreateBulk { return &GroupCreateBulk{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 *GroupClient) MapCreateBulk(slice any, setFunc func(*GroupCreate, int)) *GroupCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &GroupCreateBulk{err: fmt.Errorf("calling to GroupClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*GroupCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &GroupCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Group. func (c *GroupClient) Update() *GroupUpdate { mutation := newGroupMutation(c.config, OpUpdate) return &GroupUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *GroupClient) UpdateOne(_m *Group) *GroupUpdateOne { mutation := newGroupMutation(c.config, OpUpdateOne, withGroup(_m)) return &GroupUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *GroupClient) UpdateOneID(id int64) *GroupUpdateOne { mutation := newGroupMutation(c.config, OpUpdateOne, withGroupID(id)) return &GroupUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Group. func (c *GroupClient) Delete() *GroupDelete { mutation := newGroupMutation(c.config, OpDelete) return &GroupDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *GroupClient) DeleteOne(_m *Group) *GroupDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *GroupClient) DeleteOneID(id int64) *GroupDeleteOne { builder := c.Delete().Where(group.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &GroupDeleteOne{builder} } // Query returns a query builder for Group. func (c *GroupClient) Query() *GroupQuery { return &GroupQuery{ config: c.config, ctx: &QueryContext{Type: TypeGroup}, inters: c.Interceptors(), } } // Get returns a Group entity by its id. func (c *GroupClient) Get(ctx context.Context, id int64) (*Group, error) { return c.Query().Where(group.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *GroupClient) GetX(ctx context.Context, id int64) *Group { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryAPIKeys queries the api_keys edge of a Group. func (c *GroupClient) QueryAPIKeys(_m *Group) *ApiKeyQuery { query := (&ApiKeyClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(group.Table, group.FieldID, id), sqlgraph.To(apikey.Table, apikey.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, group.APIKeysTable, group.APIKeysColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryRedeemCodes queries the redeem_codes edge of a Group. func (c *GroupClient) QueryRedeemCodes(_m *Group) *RedeemCodeQuery { query := (&RedeemCodeClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(group.Table, group.FieldID, id), sqlgraph.To(redeemcode.Table, redeemcode.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, group.RedeemCodesTable, group.RedeemCodesColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QuerySubscriptions queries the subscriptions edge of a Group. func (c *GroupClient) QuerySubscriptions(_m *Group) *UserSubscriptionQuery { query := (&UserSubscriptionClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(group.Table, group.FieldID, id), sqlgraph.To(usersubscription.Table, usersubscription.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, group.SubscriptionsTable, group.SubscriptionsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryUsageLogs queries the usage_logs edge of a Group. func (c *GroupClient) QueryUsageLogs(_m *Group) *UsageLogQuery { query := (&UsageLogClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(group.Table, group.FieldID, id), sqlgraph.To(usagelog.Table, usagelog.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, group.UsageLogsTable, group.UsageLogsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAccounts queries the accounts edge of a Group. func (c *GroupClient) QueryAccounts(_m *Group) *AccountQuery { query := (&AccountClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(group.Table, group.FieldID, id), sqlgraph.To(account.Table, account.FieldID), sqlgraph.Edge(sqlgraph.M2M, true, group.AccountsTable, group.AccountsPrimaryKey...), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAllowedUsers queries the allowed_users edge of a Group. func (c *GroupClient) QueryAllowedUsers(_m *Group) *UserQuery { query := (&UserClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(group.Table, group.FieldID, id), sqlgraph.To(user.Table, user.FieldID), sqlgraph.Edge(sqlgraph.M2M, true, group.AllowedUsersTable, group.AllowedUsersPrimaryKey...), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAccountGroups queries the account_groups edge of a Group. func (c *GroupClient) QueryAccountGroups(_m *Group) *AccountGroupQuery { query := (&AccountGroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(group.Table, group.FieldID, id), sqlgraph.To(accountgroup.Table, accountgroup.GroupColumn), sqlgraph.Edge(sqlgraph.O2M, true, group.AccountGroupsTable, group.AccountGroupsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryUserAllowedGroups queries the user_allowed_groups edge of a Group. func (c *GroupClient) QueryUserAllowedGroups(_m *Group) *UserAllowedGroupQuery { query := (&UserAllowedGroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(group.Table, group.FieldID, id), sqlgraph.To(userallowedgroup.Table, userallowedgroup.GroupColumn), sqlgraph.Edge(sqlgraph.O2M, true, group.UserAllowedGroupsTable, group.UserAllowedGroupsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *GroupClient) Hooks() []Hook { hooks := c.hooks.Group return append(hooks[:len(hooks):len(hooks)], group.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *GroupClient) Interceptors() []Interceptor { inters := c.inters.Group return append(inters[:len(inters):len(inters)], group.Interceptors[:]...) } func (c *GroupClient) mutate(ctx context.Context, m *GroupMutation) (Value, error) { switch m.Op() { case OpCreate: return (&GroupCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&GroupUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&GroupUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&GroupDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Group mutation op: %q", m.Op()) } } // ProxyClient is a client for the Proxy schema. type ProxyClient struct { config } // NewProxyClient returns a client for the Proxy from the given config. func NewProxyClient(c config) *ProxyClient { return &ProxyClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `proxy.Hooks(f(g(h())))`. func (c *ProxyClient) Use(hooks ...Hook) { c.hooks.Proxy = append(c.hooks.Proxy, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `proxy.Intercept(f(g(h())))`. func (c *ProxyClient) Intercept(interceptors ...Interceptor) { c.inters.Proxy = append(c.inters.Proxy, interceptors...) } // Create returns a builder for creating a Proxy entity. func (c *ProxyClient) Create() *ProxyCreate { mutation := newProxyMutation(c.config, OpCreate) return &ProxyCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Proxy entities. func (c *ProxyClient) CreateBulk(builders ...*ProxyCreate) *ProxyCreateBulk { return &ProxyCreateBulk{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 *ProxyClient) MapCreateBulk(slice any, setFunc func(*ProxyCreate, int)) *ProxyCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &ProxyCreateBulk{err: fmt.Errorf("calling to ProxyClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*ProxyCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &ProxyCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Proxy. func (c *ProxyClient) Update() *ProxyUpdate { mutation := newProxyMutation(c.config, OpUpdate) return &ProxyUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *ProxyClient) UpdateOne(_m *Proxy) *ProxyUpdateOne { mutation := newProxyMutation(c.config, OpUpdateOne, withProxy(_m)) return &ProxyUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *ProxyClient) UpdateOneID(id int64) *ProxyUpdateOne { mutation := newProxyMutation(c.config, OpUpdateOne, withProxyID(id)) return &ProxyUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Proxy. func (c *ProxyClient) Delete() *ProxyDelete { mutation := newProxyMutation(c.config, OpDelete) return &ProxyDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *ProxyClient) DeleteOne(_m *Proxy) *ProxyDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *ProxyClient) DeleteOneID(id int64) *ProxyDeleteOne { builder := c.Delete().Where(proxy.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &ProxyDeleteOne{builder} } // Query returns a query builder for Proxy. func (c *ProxyClient) Query() *ProxyQuery { return &ProxyQuery{ config: c.config, ctx: &QueryContext{Type: TypeProxy}, inters: c.Interceptors(), } } // Get returns a Proxy entity by its id. func (c *ProxyClient) Get(ctx context.Context, id int64) (*Proxy, error) { return c.Query().Where(proxy.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *ProxyClient) GetX(ctx context.Context, id int64) *Proxy { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryAccounts queries the accounts edge of a Proxy. func (c *ProxyClient) QueryAccounts(_m *Proxy) *AccountQuery { query := (&AccountClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(proxy.Table, proxy.FieldID, id), sqlgraph.To(account.Table, account.FieldID), sqlgraph.Edge(sqlgraph.O2M, true, proxy.AccountsTable, proxy.AccountsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *ProxyClient) Hooks() []Hook { hooks := c.hooks.Proxy return append(hooks[:len(hooks):len(hooks)], proxy.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *ProxyClient) Interceptors() []Interceptor { inters := c.inters.Proxy return append(inters[:len(inters):len(inters)], proxy.Interceptors[:]...) } func (c *ProxyClient) mutate(ctx context.Context, m *ProxyMutation) (Value, error) { switch m.Op() { case OpCreate: return (&ProxyCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&ProxyUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&ProxyUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&ProxyDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Proxy mutation op: %q", m.Op()) } } // RedeemCodeClient is a client for the RedeemCode schema. type RedeemCodeClient struct { config } // NewRedeemCodeClient returns a client for the RedeemCode from the given config. func NewRedeemCodeClient(c config) *RedeemCodeClient { return &RedeemCodeClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `redeemcode.Hooks(f(g(h())))`. func (c *RedeemCodeClient) Use(hooks ...Hook) { c.hooks.RedeemCode = append(c.hooks.RedeemCode, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `redeemcode.Intercept(f(g(h())))`. func (c *RedeemCodeClient) Intercept(interceptors ...Interceptor) { c.inters.RedeemCode = append(c.inters.RedeemCode, interceptors...) } // Create returns a builder for creating a RedeemCode entity. func (c *RedeemCodeClient) Create() *RedeemCodeCreate { mutation := newRedeemCodeMutation(c.config, OpCreate) return &RedeemCodeCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of RedeemCode entities. func (c *RedeemCodeClient) CreateBulk(builders ...*RedeemCodeCreate) *RedeemCodeCreateBulk { return &RedeemCodeCreateBulk{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 *RedeemCodeClient) MapCreateBulk(slice any, setFunc func(*RedeemCodeCreate, int)) *RedeemCodeCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &RedeemCodeCreateBulk{err: fmt.Errorf("calling to RedeemCodeClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*RedeemCodeCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &RedeemCodeCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for RedeemCode. func (c *RedeemCodeClient) Update() *RedeemCodeUpdate { mutation := newRedeemCodeMutation(c.config, OpUpdate) return &RedeemCodeUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *RedeemCodeClient) UpdateOne(_m *RedeemCode) *RedeemCodeUpdateOne { mutation := newRedeemCodeMutation(c.config, OpUpdateOne, withRedeemCode(_m)) return &RedeemCodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *RedeemCodeClient) UpdateOneID(id int64) *RedeemCodeUpdateOne { mutation := newRedeemCodeMutation(c.config, OpUpdateOne, withRedeemCodeID(id)) return &RedeemCodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for RedeemCode. func (c *RedeemCodeClient) Delete() *RedeemCodeDelete { mutation := newRedeemCodeMutation(c.config, OpDelete) return &RedeemCodeDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *RedeemCodeClient) DeleteOne(_m *RedeemCode) *RedeemCodeDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *RedeemCodeClient) DeleteOneID(id int64) *RedeemCodeDeleteOne { builder := c.Delete().Where(redeemcode.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &RedeemCodeDeleteOne{builder} } // Query returns a query builder for RedeemCode. func (c *RedeemCodeClient) Query() *RedeemCodeQuery { return &RedeemCodeQuery{ config: c.config, ctx: &QueryContext{Type: TypeRedeemCode}, inters: c.Interceptors(), } } // Get returns a RedeemCode entity by its id. func (c *RedeemCodeClient) Get(ctx context.Context, id int64) (*RedeemCode, error) { return c.Query().Where(redeemcode.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *RedeemCodeClient) GetX(ctx context.Context, id int64) *RedeemCode { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryUser queries the user edge of a RedeemCode. func (c *RedeemCodeClient) QueryUser(_m *RedeemCode) *UserQuery { query := (&UserClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(redeemcode.Table, redeemcode.FieldID, id), sqlgraph.To(user.Table, user.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, redeemcode.UserTable, redeemcode.UserColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryGroup queries the group edge of a RedeemCode. func (c *RedeemCodeClient) QueryGroup(_m *RedeemCode) *GroupQuery { query := (&GroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(redeemcode.Table, redeemcode.FieldID, id), sqlgraph.To(group.Table, group.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, redeemcode.GroupTable, redeemcode.GroupColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *RedeemCodeClient) Hooks() []Hook { return c.hooks.RedeemCode } // Interceptors returns the client interceptors. func (c *RedeemCodeClient) Interceptors() []Interceptor { return c.inters.RedeemCode } func (c *RedeemCodeClient) mutate(ctx context.Context, m *RedeemCodeMutation) (Value, error) { switch m.Op() { case OpCreate: return (&RedeemCodeCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&RedeemCodeUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&RedeemCodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&RedeemCodeDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown RedeemCode mutation op: %q", m.Op()) } } // SettingClient is a client for the Setting schema. type SettingClient struct { config } // NewSettingClient returns a client for the Setting from the given config. func NewSettingClient(c config) *SettingClient { return &SettingClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `setting.Hooks(f(g(h())))`. func (c *SettingClient) Use(hooks ...Hook) { c.hooks.Setting = append(c.hooks.Setting, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `setting.Intercept(f(g(h())))`. func (c *SettingClient) Intercept(interceptors ...Interceptor) { c.inters.Setting = append(c.inters.Setting, interceptors...) } // Create returns a builder for creating a Setting entity. func (c *SettingClient) Create() *SettingCreate { mutation := newSettingMutation(c.config, OpCreate) return &SettingCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of Setting entities. func (c *SettingClient) CreateBulk(builders ...*SettingCreate) *SettingCreateBulk { return &SettingCreateBulk{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 *SettingClient) MapCreateBulk(slice any, setFunc func(*SettingCreate, int)) *SettingCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &SettingCreateBulk{err: fmt.Errorf("calling to SettingClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*SettingCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &SettingCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for Setting. func (c *SettingClient) Update() *SettingUpdate { mutation := newSettingMutation(c.config, OpUpdate) return &SettingUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *SettingClient) UpdateOne(_m *Setting) *SettingUpdateOne { mutation := newSettingMutation(c.config, OpUpdateOne, withSetting(_m)) return &SettingUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *SettingClient) UpdateOneID(id int64) *SettingUpdateOne { mutation := newSettingMutation(c.config, OpUpdateOne, withSettingID(id)) return &SettingUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for Setting. func (c *SettingClient) Delete() *SettingDelete { mutation := newSettingMutation(c.config, OpDelete) return &SettingDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *SettingClient) DeleteOne(_m *Setting) *SettingDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *SettingClient) DeleteOneID(id int64) *SettingDeleteOne { builder := c.Delete().Where(setting.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &SettingDeleteOne{builder} } // Query returns a query builder for Setting. func (c *SettingClient) Query() *SettingQuery { return &SettingQuery{ config: c.config, ctx: &QueryContext{Type: TypeSetting}, inters: c.Interceptors(), } } // Get returns a Setting entity by its id. func (c *SettingClient) Get(ctx context.Context, id int64) (*Setting, error) { return c.Query().Where(setting.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *SettingClient) GetX(ctx context.Context, id int64) *Setting { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // Hooks returns the client hooks. func (c *SettingClient) Hooks() []Hook { return c.hooks.Setting } // Interceptors returns the client interceptors. func (c *SettingClient) Interceptors() []Interceptor { return c.inters.Setting } func (c *SettingClient) mutate(ctx context.Context, m *SettingMutation) (Value, error) { switch m.Op() { case OpCreate: return (&SettingCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&SettingUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&SettingUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&SettingDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown Setting mutation op: %q", m.Op()) } } // UsageLogClient is a client for the UsageLog schema. type UsageLogClient struct { config } // NewUsageLogClient returns a client for the UsageLog from the given config. func NewUsageLogClient(c config) *UsageLogClient { return &UsageLogClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `usagelog.Hooks(f(g(h())))`. func (c *UsageLogClient) Use(hooks ...Hook) { c.hooks.UsageLog = append(c.hooks.UsageLog, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `usagelog.Intercept(f(g(h())))`. func (c *UsageLogClient) Intercept(interceptors ...Interceptor) { c.inters.UsageLog = append(c.inters.UsageLog, interceptors...) } // Create returns a builder for creating a UsageLog entity. func (c *UsageLogClient) Create() *UsageLogCreate { mutation := newUsageLogMutation(c.config, OpCreate) return &UsageLogCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of UsageLog entities. func (c *UsageLogClient) CreateBulk(builders ...*UsageLogCreate) *UsageLogCreateBulk { return &UsageLogCreateBulk{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 *UsageLogClient) MapCreateBulk(slice any, setFunc func(*UsageLogCreate, int)) *UsageLogCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &UsageLogCreateBulk{err: fmt.Errorf("calling to UsageLogClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*UsageLogCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &UsageLogCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for UsageLog. func (c *UsageLogClient) Update() *UsageLogUpdate { mutation := newUsageLogMutation(c.config, OpUpdate) return &UsageLogUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *UsageLogClient) UpdateOne(_m *UsageLog) *UsageLogUpdateOne { mutation := newUsageLogMutation(c.config, OpUpdateOne, withUsageLog(_m)) return &UsageLogUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *UsageLogClient) UpdateOneID(id int64) *UsageLogUpdateOne { mutation := newUsageLogMutation(c.config, OpUpdateOne, withUsageLogID(id)) return &UsageLogUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for UsageLog. func (c *UsageLogClient) Delete() *UsageLogDelete { mutation := newUsageLogMutation(c.config, OpDelete) return &UsageLogDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *UsageLogClient) DeleteOne(_m *UsageLog) *UsageLogDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *UsageLogClient) DeleteOneID(id int64) *UsageLogDeleteOne { builder := c.Delete().Where(usagelog.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &UsageLogDeleteOne{builder} } // Query returns a query builder for UsageLog. func (c *UsageLogClient) Query() *UsageLogQuery { return &UsageLogQuery{ config: c.config, ctx: &QueryContext{Type: TypeUsageLog}, inters: c.Interceptors(), } } // Get returns a UsageLog entity by its id. func (c *UsageLogClient) Get(ctx context.Context, id int64) (*UsageLog, error) { return c.Query().Where(usagelog.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *UsageLogClient) GetX(ctx context.Context, id int64) *UsageLog { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryUser queries the user edge of a UsageLog. func (c *UsageLogClient) QueryUser(_m *UsageLog) *UserQuery { query := (&UserClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usagelog.Table, usagelog.FieldID, id), sqlgraph.To(user.Table, user.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, usagelog.UserTable, usagelog.UserColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAPIKey queries the api_key edge of a UsageLog. func (c *UsageLogClient) QueryAPIKey(_m *UsageLog) *ApiKeyQuery { query := (&ApiKeyClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usagelog.Table, usagelog.FieldID, id), sqlgraph.To(apikey.Table, apikey.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, usagelog.APIKeyTable, usagelog.APIKeyColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAccount queries the account edge of a UsageLog. func (c *UsageLogClient) QueryAccount(_m *UsageLog) *AccountQuery { query := (&AccountClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usagelog.Table, usagelog.FieldID, id), sqlgraph.To(account.Table, account.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, usagelog.AccountTable, usagelog.AccountColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryGroup queries the group edge of a UsageLog. func (c *UsageLogClient) QueryGroup(_m *UsageLog) *GroupQuery { query := (&GroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usagelog.Table, usagelog.FieldID, id), sqlgraph.To(group.Table, group.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, usagelog.GroupTable, usagelog.GroupColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QuerySubscription queries the subscription edge of a UsageLog. func (c *UsageLogClient) QuerySubscription(_m *UsageLog) *UserSubscriptionQuery { query := (&UserSubscriptionClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usagelog.Table, usagelog.FieldID, id), sqlgraph.To(usersubscription.Table, usersubscription.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, usagelog.SubscriptionTable, usagelog.SubscriptionColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *UsageLogClient) Hooks() []Hook { return c.hooks.UsageLog } // Interceptors returns the client interceptors. func (c *UsageLogClient) Interceptors() []Interceptor { return c.inters.UsageLog } func (c *UsageLogClient) mutate(ctx context.Context, m *UsageLogMutation) (Value, error) { switch m.Op() { case OpCreate: return (&UsageLogCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&UsageLogUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&UsageLogUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&UsageLogDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown UsageLog mutation op: %q", m.Op()) } } // UserClient is a client for the User schema. type UserClient struct { config } // NewUserClient returns a client for the User from the given config. func NewUserClient(c config) *UserClient { return &UserClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `user.Hooks(f(g(h())))`. func (c *UserClient) Use(hooks ...Hook) { c.hooks.User = append(c.hooks.User, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `user.Intercept(f(g(h())))`. func (c *UserClient) Intercept(interceptors ...Interceptor) { c.inters.User = append(c.inters.User, interceptors...) } // Create returns a builder for creating a User entity. func (c *UserClient) Create() *UserCreate { mutation := newUserMutation(c.config, OpCreate) return &UserCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of User entities. func (c *UserClient) CreateBulk(builders ...*UserCreate) *UserCreateBulk { return &UserCreateBulk{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 *UserClient) MapCreateBulk(slice any, setFunc func(*UserCreate, int)) *UserCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &UserCreateBulk{err: fmt.Errorf("calling to UserClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*UserCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &UserCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for User. func (c *UserClient) Update() *UserUpdate { mutation := newUserMutation(c.config, OpUpdate) return &UserUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *UserClient) UpdateOne(_m *User) *UserUpdateOne { mutation := newUserMutation(c.config, OpUpdateOne, withUser(_m)) return &UserUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *UserClient) UpdateOneID(id int64) *UserUpdateOne { mutation := newUserMutation(c.config, OpUpdateOne, withUserID(id)) return &UserUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for User. func (c *UserClient) Delete() *UserDelete { mutation := newUserMutation(c.config, OpDelete) return &UserDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *UserClient) DeleteOne(_m *User) *UserDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *UserClient) DeleteOneID(id int64) *UserDeleteOne { builder := c.Delete().Where(user.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &UserDeleteOne{builder} } // Query returns a query builder for User. func (c *UserClient) Query() *UserQuery { return &UserQuery{ config: c.config, ctx: &QueryContext{Type: TypeUser}, inters: c.Interceptors(), } } // Get returns a User entity by its id. func (c *UserClient) Get(ctx context.Context, id int64) (*User, error) { return c.Query().Where(user.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *UserClient) GetX(ctx context.Context, id int64) *User { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryAPIKeys queries the api_keys edge of a User. func (c *UserClient) QueryAPIKeys(_m *User) *ApiKeyQuery { query := (&ApiKeyClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(user.Table, user.FieldID, id), sqlgraph.To(apikey.Table, apikey.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, user.APIKeysTable, user.APIKeysColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryRedeemCodes queries the redeem_codes edge of a User. func (c *UserClient) QueryRedeemCodes(_m *User) *RedeemCodeQuery { query := (&RedeemCodeClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(user.Table, user.FieldID, id), sqlgraph.To(redeemcode.Table, redeemcode.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, user.RedeemCodesTable, user.RedeemCodesColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QuerySubscriptions queries the subscriptions edge of a User. func (c *UserClient) QuerySubscriptions(_m *User) *UserSubscriptionQuery { query := (&UserSubscriptionClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(user.Table, user.FieldID, id), sqlgraph.To(usersubscription.Table, usersubscription.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, user.SubscriptionsTable, user.SubscriptionsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAssignedSubscriptions queries the assigned_subscriptions edge of a User. func (c *UserClient) QueryAssignedSubscriptions(_m *User) *UserSubscriptionQuery { query := (&UserSubscriptionClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(user.Table, user.FieldID, id), sqlgraph.To(usersubscription.Table, usersubscription.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, user.AssignedSubscriptionsTable, user.AssignedSubscriptionsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAllowedGroups queries the allowed_groups edge of a User. func (c *UserClient) QueryAllowedGroups(_m *User) *GroupQuery { query := (&GroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(user.Table, user.FieldID, id), sqlgraph.To(group.Table, group.FieldID), sqlgraph.Edge(sqlgraph.M2M, false, user.AllowedGroupsTable, user.AllowedGroupsPrimaryKey...), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryUsageLogs queries the usage_logs edge of a User. func (c *UserClient) QueryUsageLogs(_m *User) *UsageLogQuery { query := (&UsageLogClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(user.Table, user.FieldID, id), sqlgraph.To(usagelog.Table, usagelog.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, user.UsageLogsTable, user.UsageLogsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAttributeValues queries the attribute_values edge of a User. func (c *UserClient) QueryAttributeValues(_m *User) *UserAttributeValueQuery { query := (&UserAttributeValueClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(user.Table, user.FieldID, id), sqlgraph.To(userattributevalue.Table, userattributevalue.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, user.AttributeValuesTable, user.AttributeValuesColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryUserAllowedGroups queries the user_allowed_groups edge of a User. func (c *UserClient) QueryUserAllowedGroups(_m *User) *UserAllowedGroupQuery { query := (&UserAllowedGroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(user.Table, user.FieldID, id), sqlgraph.To(userallowedgroup.Table, userallowedgroup.UserColumn), sqlgraph.Edge(sqlgraph.O2M, true, user.UserAllowedGroupsTable, user.UserAllowedGroupsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *UserClient) Hooks() []Hook { hooks := c.hooks.User return append(hooks[:len(hooks):len(hooks)], user.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *UserClient) Interceptors() []Interceptor { inters := c.inters.User return append(inters[:len(inters):len(inters)], user.Interceptors[:]...) } func (c *UserClient) mutate(ctx context.Context, m *UserMutation) (Value, error) { switch m.Op() { case OpCreate: return (&UserCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&UserUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&UserUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&UserDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown User mutation op: %q", m.Op()) } } // UserAllowedGroupClient is a client for the UserAllowedGroup schema. type UserAllowedGroupClient struct { config } // NewUserAllowedGroupClient returns a client for the UserAllowedGroup from the given config. func NewUserAllowedGroupClient(c config) *UserAllowedGroupClient { return &UserAllowedGroupClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `userallowedgroup.Hooks(f(g(h())))`. func (c *UserAllowedGroupClient) Use(hooks ...Hook) { c.hooks.UserAllowedGroup = append(c.hooks.UserAllowedGroup, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `userallowedgroup.Intercept(f(g(h())))`. func (c *UserAllowedGroupClient) Intercept(interceptors ...Interceptor) { c.inters.UserAllowedGroup = append(c.inters.UserAllowedGroup, interceptors...) } // Create returns a builder for creating a UserAllowedGroup entity. func (c *UserAllowedGroupClient) Create() *UserAllowedGroupCreate { mutation := newUserAllowedGroupMutation(c.config, OpCreate) return &UserAllowedGroupCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of UserAllowedGroup entities. func (c *UserAllowedGroupClient) CreateBulk(builders ...*UserAllowedGroupCreate) *UserAllowedGroupCreateBulk { return &UserAllowedGroupCreateBulk{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 *UserAllowedGroupClient) MapCreateBulk(slice any, setFunc func(*UserAllowedGroupCreate, int)) *UserAllowedGroupCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &UserAllowedGroupCreateBulk{err: fmt.Errorf("calling to UserAllowedGroupClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*UserAllowedGroupCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &UserAllowedGroupCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for UserAllowedGroup. func (c *UserAllowedGroupClient) Update() *UserAllowedGroupUpdate { mutation := newUserAllowedGroupMutation(c.config, OpUpdate) return &UserAllowedGroupUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *UserAllowedGroupClient) UpdateOne(_m *UserAllowedGroup) *UserAllowedGroupUpdateOne { mutation := newUserAllowedGroupMutation(c.config, OpUpdateOne) mutation.user = &_m.UserID mutation.group = &_m.GroupID return &UserAllowedGroupUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for UserAllowedGroup. func (c *UserAllowedGroupClient) Delete() *UserAllowedGroupDelete { mutation := newUserAllowedGroupMutation(c.config, OpDelete) return &UserAllowedGroupDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Query returns a query builder for UserAllowedGroup. func (c *UserAllowedGroupClient) Query() *UserAllowedGroupQuery { return &UserAllowedGroupQuery{ config: c.config, ctx: &QueryContext{Type: TypeUserAllowedGroup}, inters: c.Interceptors(), } } // QueryUser queries the user edge of a UserAllowedGroup. func (c *UserAllowedGroupClient) QueryUser(_m *UserAllowedGroup) *UserQuery { return c.Query(). Where(userallowedgroup.UserID(_m.UserID), userallowedgroup.GroupID(_m.GroupID)). QueryUser() } // QueryGroup queries the group edge of a UserAllowedGroup. func (c *UserAllowedGroupClient) QueryGroup(_m *UserAllowedGroup) *GroupQuery { return c.Query(). Where(userallowedgroup.UserID(_m.UserID), userallowedgroup.GroupID(_m.GroupID)). QueryGroup() } // Hooks returns the client hooks. func (c *UserAllowedGroupClient) Hooks() []Hook { return c.hooks.UserAllowedGroup } // Interceptors returns the client interceptors. func (c *UserAllowedGroupClient) Interceptors() []Interceptor { return c.inters.UserAllowedGroup } func (c *UserAllowedGroupClient) mutate(ctx context.Context, m *UserAllowedGroupMutation) (Value, error) { switch m.Op() { case OpCreate: return (&UserAllowedGroupCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&UserAllowedGroupUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&UserAllowedGroupUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&UserAllowedGroupDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown UserAllowedGroup mutation op: %q", m.Op()) } } // UserAttributeDefinitionClient is a client for the UserAttributeDefinition schema. type UserAttributeDefinitionClient struct { config } // NewUserAttributeDefinitionClient returns a client for the UserAttributeDefinition from the given config. func NewUserAttributeDefinitionClient(c config) *UserAttributeDefinitionClient { return &UserAttributeDefinitionClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `userattributedefinition.Hooks(f(g(h())))`. func (c *UserAttributeDefinitionClient) Use(hooks ...Hook) { c.hooks.UserAttributeDefinition = append(c.hooks.UserAttributeDefinition, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `userattributedefinition.Intercept(f(g(h())))`. func (c *UserAttributeDefinitionClient) Intercept(interceptors ...Interceptor) { c.inters.UserAttributeDefinition = append(c.inters.UserAttributeDefinition, interceptors...) } // Create returns a builder for creating a UserAttributeDefinition entity. func (c *UserAttributeDefinitionClient) Create() *UserAttributeDefinitionCreate { mutation := newUserAttributeDefinitionMutation(c.config, OpCreate) return &UserAttributeDefinitionCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of UserAttributeDefinition entities. func (c *UserAttributeDefinitionClient) CreateBulk(builders ...*UserAttributeDefinitionCreate) *UserAttributeDefinitionCreateBulk { return &UserAttributeDefinitionCreateBulk{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 *UserAttributeDefinitionClient) MapCreateBulk(slice any, setFunc func(*UserAttributeDefinitionCreate, int)) *UserAttributeDefinitionCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &UserAttributeDefinitionCreateBulk{err: fmt.Errorf("calling to UserAttributeDefinitionClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*UserAttributeDefinitionCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &UserAttributeDefinitionCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for UserAttributeDefinition. func (c *UserAttributeDefinitionClient) Update() *UserAttributeDefinitionUpdate { mutation := newUserAttributeDefinitionMutation(c.config, OpUpdate) return &UserAttributeDefinitionUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *UserAttributeDefinitionClient) UpdateOne(_m *UserAttributeDefinition) *UserAttributeDefinitionUpdateOne { mutation := newUserAttributeDefinitionMutation(c.config, OpUpdateOne, withUserAttributeDefinition(_m)) return &UserAttributeDefinitionUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *UserAttributeDefinitionClient) UpdateOneID(id int64) *UserAttributeDefinitionUpdateOne { mutation := newUserAttributeDefinitionMutation(c.config, OpUpdateOne, withUserAttributeDefinitionID(id)) return &UserAttributeDefinitionUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for UserAttributeDefinition. func (c *UserAttributeDefinitionClient) Delete() *UserAttributeDefinitionDelete { mutation := newUserAttributeDefinitionMutation(c.config, OpDelete) return &UserAttributeDefinitionDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *UserAttributeDefinitionClient) DeleteOne(_m *UserAttributeDefinition) *UserAttributeDefinitionDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *UserAttributeDefinitionClient) DeleteOneID(id int64) *UserAttributeDefinitionDeleteOne { builder := c.Delete().Where(userattributedefinition.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &UserAttributeDefinitionDeleteOne{builder} } // Query returns a query builder for UserAttributeDefinition. func (c *UserAttributeDefinitionClient) Query() *UserAttributeDefinitionQuery { return &UserAttributeDefinitionQuery{ config: c.config, ctx: &QueryContext{Type: TypeUserAttributeDefinition}, inters: c.Interceptors(), } } // Get returns a UserAttributeDefinition entity by its id. func (c *UserAttributeDefinitionClient) Get(ctx context.Context, id int64) (*UserAttributeDefinition, error) { return c.Query().Where(userattributedefinition.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *UserAttributeDefinitionClient) GetX(ctx context.Context, id int64) *UserAttributeDefinition { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryValues queries the values edge of a UserAttributeDefinition. func (c *UserAttributeDefinitionClient) QueryValues(_m *UserAttributeDefinition) *UserAttributeValueQuery { query := (&UserAttributeValueClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(userattributedefinition.Table, userattributedefinition.FieldID, id), sqlgraph.To(userattributevalue.Table, userattributevalue.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, userattributedefinition.ValuesTable, userattributedefinition.ValuesColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *UserAttributeDefinitionClient) Hooks() []Hook { hooks := c.hooks.UserAttributeDefinition return append(hooks[:len(hooks):len(hooks)], userattributedefinition.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *UserAttributeDefinitionClient) Interceptors() []Interceptor { inters := c.inters.UserAttributeDefinition return append(inters[:len(inters):len(inters)], userattributedefinition.Interceptors[:]...) } func (c *UserAttributeDefinitionClient) mutate(ctx context.Context, m *UserAttributeDefinitionMutation) (Value, error) { switch m.Op() { case OpCreate: return (&UserAttributeDefinitionCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&UserAttributeDefinitionUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&UserAttributeDefinitionUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&UserAttributeDefinitionDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown UserAttributeDefinition mutation op: %q", m.Op()) } } // UserAttributeValueClient is a client for the UserAttributeValue schema. type UserAttributeValueClient struct { config } // NewUserAttributeValueClient returns a client for the UserAttributeValue from the given config. func NewUserAttributeValueClient(c config) *UserAttributeValueClient { return &UserAttributeValueClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `userattributevalue.Hooks(f(g(h())))`. func (c *UserAttributeValueClient) Use(hooks ...Hook) { c.hooks.UserAttributeValue = append(c.hooks.UserAttributeValue, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `userattributevalue.Intercept(f(g(h())))`. func (c *UserAttributeValueClient) Intercept(interceptors ...Interceptor) { c.inters.UserAttributeValue = append(c.inters.UserAttributeValue, interceptors...) } // Create returns a builder for creating a UserAttributeValue entity. func (c *UserAttributeValueClient) Create() *UserAttributeValueCreate { mutation := newUserAttributeValueMutation(c.config, OpCreate) return &UserAttributeValueCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of UserAttributeValue entities. func (c *UserAttributeValueClient) CreateBulk(builders ...*UserAttributeValueCreate) *UserAttributeValueCreateBulk { return &UserAttributeValueCreateBulk{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 *UserAttributeValueClient) MapCreateBulk(slice any, setFunc func(*UserAttributeValueCreate, int)) *UserAttributeValueCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &UserAttributeValueCreateBulk{err: fmt.Errorf("calling to UserAttributeValueClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*UserAttributeValueCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &UserAttributeValueCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for UserAttributeValue. func (c *UserAttributeValueClient) Update() *UserAttributeValueUpdate { mutation := newUserAttributeValueMutation(c.config, OpUpdate) return &UserAttributeValueUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *UserAttributeValueClient) UpdateOne(_m *UserAttributeValue) *UserAttributeValueUpdateOne { mutation := newUserAttributeValueMutation(c.config, OpUpdateOne, withUserAttributeValue(_m)) return &UserAttributeValueUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *UserAttributeValueClient) UpdateOneID(id int64) *UserAttributeValueUpdateOne { mutation := newUserAttributeValueMutation(c.config, OpUpdateOne, withUserAttributeValueID(id)) return &UserAttributeValueUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for UserAttributeValue. func (c *UserAttributeValueClient) Delete() *UserAttributeValueDelete { mutation := newUserAttributeValueMutation(c.config, OpDelete) return &UserAttributeValueDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *UserAttributeValueClient) DeleteOne(_m *UserAttributeValue) *UserAttributeValueDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *UserAttributeValueClient) DeleteOneID(id int64) *UserAttributeValueDeleteOne { builder := c.Delete().Where(userattributevalue.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &UserAttributeValueDeleteOne{builder} } // Query returns a query builder for UserAttributeValue. func (c *UserAttributeValueClient) Query() *UserAttributeValueQuery { return &UserAttributeValueQuery{ config: c.config, ctx: &QueryContext{Type: TypeUserAttributeValue}, inters: c.Interceptors(), } } // Get returns a UserAttributeValue entity by its id. func (c *UserAttributeValueClient) Get(ctx context.Context, id int64) (*UserAttributeValue, error) { return c.Query().Where(userattributevalue.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *UserAttributeValueClient) GetX(ctx context.Context, id int64) *UserAttributeValue { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryUser queries the user edge of a UserAttributeValue. func (c *UserAttributeValueClient) QueryUser(_m *UserAttributeValue) *UserQuery { query := (&UserClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(userattributevalue.Table, userattributevalue.FieldID, id), sqlgraph.To(user.Table, user.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, userattributevalue.UserTable, userattributevalue.UserColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryDefinition queries the definition edge of a UserAttributeValue. func (c *UserAttributeValueClient) QueryDefinition(_m *UserAttributeValue) *UserAttributeDefinitionQuery { query := (&UserAttributeDefinitionClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(userattributevalue.Table, userattributevalue.FieldID, id), sqlgraph.To(userattributedefinition.Table, userattributedefinition.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, userattributevalue.DefinitionTable, userattributevalue.DefinitionColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *UserAttributeValueClient) Hooks() []Hook { return c.hooks.UserAttributeValue } // Interceptors returns the client interceptors. func (c *UserAttributeValueClient) Interceptors() []Interceptor { return c.inters.UserAttributeValue } func (c *UserAttributeValueClient) mutate(ctx context.Context, m *UserAttributeValueMutation) (Value, error) { switch m.Op() { case OpCreate: return (&UserAttributeValueCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&UserAttributeValueUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&UserAttributeValueUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&UserAttributeValueDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown UserAttributeValue mutation op: %q", m.Op()) } } // UserSubscriptionClient is a client for the UserSubscription schema. type UserSubscriptionClient struct { config } // NewUserSubscriptionClient returns a client for the UserSubscription from the given config. func NewUserSubscriptionClient(c config) *UserSubscriptionClient { return &UserSubscriptionClient{config: c} } // Use adds a list of mutation hooks to the hooks stack. // A call to `Use(f, g, h)` equals to `usersubscription.Hooks(f(g(h())))`. func (c *UserSubscriptionClient) Use(hooks ...Hook) { c.hooks.UserSubscription = append(c.hooks.UserSubscription, hooks...) } // Intercept adds a list of query interceptors to the interceptors stack. // A call to `Intercept(f, g, h)` equals to `usersubscription.Intercept(f(g(h())))`. func (c *UserSubscriptionClient) Intercept(interceptors ...Interceptor) { c.inters.UserSubscription = append(c.inters.UserSubscription, interceptors...) } // Create returns a builder for creating a UserSubscription entity. func (c *UserSubscriptionClient) Create() *UserSubscriptionCreate { mutation := newUserSubscriptionMutation(c.config, OpCreate) return &UserSubscriptionCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // CreateBulk returns a builder for creating a bulk of UserSubscription entities. func (c *UserSubscriptionClient) CreateBulk(builders ...*UserSubscriptionCreate) *UserSubscriptionCreateBulk { return &UserSubscriptionCreateBulk{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 *UserSubscriptionClient) MapCreateBulk(slice any, setFunc func(*UserSubscriptionCreate, int)) *UserSubscriptionCreateBulk { rv := reflect.ValueOf(slice) if rv.Kind() != reflect.Slice { return &UserSubscriptionCreateBulk{err: fmt.Errorf("calling to UserSubscriptionClient.MapCreateBulk with wrong type %T, need slice", slice)} } builders := make([]*UserSubscriptionCreate, rv.Len()) for i := 0; i < rv.Len(); i++ { builders[i] = c.Create() setFunc(builders[i], i) } return &UserSubscriptionCreateBulk{config: c.config, builders: builders} } // Update returns an update builder for UserSubscription. func (c *UserSubscriptionClient) Update() *UserSubscriptionUpdate { mutation := newUserSubscriptionMutation(c.config, OpUpdate) return &UserSubscriptionUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOne returns an update builder for the given entity. func (c *UserSubscriptionClient) UpdateOne(_m *UserSubscription) *UserSubscriptionUpdateOne { mutation := newUserSubscriptionMutation(c.config, OpUpdateOne, withUserSubscription(_m)) return &UserSubscriptionUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // UpdateOneID returns an update builder for the given id. func (c *UserSubscriptionClient) UpdateOneID(id int64) *UserSubscriptionUpdateOne { mutation := newUserSubscriptionMutation(c.config, OpUpdateOne, withUserSubscriptionID(id)) return &UserSubscriptionUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} } // Delete returns a delete builder for UserSubscription. func (c *UserSubscriptionClient) Delete() *UserSubscriptionDelete { mutation := newUserSubscriptionMutation(c.config, OpDelete) return &UserSubscriptionDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} } // DeleteOne returns a builder for deleting the given entity. func (c *UserSubscriptionClient) DeleteOne(_m *UserSubscription) *UserSubscriptionDeleteOne { return c.DeleteOneID(_m.ID) } // DeleteOneID returns a builder for deleting the given entity by its id. func (c *UserSubscriptionClient) DeleteOneID(id int64) *UserSubscriptionDeleteOne { builder := c.Delete().Where(usersubscription.ID(id)) builder.mutation.id = &id builder.mutation.op = OpDeleteOne return &UserSubscriptionDeleteOne{builder} } // Query returns a query builder for UserSubscription. func (c *UserSubscriptionClient) Query() *UserSubscriptionQuery { return &UserSubscriptionQuery{ config: c.config, ctx: &QueryContext{Type: TypeUserSubscription}, inters: c.Interceptors(), } } // Get returns a UserSubscription entity by its id. func (c *UserSubscriptionClient) Get(ctx context.Context, id int64) (*UserSubscription, error) { return c.Query().Where(usersubscription.ID(id)).Only(ctx) } // GetX is like Get, but panics if an error occurs. func (c *UserSubscriptionClient) GetX(ctx context.Context, id int64) *UserSubscription { obj, err := c.Get(ctx, id) if err != nil { panic(err) } return obj } // QueryUser queries the user edge of a UserSubscription. func (c *UserSubscriptionClient) QueryUser(_m *UserSubscription) *UserQuery { query := (&UserClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usersubscription.Table, usersubscription.FieldID, id), sqlgraph.To(user.Table, user.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, usersubscription.UserTable, usersubscription.UserColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryGroup queries the group edge of a UserSubscription. func (c *UserSubscriptionClient) QueryGroup(_m *UserSubscription) *GroupQuery { query := (&GroupClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usersubscription.Table, usersubscription.FieldID, id), sqlgraph.To(group.Table, group.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, usersubscription.GroupTable, usersubscription.GroupColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryAssignedByUser queries the assigned_by_user edge of a UserSubscription. func (c *UserSubscriptionClient) QueryAssignedByUser(_m *UserSubscription) *UserQuery { query := (&UserClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usersubscription.Table, usersubscription.FieldID, id), sqlgraph.To(user.Table, user.FieldID), sqlgraph.Edge(sqlgraph.M2O, true, usersubscription.AssignedByUserTable, usersubscription.AssignedByUserColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // QueryUsageLogs queries the usage_logs edge of a UserSubscription. func (c *UserSubscriptionClient) QueryUsageLogs(_m *UserSubscription) *UsageLogQuery { query := (&UsageLogClient{config: c.config}).Query() query.path = func(context.Context) (fromV *sql.Selector, _ error) { id := _m.ID step := sqlgraph.NewStep( sqlgraph.From(usersubscription.Table, usersubscription.FieldID, id), sqlgraph.To(usagelog.Table, usagelog.FieldID), sqlgraph.Edge(sqlgraph.O2M, false, usersubscription.UsageLogsTable, usersubscription.UsageLogsColumn), ) fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) return fromV, nil } return query } // Hooks returns the client hooks. func (c *UserSubscriptionClient) Hooks() []Hook { hooks := c.hooks.UserSubscription return append(hooks[:len(hooks):len(hooks)], usersubscription.Hooks[:]...) } // Interceptors returns the client interceptors. func (c *UserSubscriptionClient) Interceptors() []Interceptor { inters := c.inters.UserSubscription return append(inters[:len(inters):len(inters)], usersubscription.Interceptors[:]...) } func (c *UserSubscriptionClient) mutate(ctx context.Context, m *UserSubscriptionMutation) (Value, error) { switch m.Op() { case OpCreate: return (&UserSubscriptionCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdate: return (&UserSubscriptionUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpUpdateOne: return (&UserSubscriptionUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) case OpDelete, OpDeleteOne: return (&UserSubscriptionDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) default: return nil, fmt.Errorf("ent: unknown UserSubscription mutation op: %q", m.Op()) } } // hooks and interceptors per client, for fast access. type ( hooks struct { Account, AccountGroup, ApiKey, Group, Proxy, RedeemCode, Setting, UsageLog, User, UserAllowedGroup, UserAttributeDefinition, UserAttributeValue, UserSubscription []ent.Hook } inters struct { Account, AccountGroup, ApiKey, Group, Proxy, RedeemCode, Setting, UsageLog, User, UserAllowedGroup, UserAttributeDefinition, UserAttributeValue, UserSubscription []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...) }