Implements announcements end-to-end (admin CRUD + read status, user list + mark read) with OR-of-AND targeting. Also breaks the ent<->service import cycle by moving schema-facing constants/targeting into a new domain package.
3501 lines
132 KiB
Go
3501 lines
132 KiB
Go
// 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/announcement"
|
|
"github.com/Wei-Shaw/sub2api/ent/announcementread"
|
|
"github.com/Wei-Shaw/sub2api/ent/apikey"
|
|
"github.com/Wei-Shaw/sub2api/ent/group"
|
|
"github.com/Wei-Shaw/sub2api/ent/promocode"
|
|
"github.com/Wei-Shaw/sub2api/ent/promocodeusage"
|
|
"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/usagecleanuptask"
|
|
"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
|
|
// APIKey is the client for interacting with the APIKey builders.
|
|
APIKey *APIKeyClient
|
|
// Account is the client for interacting with the Account builders.
|
|
Account *AccountClient
|
|
// AccountGroup is the client for interacting with the AccountGroup builders.
|
|
AccountGroup *AccountGroupClient
|
|
// Announcement is the client for interacting with the Announcement builders.
|
|
Announcement *AnnouncementClient
|
|
// AnnouncementRead is the client for interacting with the AnnouncementRead builders.
|
|
AnnouncementRead *AnnouncementReadClient
|
|
// Group is the client for interacting with the Group builders.
|
|
Group *GroupClient
|
|
// PromoCode is the client for interacting with the PromoCode builders.
|
|
PromoCode *PromoCodeClient
|
|
// PromoCodeUsage is the client for interacting with the PromoCodeUsage builders.
|
|
PromoCodeUsage *PromoCodeUsageClient
|
|
// 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
|
|
// UsageCleanupTask is the client for interacting with the UsageCleanupTask builders.
|
|
UsageCleanupTask *UsageCleanupTaskClient
|
|
// 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.APIKey = NewAPIKeyClient(c.config)
|
|
c.Account = NewAccountClient(c.config)
|
|
c.AccountGroup = NewAccountGroupClient(c.config)
|
|
c.Announcement = NewAnnouncementClient(c.config)
|
|
c.AnnouncementRead = NewAnnouncementReadClient(c.config)
|
|
c.Group = NewGroupClient(c.config)
|
|
c.PromoCode = NewPromoCodeClient(c.config)
|
|
c.PromoCodeUsage = NewPromoCodeUsageClient(c.config)
|
|
c.Proxy = NewProxyClient(c.config)
|
|
c.RedeemCode = NewRedeemCodeClient(c.config)
|
|
c.Setting = NewSettingClient(c.config)
|
|
c.UsageCleanupTask = NewUsageCleanupTaskClient(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,
|
|
APIKey: NewAPIKeyClient(cfg),
|
|
Account: NewAccountClient(cfg),
|
|
AccountGroup: NewAccountGroupClient(cfg),
|
|
Announcement: NewAnnouncementClient(cfg),
|
|
AnnouncementRead: NewAnnouncementReadClient(cfg),
|
|
Group: NewGroupClient(cfg),
|
|
PromoCode: NewPromoCodeClient(cfg),
|
|
PromoCodeUsage: NewPromoCodeUsageClient(cfg),
|
|
Proxy: NewProxyClient(cfg),
|
|
RedeemCode: NewRedeemCodeClient(cfg),
|
|
Setting: NewSettingClient(cfg),
|
|
UsageCleanupTask: NewUsageCleanupTaskClient(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,
|
|
APIKey: NewAPIKeyClient(cfg),
|
|
Account: NewAccountClient(cfg),
|
|
AccountGroup: NewAccountGroupClient(cfg),
|
|
Announcement: NewAnnouncementClient(cfg),
|
|
AnnouncementRead: NewAnnouncementReadClient(cfg),
|
|
Group: NewGroupClient(cfg),
|
|
PromoCode: NewPromoCodeClient(cfg),
|
|
PromoCodeUsage: NewPromoCodeUsageClient(cfg),
|
|
Proxy: NewProxyClient(cfg),
|
|
RedeemCode: NewRedeemCodeClient(cfg),
|
|
Setting: NewSettingClient(cfg),
|
|
UsageCleanupTask: NewUsageCleanupTaskClient(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().
|
|
// APIKey.
|
|
// 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.APIKey, c.Account, c.AccountGroup, c.Announcement, c.AnnouncementRead,
|
|
c.Group, c.PromoCode, c.PromoCodeUsage, c.Proxy, c.RedeemCode, c.Setting,
|
|
c.UsageCleanupTask, 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.APIKey, c.Account, c.AccountGroup, c.Announcement, c.AnnouncementRead,
|
|
c.Group, c.PromoCode, c.PromoCodeUsage, c.Proxy, c.RedeemCode, c.Setting,
|
|
c.UsageCleanupTask, 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 *APIKeyMutation:
|
|
return c.APIKey.mutate(ctx, m)
|
|
case *AccountMutation:
|
|
return c.Account.mutate(ctx, m)
|
|
case *AccountGroupMutation:
|
|
return c.AccountGroup.mutate(ctx, m)
|
|
case *AnnouncementMutation:
|
|
return c.Announcement.mutate(ctx, m)
|
|
case *AnnouncementReadMutation:
|
|
return c.AnnouncementRead.mutate(ctx, m)
|
|
case *GroupMutation:
|
|
return c.Group.mutate(ctx, m)
|
|
case *PromoCodeMutation:
|
|
return c.PromoCode.mutate(ctx, m)
|
|
case *PromoCodeUsageMutation:
|
|
return c.PromoCodeUsage.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 *UsageCleanupTaskMutation:
|
|
return c.UsageCleanupTask.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)
|
|
}
|
|
}
|
|
|
|
// 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())
|
|
}
|
|
}
|
|
|
|
// 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())
|
|
}
|
|
}
|
|
|
|
// AnnouncementClient is a client for the Announcement schema.
|
|
type AnnouncementClient struct {
|
|
config
|
|
}
|
|
|
|
// NewAnnouncementClient returns a client for the Announcement from the given config.
|
|
func NewAnnouncementClient(c config) *AnnouncementClient {
|
|
return &AnnouncementClient{config: c}
|
|
}
|
|
|
|
// Use adds a list of mutation hooks to the hooks stack.
|
|
// A call to `Use(f, g, h)` equals to `announcement.Hooks(f(g(h())))`.
|
|
func (c *AnnouncementClient) Use(hooks ...Hook) {
|
|
c.hooks.Announcement = append(c.hooks.Announcement, hooks...)
|
|
}
|
|
|
|
// Intercept adds a list of query interceptors to the interceptors stack.
|
|
// A call to `Intercept(f, g, h)` equals to `announcement.Intercept(f(g(h())))`.
|
|
func (c *AnnouncementClient) Intercept(interceptors ...Interceptor) {
|
|
c.inters.Announcement = append(c.inters.Announcement, interceptors...)
|
|
}
|
|
|
|
// Create returns a builder for creating a Announcement entity.
|
|
func (c *AnnouncementClient) Create() *AnnouncementCreate {
|
|
mutation := newAnnouncementMutation(c.config, OpCreate)
|
|
return &AnnouncementCreate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// CreateBulk returns a builder for creating a bulk of Announcement entities.
|
|
func (c *AnnouncementClient) CreateBulk(builders ...*AnnouncementCreate) *AnnouncementCreateBulk {
|
|
return &AnnouncementCreateBulk{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 *AnnouncementClient) MapCreateBulk(slice any, setFunc func(*AnnouncementCreate, int)) *AnnouncementCreateBulk {
|
|
rv := reflect.ValueOf(slice)
|
|
if rv.Kind() != reflect.Slice {
|
|
return &AnnouncementCreateBulk{err: fmt.Errorf("calling to AnnouncementClient.MapCreateBulk with wrong type %T, need slice", slice)}
|
|
}
|
|
builders := make([]*AnnouncementCreate, rv.Len())
|
|
for i := 0; i < rv.Len(); i++ {
|
|
builders[i] = c.Create()
|
|
setFunc(builders[i], i)
|
|
}
|
|
return &AnnouncementCreateBulk{config: c.config, builders: builders}
|
|
}
|
|
|
|
// Update returns an update builder for Announcement.
|
|
func (c *AnnouncementClient) Update() *AnnouncementUpdate {
|
|
mutation := newAnnouncementMutation(c.config, OpUpdate)
|
|
return &AnnouncementUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOne returns an update builder for the given entity.
|
|
func (c *AnnouncementClient) UpdateOne(_m *Announcement) *AnnouncementUpdateOne {
|
|
mutation := newAnnouncementMutation(c.config, OpUpdateOne, withAnnouncement(_m))
|
|
return &AnnouncementUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOneID returns an update builder for the given id.
|
|
func (c *AnnouncementClient) UpdateOneID(id int64) *AnnouncementUpdateOne {
|
|
mutation := newAnnouncementMutation(c.config, OpUpdateOne, withAnnouncementID(id))
|
|
return &AnnouncementUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// Delete returns a delete builder for Announcement.
|
|
func (c *AnnouncementClient) Delete() *AnnouncementDelete {
|
|
mutation := newAnnouncementMutation(c.config, OpDelete)
|
|
return &AnnouncementDelete{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// DeleteOne returns a builder for deleting the given entity.
|
|
func (c *AnnouncementClient) DeleteOne(_m *Announcement) *AnnouncementDeleteOne {
|
|
return c.DeleteOneID(_m.ID)
|
|
}
|
|
|
|
// DeleteOneID returns a builder for deleting the given entity by its id.
|
|
func (c *AnnouncementClient) DeleteOneID(id int64) *AnnouncementDeleteOne {
|
|
builder := c.Delete().Where(announcement.ID(id))
|
|
builder.mutation.id = &id
|
|
builder.mutation.op = OpDeleteOne
|
|
return &AnnouncementDeleteOne{builder}
|
|
}
|
|
|
|
// Query returns a query builder for Announcement.
|
|
func (c *AnnouncementClient) Query() *AnnouncementQuery {
|
|
return &AnnouncementQuery{
|
|
config: c.config,
|
|
ctx: &QueryContext{Type: TypeAnnouncement},
|
|
inters: c.Interceptors(),
|
|
}
|
|
}
|
|
|
|
// Get returns a Announcement entity by its id.
|
|
func (c *AnnouncementClient) Get(ctx context.Context, id int64) (*Announcement, error) {
|
|
return c.Query().Where(announcement.ID(id)).Only(ctx)
|
|
}
|
|
|
|
// GetX is like Get, but panics if an error occurs.
|
|
func (c *AnnouncementClient) GetX(ctx context.Context, id int64) *Announcement {
|
|
obj, err := c.Get(ctx, id)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return obj
|
|
}
|
|
|
|
// QueryReads queries the reads edge of a Announcement.
|
|
func (c *AnnouncementClient) QueryReads(_m *Announcement) *AnnouncementReadQuery {
|
|
query := (&AnnouncementReadClient{config: c.config}).Query()
|
|
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
|
id := _m.ID
|
|
step := sqlgraph.NewStep(
|
|
sqlgraph.From(announcement.Table, announcement.FieldID, id),
|
|
sqlgraph.To(announcementread.Table, announcementread.FieldID),
|
|
sqlgraph.Edge(sqlgraph.O2M, false, announcement.ReadsTable, announcement.ReadsColumn),
|
|
)
|
|
fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step)
|
|
return fromV, nil
|
|
}
|
|
return query
|
|
}
|
|
|
|
// Hooks returns the client hooks.
|
|
func (c *AnnouncementClient) Hooks() []Hook {
|
|
return c.hooks.Announcement
|
|
}
|
|
|
|
// Interceptors returns the client interceptors.
|
|
func (c *AnnouncementClient) Interceptors() []Interceptor {
|
|
return c.inters.Announcement
|
|
}
|
|
|
|
func (c *AnnouncementClient) mutate(ctx context.Context, m *AnnouncementMutation) (Value, error) {
|
|
switch m.Op() {
|
|
case OpCreate:
|
|
return (&AnnouncementCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdate:
|
|
return (&AnnouncementUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdateOne:
|
|
return (&AnnouncementUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpDelete, OpDeleteOne:
|
|
return (&AnnouncementDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx)
|
|
default:
|
|
return nil, fmt.Errorf("ent: unknown Announcement mutation op: %q", m.Op())
|
|
}
|
|
}
|
|
|
|
// AnnouncementReadClient is a client for the AnnouncementRead schema.
|
|
type AnnouncementReadClient struct {
|
|
config
|
|
}
|
|
|
|
// NewAnnouncementReadClient returns a client for the AnnouncementRead from the given config.
|
|
func NewAnnouncementReadClient(c config) *AnnouncementReadClient {
|
|
return &AnnouncementReadClient{config: c}
|
|
}
|
|
|
|
// Use adds a list of mutation hooks to the hooks stack.
|
|
// A call to `Use(f, g, h)` equals to `announcementread.Hooks(f(g(h())))`.
|
|
func (c *AnnouncementReadClient) Use(hooks ...Hook) {
|
|
c.hooks.AnnouncementRead = append(c.hooks.AnnouncementRead, hooks...)
|
|
}
|
|
|
|
// Intercept adds a list of query interceptors to the interceptors stack.
|
|
// A call to `Intercept(f, g, h)` equals to `announcementread.Intercept(f(g(h())))`.
|
|
func (c *AnnouncementReadClient) Intercept(interceptors ...Interceptor) {
|
|
c.inters.AnnouncementRead = append(c.inters.AnnouncementRead, interceptors...)
|
|
}
|
|
|
|
// Create returns a builder for creating a AnnouncementRead entity.
|
|
func (c *AnnouncementReadClient) Create() *AnnouncementReadCreate {
|
|
mutation := newAnnouncementReadMutation(c.config, OpCreate)
|
|
return &AnnouncementReadCreate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// CreateBulk returns a builder for creating a bulk of AnnouncementRead entities.
|
|
func (c *AnnouncementReadClient) CreateBulk(builders ...*AnnouncementReadCreate) *AnnouncementReadCreateBulk {
|
|
return &AnnouncementReadCreateBulk{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 *AnnouncementReadClient) MapCreateBulk(slice any, setFunc func(*AnnouncementReadCreate, int)) *AnnouncementReadCreateBulk {
|
|
rv := reflect.ValueOf(slice)
|
|
if rv.Kind() != reflect.Slice {
|
|
return &AnnouncementReadCreateBulk{err: fmt.Errorf("calling to AnnouncementReadClient.MapCreateBulk with wrong type %T, need slice", slice)}
|
|
}
|
|
builders := make([]*AnnouncementReadCreate, rv.Len())
|
|
for i := 0; i < rv.Len(); i++ {
|
|
builders[i] = c.Create()
|
|
setFunc(builders[i], i)
|
|
}
|
|
return &AnnouncementReadCreateBulk{config: c.config, builders: builders}
|
|
}
|
|
|
|
// Update returns an update builder for AnnouncementRead.
|
|
func (c *AnnouncementReadClient) Update() *AnnouncementReadUpdate {
|
|
mutation := newAnnouncementReadMutation(c.config, OpUpdate)
|
|
return &AnnouncementReadUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOne returns an update builder for the given entity.
|
|
func (c *AnnouncementReadClient) UpdateOne(_m *AnnouncementRead) *AnnouncementReadUpdateOne {
|
|
mutation := newAnnouncementReadMutation(c.config, OpUpdateOne, withAnnouncementRead(_m))
|
|
return &AnnouncementReadUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOneID returns an update builder for the given id.
|
|
func (c *AnnouncementReadClient) UpdateOneID(id int64) *AnnouncementReadUpdateOne {
|
|
mutation := newAnnouncementReadMutation(c.config, OpUpdateOne, withAnnouncementReadID(id))
|
|
return &AnnouncementReadUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// Delete returns a delete builder for AnnouncementRead.
|
|
func (c *AnnouncementReadClient) Delete() *AnnouncementReadDelete {
|
|
mutation := newAnnouncementReadMutation(c.config, OpDelete)
|
|
return &AnnouncementReadDelete{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// DeleteOne returns a builder for deleting the given entity.
|
|
func (c *AnnouncementReadClient) DeleteOne(_m *AnnouncementRead) *AnnouncementReadDeleteOne {
|
|
return c.DeleteOneID(_m.ID)
|
|
}
|
|
|
|
// DeleteOneID returns a builder for deleting the given entity by its id.
|
|
func (c *AnnouncementReadClient) DeleteOneID(id int64) *AnnouncementReadDeleteOne {
|
|
builder := c.Delete().Where(announcementread.ID(id))
|
|
builder.mutation.id = &id
|
|
builder.mutation.op = OpDeleteOne
|
|
return &AnnouncementReadDeleteOne{builder}
|
|
}
|
|
|
|
// Query returns a query builder for AnnouncementRead.
|
|
func (c *AnnouncementReadClient) Query() *AnnouncementReadQuery {
|
|
return &AnnouncementReadQuery{
|
|
config: c.config,
|
|
ctx: &QueryContext{Type: TypeAnnouncementRead},
|
|
inters: c.Interceptors(),
|
|
}
|
|
}
|
|
|
|
// Get returns a AnnouncementRead entity by its id.
|
|
func (c *AnnouncementReadClient) Get(ctx context.Context, id int64) (*AnnouncementRead, error) {
|
|
return c.Query().Where(announcementread.ID(id)).Only(ctx)
|
|
}
|
|
|
|
// GetX is like Get, but panics if an error occurs.
|
|
func (c *AnnouncementReadClient) GetX(ctx context.Context, id int64) *AnnouncementRead {
|
|
obj, err := c.Get(ctx, id)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return obj
|
|
}
|
|
|
|
// QueryAnnouncement queries the announcement edge of a AnnouncementRead.
|
|
func (c *AnnouncementReadClient) QueryAnnouncement(_m *AnnouncementRead) *AnnouncementQuery {
|
|
query := (&AnnouncementClient{config: c.config}).Query()
|
|
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
|
id := _m.ID
|
|
step := sqlgraph.NewStep(
|
|
sqlgraph.From(announcementread.Table, announcementread.FieldID, id),
|
|
sqlgraph.To(announcement.Table, announcement.FieldID),
|
|
sqlgraph.Edge(sqlgraph.M2O, true, announcementread.AnnouncementTable, announcementread.AnnouncementColumn),
|
|
)
|
|
fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step)
|
|
return fromV, nil
|
|
}
|
|
return query
|
|
}
|
|
|
|
// QueryUser queries the user edge of a AnnouncementRead.
|
|
func (c *AnnouncementReadClient) QueryUser(_m *AnnouncementRead) *UserQuery {
|
|
query := (&UserClient{config: c.config}).Query()
|
|
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
|
id := _m.ID
|
|
step := sqlgraph.NewStep(
|
|
sqlgraph.From(announcementread.Table, announcementread.FieldID, id),
|
|
sqlgraph.To(user.Table, user.FieldID),
|
|
sqlgraph.Edge(sqlgraph.M2O, true, announcementread.UserTable, announcementread.UserColumn),
|
|
)
|
|
fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step)
|
|
return fromV, nil
|
|
}
|
|
return query
|
|
}
|
|
|
|
// Hooks returns the client hooks.
|
|
func (c *AnnouncementReadClient) Hooks() []Hook {
|
|
return c.hooks.AnnouncementRead
|
|
}
|
|
|
|
// Interceptors returns the client interceptors.
|
|
func (c *AnnouncementReadClient) Interceptors() []Interceptor {
|
|
return c.inters.AnnouncementRead
|
|
}
|
|
|
|
func (c *AnnouncementReadClient) mutate(ctx context.Context, m *AnnouncementReadMutation) (Value, error) {
|
|
switch m.Op() {
|
|
case OpCreate:
|
|
return (&AnnouncementReadCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdate:
|
|
return (&AnnouncementReadUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdateOne:
|
|
return (&AnnouncementReadUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpDelete, OpDeleteOne:
|
|
return (&AnnouncementReadDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx)
|
|
default:
|
|
return nil, fmt.Errorf("ent: unknown AnnouncementRead 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())
|
|
}
|
|
}
|
|
|
|
// PromoCodeClient is a client for the PromoCode schema.
|
|
type PromoCodeClient struct {
|
|
config
|
|
}
|
|
|
|
// NewPromoCodeClient returns a client for the PromoCode from the given config.
|
|
func NewPromoCodeClient(c config) *PromoCodeClient {
|
|
return &PromoCodeClient{config: c}
|
|
}
|
|
|
|
// Use adds a list of mutation hooks to the hooks stack.
|
|
// A call to `Use(f, g, h)` equals to `promocode.Hooks(f(g(h())))`.
|
|
func (c *PromoCodeClient) Use(hooks ...Hook) {
|
|
c.hooks.PromoCode = append(c.hooks.PromoCode, hooks...)
|
|
}
|
|
|
|
// Intercept adds a list of query interceptors to the interceptors stack.
|
|
// A call to `Intercept(f, g, h)` equals to `promocode.Intercept(f(g(h())))`.
|
|
func (c *PromoCodeClient) Intercept(interceptors ...Interceptor) {
|
|
c.inters.PromoCode = append(c.inters.PromoCode, interceptors...)
|
|
}
|
|
|
|
// Create returns a builder for creating a PromoCode entity.
|
|
func (c *PromoCodeClient) Create() *PromoCodeCreate {
|
|
mutation := newPromoCodeMutation(c.config, OpCreate)
|
|
return &PromoCodeCreate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// CreateBulk returns a builder for creating a bulk of PromoCode entities.
|
|
func (c *PromoCodeClient) CreateBulk(builders ...*PromoCodeCreate) *PromoCodeCreateBulk {
|
|
return &PromoCodeCreateBulk{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 *PromoCodeClient) MapCreateBulk(slice any, setFunc func(*PromoCodeCreate, int)) *PromoCodeCreateBulk {
|
|
rv := reflect.ValueOf(slice)
|
|
if rv.Kind() != reflect.Slice {
|
|
return &PromoCodeCreateBulk{err: fmt.Errorf("calling to PromoCodeClient.MapCreateBulk with wrong type %T, need slice", slice)}
|
|
}
|
|
builders := make([]*PromoCodeCreate, rv.Len())
|
|
for i := 0; i < rv.Len(); i++ {
|
|
builders[i] = c.Create()
|
|
setFunc(builders[i], i)
|
|
}
|
|
return &PromoCodeCreateBulk{config: c.config, builders: builders}
|
|
}
|
|
|
|
// Update returns an update builder for PromoCode.
|
|
func (c *PromoCodeClient) Update() *PromoCodeUpdate {
|
|
mutation := newPromoCodeMutation(c.config, OpUpdate)
|
|
return &PromoCodeUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOne returns an update builder for the given entity.
|
|
func (c *PromoCodeClient) UpdateOne(_m *PromoCode) *PromoCodeUpdateOne {
|
|
mutation := newPromoCodeMutation(c.config, OpUpdateOne, withPromoCode(_m))
|
|
return &PromoCodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOneID returns an update builder for the given id.
|
|
func (c *PromoCodeClient) UpdateOneID(id int64) *PromoCodeUpdateOne {
|
|
mutation := newPromoCodeMutation(c.config, OpUpdateOne, withPromoCodeID(id))
|
|
return &PromoCodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// Delete returns a delete builder for PromoCode.
|
|
func (c *PromoCodeClient) Delete() *PromoCodeDelete {
|
|
mutation := newPromoCodeMutation(c.config, OpDelete)
|
|
return &PromoCodeDelete{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// DeleteOne returns a builder for deleting the given entity.
|
|
func (c *PromoCodeClient) DeleteOne(_m *PromoCode) *PromoCodeDeleteOne {
|
|
return c.DeleteOneID(_m.ID)
|
|
}
|
|
|
|
// DeleteOneID returns a builder for deleting the given entity by its id.
|
|
func (c *PromoCodeClient) DeleteOneID(id int64) *PromoCodeDeleteOne {
|
|
builder := c.Delete().Where(promocode.ID(id))
|
|
builder.mutation.id = &id
|
|
builder.mutation.op = OpDeleteOne
|
|
return &PromoCodeDeleteOne{builder}
|
|
}
|
|
|
|
// Query returns a query builder for PromoCode.
|
|
func (c *PromoCodeClient) Query() *PromoCodeQuery {
|
|
return &PromoCodeQuery{
|
|
config: c.config,
|
|
ctx: &QueryContext{Type: TypePromoCode},
|
|
inters: c.Interceptors(),
|
|
}
|
|
}
|
|
|
|
// Get returns a PromoCode entity by its id.
|
|
func (c *PromoCodeClient) Get(ctx context.Context, id int64) (*PromoCode, error) {
|
|
return c.Query().Where(promocode.ID(id)).Only(ctx)
|
|
}
|
|
|
|
// GetX is like Get, but panics if an error occurs.
|
|
func (c *PromoCodeClient) GetX(ctx context.Context, id int64) *PromoCode {
|
|
obj, err := c.Get(ctx, id)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return obj
|
|
}
|
|
|
|
// QueryUsageRecords queries the usage_records edge of a PromoCode.
|
|
func (c *PromoCodeClient) QueryUsageRecords(_m *PromoCode) *PromoCodeUsageQuery {
|
|
query := (&PromoCodeUsageClient{config: c.config}).Query()
|
|
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
|
id := _m.ID
|
|
step := sqlgraph.NewStep(
|
|
sqlgraph.From(promocode.Table, promocode.FieldID, id),
|
|
sqlgraph.To(promocodeusage.Table, promocodeusage.FieldID),
|
|
sqlgraph.Edge(sqlgraph.O2M, false, promocode.UsageRecordsTable, promocode.UsageRecordsColumn),
|
|
)
|
|
fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step)
|
|
return fromV, nil
|
|
}
|
|
return query
|
|
}
|
|
|
|
// Hooks returns the client hooks.
|
|
func (c *PromoCodeClient) Hooks() []Hook {
|
|
return c.hooks.PromoCode
|
|
}
|
|
|
|
// Interceptors returns the client interceptors.
|
|
func (c *PromoCodeClient) Interceptors() []Interceptor {
|
|
return c.inters.PromoCode
|
|
}
|
|
|
|
func (c *PromoCodeClient) mutate(ctx context.Context, m *PromoCodeMutation) (Value, error) {
|
|
switch m.Op() {
|
|
case OpCreate:
|
|
return (&PromoCodeCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdate:
|
|
return (&PromoCodeUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdateOne:
|
|
return (&PromoCodeUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpDelete, OpDeleteOne:
|
|
return (&PromoCodeDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx)
|
|
default:
|
|
return nil, fmt.Errorf("ent: unknown PromoCode mutation op: %q", m.Op())
|
|
}
|
|
}
|
|
|
|
// PromoCodeUsageClient is a client for the PromoCodeUsage schema.
|
|
type PromoCodeUsageClient struct {
|
|
config
|
|
}
|
|
|
|
// NewPromoCodeUsageClient returns a client for the PromoCodeUsage from the given config.
|
|
func NewPromoCodeUsageClient(c config) *PromoCodeUsageClient {
|
|
return &PromoCodeUsageClient{config: c}
|
|
}
|
|
|
|
// Use adds a list of mutation hooks to the hooks stack.
|
|
// A call to `Use(f, g, h)` equals to `promocodeusage.Hooks(f(g(h())))`.
|
|
func (c *PromoCodeUsageClient) Use(hooks ...Hook) {
|
|
c.hooks.PromoCodeUsage = append(c.hooks.PromoCodeUsage, hooks...)
|
|
}
|
|
|
|
// Intercept adds a list of query interceptors to the interceptors stack.
|
|
// A call to `Intercept(f, g, h)` equals to `promocodeusage.Intercept(f(g(h())))`.
|
|
func (c *PromoCodeUsageClient) Intercept(interceptors ...Interceptor) {
|
|
c.inters.PromoCodeUsage = append(c.inters.PromoCodeUsage, interceptors...)
|
|
}
|
|
|
|
// Create returns a builder for creating a PromoCodeUsage entity.
|
|
func (c *PromoCodeUsageClient) Create() *PromoCodeUsageCreate {
|
|
mutation := newPromoCodeUsageMutation(c.config, OpCreate)
|
|
return &PromoCodeUsageCreate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// CreateBulk returns a builder for creating a bulk of PromoCodeUsage entities.
|
|
func (c *PromoCodeUsageClient) CreateBulk(builders ...*PromoCodeUsageCreate) *PromoCodeUsageCreateBulk {
|
|
return &PromoCodeUsageCreateBulk{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 *PromoCodeUsageClient) MapCreateBulk(slice any, setFunc func(*PromoCodeUsageCreate, int)) *PromoCodeUsageCreateBulk {
|
|
rv := reflect.ValueOf(slice)
|
|
if rv.Kind() != reflect.Slice {
|
|
return &PromoCodeUsageCreateBulk{err: fmt.Errorf("calling to PromoCodeUsageClient.MapCreateBulk with wrong type %T, need slice", slice)}
|
|
}
|
|
builders := make([]*PromoCodeUsageCreate, rv.Len())
|
|
for i := 0; i < rv.Len(); i++ {
|
|
builders[i] = c.Create()
|
|
setFunc(builders[i], i)
|
|
}
|
|
return &PromoCodeUsageCreateBulk{config: c.config, builders: builders}
|
|
}
|
|
|
|
// Update returns an update builder for PromoCodeUsage.
|
|
func (c *PromoCodeUsageClient) Update() *PromoCodeUsageUpdate {
|
|
mutation := newPromoCodeUsageMutation(c.config, OpUpdate)
|
|
return &PromoCodeUsageUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOne returns an update builder for the given entity.
|
|
func (c *PromoCodeUsageClient) UpdateOne(_m *PromoCodeUsage) *PromoCodeUsageUpdateOne {
|
|
mutation := newPromoCodeUsageMutation(c.config, OpUpdateOne, withPromoCodeUsage(_m))
|
|
return &PromoCodeUsageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOneID returns an update builder for the given id.
|
|
func (c *PromoCodeUsageClient) UpdateOneID(id int64) *PromoCodeUsageUpdateOne {
|
|
mutation := newPromoCodeUsageMutation(c.config, OpUpdateOne, withPromoCodeUsageID(id))
|
|
return &PromoCodeUsageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// Delete returns a delete builder for PromoCodeUsage.
|
|
func (c *PromoCodeUsageClient) Delete() *PromoCodeUsageDelete {
|
|
mutation := newPromoCodeUsageMutation(c.config, OpDelete)
|
|
return &PromoCodeUsageDelete{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// DeleteOne returns a builder for deleting the given entity.
|
|
func (c *PromoCodeUsageClient) DeleteOne(_m *PromoCodeUsage) *PromoCodeUsageDeleteOne {
|
|
return c.DeleteOneID(_m.ID)
|
|
}
|
|
|
|
// DeleteOneID returns a builder for deleting the given entity by its id.
|
|
func (c *PromoCodeUsageClient) DeleteOneID(id int64) *PromoCodeUsageDeleteOne {
|
|
builder := c.Delete().Where(promocodeusage.ID(id))
|
|
builder.mutation.id = &id
|
|
builder.mutation.op = OpDeleteOne
|
|
return &PromoCodeUsageDeleteOne{builder}
|
|
}
|
|
|
|
// Query returns a query builder for PromoCodeUsage.
|
|
func (c *PromoCodeUsageClient) Query() *PromoCodeUsageQuery {
|
|
return &PromoCodeUsageQuery{
|
|
config: c.config,
|
|
ctx: &QueryContext{Type: TypePromoCodeUsage},
|
|
inters: c.Interceptors(),
|
|
}
|
|
}
|
|
|
|
// Get returns a PromoCodeUsage entity by its id.
|
|
func (c *PromoCodeUsageClient) Get(ctx context.Context, id int64) (*PromoCodeUsage, error) {
|
|
return c.Query().Where(promocodeusage.ID(id)).Only(ctx)
|
|
}
|
|
|
|
// GetX is like Get, but panics if an error occurs.
|
|
func (c *PromoCodeUsageClient) GetX(ctx context.Context, id int64) *PromoCodeUsage {
|
|
obj, err := c.Get(ctx, id)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return obj
|
|
}
|
|
|
|
// QueryPromoCode queries the promo_code edge of a PromoCodeUsage.
|
|
func (c *PromoCodeUsageClient) QueryPromoCode(_m *PromoCodeUsage) *PromoCodeQuery {
|
|
query := (&PromoCodeClient{config: c.config}).Query()
|
|
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
|
id := _m.ID
|
|
step := sqlgraph.NewStep(
|
|
sqlgraph.From(promocodeusage.Table, promocodeusage.FieldID, id),
|
|
sqlgraph.To(promocode.Table, promocode.FieldID),
|
|
sqlgraph.Edge(sqlgraph.M2O, true, promocodeusage.PromoCodeTable, promocodeusage.PromoCodeColumn),
|
|
)
|
|
fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step)
|
|
return fromV, nil
|
|
}
|
|
return query
|
|
}
|
|
|
|
// QueryUser queries the user edge of a PromoCodeUsage.
|
|
func (c *PromoCodeUsageClient) QueryUser(_m *PromoCodeUsage) *UserQuery {
|
|
query := (&UserClient{config: c.config}).Query()
|
|
query.path = func(context.Context) (fromV *sql.Selector, _ error) {
|
|
id := _m.ID
|
|
step := sqlgraph.NewStep(
|
|
sqlgraph.From(promocodeusage.Table, promocodeusage.FieldID, id),
|
|
sqlgraph.To(user.Table, user.FieldID),
|
|
sqlgraph.Edge(sqlgraph.M2O, true, promocodeusage.UserTable, promocodeusage.UserColumn),
|
|
)
|
|
fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step)
|
|
return fromV, nil
|
|
}
|
|
return query
|
|
}
|
|
|
|
// Hooks returns the client hooks.
|
|
func (c *PromoCodeUsageClient) Hooks() []Hook {
|
|
return c.hooks.PromoCodeUsage
|
|
}
|
|
|
|
// Interceptors returns the client interceptors.
|
|
func (c *PromoCodeUsageClient) Interceptors() []Interceptor {
|
|
return c.inters.PromoCodeUsage
|
|
}
|
|
|
|
func (c *PromoCodeUsageClient) mutate(ctx context.Context, m *PromoCodeUsageMutation) (Value, error) {
|
|
switch m.Op() {
|
|
case OpCreate:
|
|
return (&PromoCodeUsageCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdate:
|
|
return (&PromoCodeUsageUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdateOne:
|
|
return (&PromoCodeUsageUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpDelete, OpDeleteOne:
|
|
return (&PromoCodeUsageDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx)
|
|
default:
|
|
return nil, fmt.Errorf("ent: unknown PromoCodeUsage 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())
|
|
}
|
|
}
|
|
|
|
// UsageCleanupTaskClient is a client for the UsageCleanupTask schema.
|
|
type UsageCleanupTaskClient struct {
|
|
config
|
|
}
|
|
|
|
// NewUsageCleanupTaskClient returns a client for the UsageCleanupTask from the given config.
|
|
func NewUsageCleanupTaskClient(c config) *UsageCleanupTaskClient {
|
|
return &UsageCleanupTaskClient{config: c}
|
|
}
|
|
|
|
// Use adds a list of mutation hooks to the hooks stack.
|
|
// A call to `Use(f, g, h)` equals to `usagecleanuptask.Hooks(f(g(h())))`.
|
|
func (c *UsageCleanupTaskClient) Use(hooks ...Hook) {
|
|
c.hooks.UsageCleanupTask = append(c.hooks.UsageCleanupTask, hooks...)
|
|
}
|
|
|
|
// Intercept adds a list of query interceptors to the interceptors stack.
|
|
// A call to `Intercept(f, g, h)` equals to `usagecleanuptask.Intercept(f(g(h())))`.
|
|
func (c *UsageCleanupTaskClient) Intercept(interceptors ...Interceptor) {
|
|
c.inters.UsageCleanupTask = append(c.inters.UsageCleanupTask, interceptors...)
|
|
}
|
|
|
|
// Create returns a builder for creating a UsageCleanupTask entity.
|
|
func (c *UsageCleanupTaskClient) Create() *UsageCleanupTaskCreate {
|
|
mutation := newUsageCleanupTaskMutation(c.config, OpCreate)
|
|
return &UsageCleanupTaskCreate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// CreateBulk returns a builder for creating a bulk of UsageCleanupTask entities.
|
|
func (c *UsageCleanupTaskClient) CreateBulk(builders ...*UsageCleanupTaskCreate) *UsageCleanupTaskCreateBulk {
|
|
return &UsageCleanupTaskCreateBulk{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 *UsageCleanupTaskClient) MapCreateBulk(slice any, setFunc func(*UsageCleanupTaskCreate, int)) *UsageCleanupTaskCreateBulk {
|
|
rv := reflect.ValueOf(slice)
|
|
if rv.Kind() != reflect.Slice {
|
|
return &UsageCleanupTaskCreateBulk{err: fmt.Errorf("calling to UsageCleanupTaskClient.MapCreateBulk with wrong type %T, need slice", slice)}
|
|
}
|
|
builders := make([]*UsageCleanupTaskCreate, rv.Len())
|
|
for i := 0; i < rv.Len(); i++ {
|
|
builders[i] = c.Create()
|
|
setFunc(builders[i], i)
|
|
}
|
|
return &UsageCleanupTaskCreateBulk{config: c.config, builders: builders}
|
|
}
|
|
|
|
// Update returns an update builder for UsageCleanupTask.
|
|
func (c *UsageCleanupTaskClient) Update() *UsageCleanupTaskUpdate {
|
|
mutation := newUsageCleanupTaskMutation(c.config, OpUpdate)
|
|
return &UsageCleanupTaskUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOne returns an update builder for the given entity.
|
|
func (c *UsageCleanupTaskClient) UpdateOne(_m *UsageCleanupTask) *UsageCleanupTaskUpdateOne {
|
|
mutation := newUsageCleanupTaskMutation(c.config, OpUpdateOne, withUsageCleanupTask(_m))
|
|
return &UsageCleanupTaskUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// UpdateOneID returns an update builder for the given id.
|
|
func (c *UsageCleanupTaskClient) UpdateOneID(id int64) *UsageCleanupTaskUpdateOne {
|
|
mutation := newUsageCleanupTaskMutation(c.config, OpUpdateOne, withUsageCleanupTaskID(id))
|
|
return &UsageCleanupTaskUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// Delete returns a delete builder for UsageCleanupTask.
|
|
func (c *UsageCleanupTaskClient) Delete() *UsageCleanupTaskDelete {
|
|
mutation := newUsageCleanupTaskMutation(c.config, OpDelete)
|
|
return &UsageCleanupTaskDelete{config: c.config, hooks: c.Hooks(), mutation: mutation}
|
|
}
|
|
|
|
// DeleteOne returns a builder for deleting the given entity.
|
|
func (c *UsageCleanupTaskClient) DeleteOne(_m *UsageCleanupTask) *UsageCleanupTaskDeleteOne {
|
|
return c.DeleteOneID(_m.ID)
|
|
}
|
|
|
|
// DeleteOneID returns a builder for deleting the given entity by its id.
|
|
func (c *UsageCleanupTaskClient) DeleteOneID(id int64) *UsageCleanupTaskDeleteOne {
|
|
builder := c.Delete().Where(usagecleanuptask.ID(id))
|
|
builder.mutation.id = &id
|
|
builder.mutation.op = OpDeleteOne
|
|
return &UsageCleanupTaskDeleteOne{builder}
|
|
}
|
|
|
|
// Query returns a query builder for UsageCleanupTask.
|
|
func (c *UsageCleanupTaskClient) Query() *UsageCleanupTaskQuery {
|
|
return &UsageCleanupTaskQuery{
|
|
config: c.config,
|
|
ctx: &QueryContext{Type: TypeUsageCleanupTask},
|
|
inters: c.Interceptors(),
|
|
}
|
|
}
|
|
|
|
// Get returns a UsageCleanupTask entity by its id.
|
|
func (c *UsageCleanupTaskClient) Get(ctx context.Context, id int64) (*UsageCleanupTask, error) {
|
|
return c.Query().Where(usagecleanuptask.ID(id)).Only(ctx)
|
|
}
|
|
|
|
// GetX is like Get, but panics if an error occurs.
|
|
func (c *UsageCleanupTaskClient) GetX(ctx context.Context, id int64) *UsageCleanupTask {
|
|
obj, err := c.Get(ctx, id)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return obj
|
|
}
|
|
|
|
// Hooks returns the client hooks.
|
|
func (c *UsageCleanupTaskClient) Hooks() []Hook {
|
|
return c.hooks.UsageCleanupTask
|
|
}
|
|
|
|
// Interceptors returns the client interceptors.
|
|
func (c *UsageCleanupTaskClient) Interceptors() []Interceptor {
|
|
return c.inters.UsageCleanupTask
|
|
}
|
|
|
|
func (c *UsageCleanupTaskClient) mutate(ctx context.Context, m *UsageCleanupTaskMutation) (Value, error) {
|
|
switch m.Op() {
|
|
case OpCreate:
|
|
return (&UsageCleanupTaskCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdate:
|
|
return (&UsageCleanupTaskUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpUpdateOne:
|
|
return (&UsageCleanupTaskUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx)
|
|
case OpDelete, OpDeleteOne:
|
|
return (&UsageCleanupTaskDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx)
|
|
default:
|
|
return nil, fmt.Errorf("ent: unknown UsageCleanupTask 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
|
|
}
|
|
|
|
// QueryAnnouncementReads queries the announcement_reads edge of a User.
|
|
func (c *UserClient) QueryAnnouncementReads(_m *User) *AnnouncementReadQuery {
|
|
query := (&AnnouncementReadClient{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(announcementread.Table, announcementread.FieldID),
|
|
sqlgraph.Edge(sqlgraph.O2M, false, user.AnnouncementReadsTable, user.AnnouncementReadsColumn),
|
|
)
|
|
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
|
|
}
|
|
|
|
// QueryPromoCodeUsages queries the promo_code_usages edge of a User.
|
|
func (c *UserClient) QueryPromoCodeUsages(_m *User) *PromoCodeUsageQuery {
|
|
query := (&PromoCodeUsageClient{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(promocodeusage.Table, promocodeusage.FieldID),
|
|
sqlgraph.Edge(sqlgraph.O2M, false, user.PromoCodeUsagesTable, user.PromoCodeUsagesColumn),
|
|
)
|
|
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 {
|
|
APIKey, Account, AccountGroup, Announcement, AnnouncementRead, Group, PromoCode,
|
|
PromoCodeUsage, Proxy, RedeemCode, Setting, UsageCleanupTask, UsageLog, User,
|
|
UserAllowedGroup, UserAttributeDefinition, UserAttributeValue,
|
|
UserSubscription []ent.Hook
|
|
}
|
|
inters struct {
|
|
APIKey, Account, AccountGroup, Announcement, AnnouncementRead, Group, PromoCode,
|
|
PromoCodeUsage, Proxy, RedeemCode, Setting, UsageCleanupTask, 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...)
|
|
}
|