2025-12-29 10:03:27 +08:00
// 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"
2026-01-30 16:45:04 +08:00
"github.com/Wei-Shaw/sub2api/ent/announcement"
"github.com/Wei-Shaw/sub2api/ent/announcementread"
2025-12-29 10:03:27 +08:00
"github.com/Wei-Shaw/sub2api/ent/apikey"
2026-02-05 21:52:54 +08:00
"github.com/Wei-Shaw/sub2api/ent/errorpassthroughrule"
2025-12-29 10:03:27 +08:00
"github.com/Wei-Shaw/sub2api/ent/group"
2026-01-10 13:14:35 +08:00
"github.com/Wei-Shaw/sub2api/ent/promocode"
"github.com/Wei-Shaw/sub2api/ent/promocodeusage"
2025-12-29 10:03:27 +08:00
"github.com/Wei-Shaw/sub2api/ent/proxy"
"github.com/Wei-Shaw/sub2api/ent/redeemcode"
"github.com/Wei-Shaw/sub2api/ent/setting"
2026-01-18 14:18:28 +08:00
"github.com/Wei-Shaw/sub2api/ent/usagecleanuptask"
2025-12-31 14:11:57 +08:00
"github.com/Wei-Shaw/sub2api/ent/usagelog"
2025-12-29 10:03:27 +08:00
"github.com/Wei-Shaw/sub2api/ent/user"
"github.com/Wei-Shaw/sub2api/ent/userallowedgroup"
2026-01-01 18:58:34 +08:00
"github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
"github.com/Wei-Shaw/sub2api/ent/userattributevalue"
2025-12-29 10:03:27 +08:00
"github.com/Wei-Shaw/sub2api/ent/usersubscription"
2025-12-29 19:24:29 +08:00
stdsql "database/sql"
2025-12-29 10:03:27 +08:00
)
// 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
2026-01-04 19:27:53 +08:00
// APIKey is the client for interacting with the APIKey builders.
APIKey * APIKeyClient
2025-12-29 10:03:27 +08:00
// Account is the client for interacting with the Account builders.
Account * AccountClient
// AccountGroup is the client for interacting with the AccountGroup builders.
AccountGroup * AccountGroupClient
2026-01-30 16:45:04 +08:00
// Announcement is the client for interacting with the Announcement builders.
Announcement * AnnouncementClient
// AnnouncementRead is the client for interacting with the AnnouncementRead builders.
AnnouncementRead * AnnouncementReadClient
2026-02-05 21:52:54 +08:00
// ErrorPassthroughRule is the client for interacting with the ErrorPassthroughRule builders.
ErrorPassthroughRule * ErrorPassthroughRuleClient
2025-12-29 10:03:27 +08:00
// Group is the client for interacting with the Group builders.
Group * GroupClient
2026-01-10 13:14:35 +08:00
// PromoCode is the client for interacting with the PromoCode builders.
PromoCode * PromoCodeClient
// PromoCodeUsage is the client for interacting with the PromoCodeUsage builders.
PromoCodeUsage * PromoCodeUsageClient
2025-12-29 10:03:27 +08:00
// 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
2026-01-18 14:18:28 +08:00
// UsageCleanupTask is the client for interacting with the UsageCleanupTask builders.
UsageCleanupTask * UsageCleanupTaskClient
2025-12-31 14:11:57 +08:00
// UsageLog is the client for interacting with the UsageLog builders.
UsageLog * UsageLogClient
2025-12-29 10:03:27 +08:00
// User is the client for interacting with the User builders.
User * UserClient
// UserAllowedGroup is the client for interacting with the UserAllowedGroup builders.
UserAllowedGroup * UserAllowedGroupClient
2026-01-01 18:58:34 +08:00
// UserAttributeDefinition is the client for interacting with the UserAttributeDefinition builders.
UserAttributeDefinition * UserAttributeDefinitionClient
// UserAttributeValue is the client for interacting with the UserAttributeValue builders.
UserAttributeValue * UserAttributeValueClient
2025-12-29 10:03:27 +08:00
// 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 )
2026-01-04 19:27:53 +08:00
c . APIKey = NewAPIKeyClient ( c . config )
2025-12-29 10:03:27 +08:00
c . Account = NewAccountClient ( c . config )
c . AccountGroup = NewAccountGroupClient ( c . config )
2026-01-30 16:45:04 +08:00
c . Announcement = NewAnnouncementClient ( c . config )
c . AnnouncementRead = NewAnnouncementReadClient ( c . config )
2026-02-05 21:52:54 +08:00
c . ErrorPassthroughRule = NewErrorPassthroughRuleClient ( c . config )
2025-12-29 10:03:27 +08:00
c . Group = NewGroupClient ( c . config )
2026-01-10 13:14:35 +08:00
c . PromoCode = NewPromoCodeClient ( c . config )
c . PromoCodeUsage = NewPromoCodeUsageClient ( c . config )
2025-12-29 10:03:27 +08:00
c . Proxy = NewProxyClient ( c . config )
c . RedeemCode = NewRedeemCodeClient ( c . config )
c . Setting = NewSettingClient ( c . config )
2026-01-18 14:18:28 +08:00
c . UsageCleanupTask = NewUsageCleanupTaskClient ( c . config )
2025-12-31 14:11:57 +08:00
c . UsageLog = NewUsageLogClient ( c . config )
2025-12-29 10:03:27 +08:00
c . User = NewUserClient ( c . config )
c . UserAllowedGroup = NewUserAllowedGroupClient ( c . config )
2026-01-01 18:58:34 +08:00
c . UserAttributeDefinition = NewUserAttributeDefinitionClient ( c . config )
c . UserAttributeValue = NewUserAttributeValueClient ( c . config )
2025-12-29 10:03:27 +08:00
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 {
2026-01-01 18:58:34 +08:00
ctx : ctx ,
config : cfg ,
2026-01-04 19:27:53 +08:00
APIKey : NewAPIKeyClient ( cfg ),
2026-01-01 18:58:34 +08:00
Account : NewAccountClient ( cfg ),
AccountGroup : NewAccountGroupClient ( cfg ),
2026-01-30 16:45:04 +08:00
Announcement : NewAnnouncementClient ( cfg ),
AnnouncementRead : NewAnnouncementReadClient ( cfg ),
2026-02-05 21:52:54 +08:00
ErrorPassthroughRule : NewErrorPassthroughRuleClient ( cfg ),
2026-01-01 18:58:34 +08:00
Group : NewGroupClient ( cfg ),
2026-01-10 13:14:35 +08:00
PromoCode : NewPromoCodeClient ( cfg ),
PromoCodeUsage : NewPromoCodeUsageClient ( cfg ),
2026-01-01 18:58:34 +08:00
Proxy : NewProxyClient ( cfg ),
RedeemCode : NewRedeemCodeClient ( cfg ),
Setting : NewSettingClient ( cfg ),
2026-01-18 14:18:28 +08:00
UsageCleanupTask : NewUsageCleanupTaskClient ( cfg ),
2026-01-01 18:58:34 +08:00
UsageLog : NewUsageLogClient ( cfg ),
User : NewUserClient ( cfg ),
UserAllowedGroup : NewUserAllowedGroupClient ( cfg ),
UserAttributeDefinition : NewUserAttributeDefinitionClient ( cfg ),
UserAttributeValue : NewUserAttributeValueClient ( cfg ),
UserSubscription : NewUserSubscriptionClient ( cfg ),
2025-12-29 10:03:27 +08:00
}, 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 {
2026-01-01 18:58:34 +08:00
ctx : ctx ,
config : cfg ,
2026-01-04 19:27:53 +08:00
APIKey : NewAPIKeyClient ( cfg ),
2026-01-01 18:58:34 +08:00
Account : NewAccountClient ( cfg ),
AccountGroup : NewAccountGroupClient ( cfg ),
2026-01-30 16:45:04 +08:00
Announcement : NewAnnouncementClient ( cfg ),
AnnouncementRead : NewAnnouncementReadClient ( cfg ),
2026-02-05 21:52:54 +08:00
ErrorPassthroughRule : NewErrorPassthroughRuleClient ( cfg ),
2026-01-01 18:58:34 +08:00
Group : NewGroupClient ( cfg ),
2026-01-10 13:14:35 +08:00
PromoCode : NewPromoCodeClient ( cfg ),
PromoCodeUsage : NewPromoCodeUsageClient ( cfg ),
2026-01-01 18:58:34 +08:00
Proxy : NewProxyClient ( cfg ),
RedeemCode : NewRedeemCodeClient ( cfg ),
Setting : NewSettingClient ( cfg ),
2026-01-18 14:18:28 +08:00
UsageCleanupTask : NewUsageCleanupTaskClient ( cfg ),
2026-01-01 18:58:34 +08:00
UsageLog : NewUsageLogClient ( cfg ),
User : NewUserClient ( cfg ),
UserAllowedGroup : NewUserAllowedGroupClient ( cfg ),
UserAttributeDefinition : NewUserAttributeDefinitionClient ( cfg ),
UserAttributeValue : NewUserAttributeValueClient ( cfg ),
UserSubscription : NewUserSubscriptionClient ( cfg ),
2025-12-29 10:03:27 +08:00
}, nil
}
// Debug returns a new debug-client. It's used to get verbose logging on specific operations.
//
// client.Debug().
2026-01-04 19:27:53 +08:00
// APIKey.
2025-12-29 10:03:27 +08:00
// 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 ) }{
2026-01-30 16:45:04 +08:00
c . APIKey , c . Account , c . AccountGroup , c . Announcement , c . AnnouncementRead ,
2026-02-05 21:52:54 +08:00
c . ErrorPassthroughRule , 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 ,
2025-12-29 10:03:27 +08:00
} {
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 ) }{
2026-01-30 16:45:04 +08:00
c . APIKey , c . Account , c . AccountGroup , c . Announcement , c . AnnouncementRead ,
2026-02-05 21:52:54 +08:00
c . ErrorPassthroughRule , 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 ,
2025-12-29 10:03:27 +08:00
} {
n . Intercept ( interceptors ... )
}
}
// Mutate implements the ent.Mutator interface.
func ( c * Client ) Mutate ( ctx context . Context , m Mutation ) ( Value , error ) {
switch m := m .( type ) {
2026-01-04 19:27:53 +08:00
case * APIKeyMutation :
return c . APIKey . mutate ( ctx , m )
2025-12-29 10:03:27 +08:00
case * AccountMutation :
return c . Account . mutate ( ctx , m )
case * AccountGroupMutation :
return c . AccountGroup . mutate ( ctx , m )
2026-01-30 16:45:04 +08:00
case * AnnouncementMutation :
return c . Announcement . mutate ( ctx , m )
case * AnnouncementReadMutation :
return c . AnnouncementRead . mutate ( ctx , m )
2026-02-05 21:52:54 +08:00
case * ErrorPassthroughRuleMutation :
return c . ErrorPassthroughRule . mutate ( ctx , m )
2025-12-29 10:03:27 +08:00
case * GroupMutation :
return c . Group . mutate ( ctx , m )
2026-01-10 13:14:35 +08:00
case * PromoCodeMutation :
return c . PromoCode . mutate ( ctx , m )
case * PromoCodeUsageMutation :
return c . PromoCodeUsage . mutate ( ctx , m )
2025-12-29 10:03:27 +08:00
case * ProxyMutation :
return c . Proxy . mutate ( ctx , m )
case * RedeemCodeMutation :
return c . RedeemCode . mutate ( ctx , m )
case * SettingMutation :
return c . Setting . mutate ( ctx , m )
2026-01-18 14:18:28 +08:00
case * UsageCleanupTaskMutation :
return c . UsageCleanupTask . mutate ( ctx , m )
2025-12-31 14:11:57 +08:00
case * UsageLogMutation :
return c . UsageLog . mutate ( ctx , m )
2025-12-29 10:03:27 +08:00
case * UserMutation :
return c . User . mutate ( ctx , m )
case * UserAllowedGroupMutation :
return c . UserAllowedGroup . mutate ( ctx , m )
2026-01-01 18:58:34 +08:00
case * UserAttributeDefinitionMutation :
return c . UserAttributeDefinition . mutate ( ctx , m )
case * UserAttributeValueMutation :
return c . UserAttributeValue . mutate ( ctx , m )
2025-12-29 10:03:27 +08:00
case * UserSubscriptionMutation :
return c . UserSubscription . mutate ( ctx , m )
default :
return nil , fmt . Errorf ( "ent: unknown mutation type %T" , m )
}
}
2026-01-04 19:27:53 +08:00
// 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 ())
}
}
2025-12-29 10:03:27 +08:00
// 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
}
2025-12-31 14:11:57 +08:00
// 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
}
2025-12-29 10:03:27 +08:00
// 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 ())
}
}
2026-01-30 16:45:04 +08:00
// 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 ())
}
}
2026-02-05 21:52:54 +08:00
// ErrorPassthroughRuleClient is a client for the ErrorPassthroughRule schema.
type ErrorPassthroughRuleClient struct {
config
}
// NewErrorPassthroughRuleClient returns a client for the ErrorPassthroughRule from the given config.
func NewErrorPassthroughRuleClient ( c config ) * ErrorPassthroughRuleClient {
return & ErrorPassthroughRuleClient { config : c }
}
// Use adds a list of mutation hooks to the hooks stack.
// A call to `Use(f, g, h)` equals to `errorpassthroughrule.Hooks(f(g(h())))`.
func ( c * ErrorPassthroughRuleClient ) Use ( hooks ... Hook ) {
c . hooks . ErrorPassthroughRule = append ( c . hooks . ErrorPassthroughRule , hooks ... )
}
// Intercept adds a list of query interceptors to the interceptors stack.
// A call to `Intercept(f, g, h)` equals to `errorpassthroughrule.Intercept(f(g(h())))`.
func ( c * ErrorPassthroughRuleClient ) Intercept ( interceptors ... Interceptor ) {
c . inters . ErrorPassthroughRule = append ( c . inters . ErrorPassthroughRule , interceptors ... )
}
// Create returns a builder for creating a ErrorPassthroughRule entity.
func ( c * ErrorPassthroughRuleClient ) Create () * ErrorPassthroughRuleCreate {
mutation := newErrorPassthroughRuleMutation ( c . config , OpCreate )
return & ErrorPassthroughRuleCreate { config : c . config , hooks : c . Hooks (), mutation : mutation }
}
// CreateBulk returns a builder for creating a bulk of ErrorPassthroughRule entities.
func ( c * ErrorPassthroughRuleClient ) CreateBulk ( builders ...* ErrorPassthroughRuleCreate ) * ErrorPassthroughRuleCreateBulk {
return & ErrorPassthroughRuleCreateBulk { 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 * ErrorPassthroughRuleClient ) MapCreateBulk ( slice any , setFunc func ( * ErrorPassthroughRuleCreate , int )) * ErrorPassthroughRuleCreateBulk {
rv := reflect . ValueOf ( slice )
if rv . Kind () != reflect . Slice {
return & ErrorPassthroughRuleCreateBulk { err : fmt . Errorf ( "calling to ErrorPassthroughRuleClient.MapCreateBulk with wrong type %T, need slice" , slice )}
}
builders := make ([] * ErrorPassthroughRuleCreate , rv . Len ())
for i := 0 ; i < rv . Len (); i ++ {
builders [ i ] = c . Create ()
setFunc ( builders [ i ], i )
}
return & ErrorPassthroughRuleCreateBulk { config : c . config , builders : builders }
}
// Update returns an update builder for ErrorPassthroughRule.
func ( c * ErrorPassthroughRuleClient ) Update () * ErrorPassthroughRuleUpdate {
mutation := newErrorPassthroughRuleMutation ( c . config , OpUpdate )
return & ErrorPassthroughRuleUpdate { config : c . config , hooks : c . Hooks (), mutation : mutation }
}
// UpdateOne returns an update builder for the given entity.
func ( c * ErrorPassthroughRuleClient ) UpdateOne ( _m * ErrorPassthroughRule ) * ErrorPassthroughRuleUpdateOne {
mutation := newErrorPassthroughRuleMutation ( c . config , OpUpdateOne , withErrorPassthroughRule ( _m ))
return & ErrorPassthroughRuleUpdateOne { config : c . config , hooks : c . Hooks (), mutation : mutation }
}
// UpdateOneID returns an update builder for the given id.
func ( c * ErrorPassthroughRuleClient ) UpdateOneID ( id int64 ) * ErrorPassthroughRuleUpdateOne {
mutation := newErrorPassthroughRuleMutation ( c . config , OpUpdateOne , withErrorPassthroughRuleID ( id ))
return & ErrorPassthroughRuleUpdateOne { config : c . config , hooks : c . Hooks (), mutation : mutation }
}
// Delete returns a delete builder for ErrorPassthroughRule.
func ( c * ErrorPassthroughRuleClient ) Delete () * ErrorPassthroughRuleDelete {
mutation := newErrorPassthroughRuleMutation ( c . config , OpDelete )
return & ErrorPassthroughRuleDelete { config : c . config , hooks : c . Hooks (), mutation : mutation }
}
// DeleteOne returns a builder for deleting the given entity.
func ( c * ErrorPassthroughRuleClient ) DeleteOne ( _m * ErrorPassthroughRule ) * ErrorPassthroughRuleDeleteOne {
return c . DeleteOneID ( _m . ID )
}
// DeleteOneID returns a builder for deleting the given entity by its id.
func ( c * ErrorPassthroughRuleClient ) DeleteOneID ( id int64 ) * ErrorPassthroughRuleDeleteOne {
builder := c . Delete (). Where ( errorpassthroughrule . ID ( id ))
builder . mutation . id = & id
builder . mutation . op = OpDeleteOne
return & ErrorPassthroughRuleDeleteOne { builder }
}
// Query returns a query builder for ErrorPassthroughRule.
func ( c * ErrorPassthroughRuleClient ) Query () * ErrorPassthroughRuleQuery {
return & ErrorPassthroughRuleQuery {
config : c . config ,
ctx : & QueryContext { Type : TypeErrorPassthroughRule },
inters : c . Interceptors (),
}
}
// Get returns a ErrorPassthroughRule entity by its id.
func ( c * ErrorPassthroughRuleClient ) Get ( ctx context . Context , id int64 ) ( * ErrorPassthroughRule , error ) {
return c . Query (). Where ( errorpassthroughrule . ID ( id )). Only ( ctx )
}
// GetX is like Get, but panics if an error occurs.
func ( c * ErrorPassthroughRuleClient ) GetX ( ctx context . Context , id int64 ) * ErrorPassthroughRule {
obj , err := c . Get ( ctx , id )
if err != nil {
panic ( err )
}
return obj
}
// Hooks returns the client hooks.
func ( c * ErrorPassthroughRuleClient ) Hooks () [] Hook {
return c . hooks . ErrorPassthroughRule
}
// Interceptors returns the client interceptors.
func ( c * ErrorPassthroughRuleClient ) Interceptors () [] Interceptor {
return c . inters . ErrorPassthroughRule
}
func ( c * ErrorPassthroughRuleClient ) mutate ( ctx context . Context , m * ErrorPassthroughRuleMutation ) ( Value , error ) {
switch m . Op () {
case OpCreate :
return ( & ErrorPassthroughRuleCreate { config : c . config , hooks : c . Hooks (), mutation : m }). Save ( ctx )
case OpUpdate :
return ( & ErrorPassthroughRuleUpdate { config : c . config , hooks : c . Hooks (), mutation : m }). Save ( ctx )
case OpUpdateOne :
return ( & ErrorPassthroughRuleUpdateOne { config : c . config , hooks : c . Hooks (), mutation : m }). Save ( ctx )
case OpDelete , OpDeleteOne :
return ( & ErrorPassthroughRuleDelete { config : c . config , hooks : c . Hooks (), mutation : m }). Exec ( ctx )
default :
return nil , fmt . Errorf ( "ent: unknown ErrorPassthroughRule mutation op: %q" , m . Op ())
}
}
2025-12-29 10:03:27 +08:00
// 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.
2026-01-04 19:27:53 +08:00
func ( c * GroupClient ) QueryAPIKeys ( _m * Group ) * APIKeyQuery {
query := ( & APIKeyClient { config : c . config }). Query ()
2025-12-29 10:03:27 +08:00
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
}
2025-12-31 14:11:57 +08:00
// 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
}
2025-12-29 10:03:27 +08:00
// 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 ())
}
}
2026-01-10 13:14:35 +08:00
// 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 ())
}
}
2025-12-29 10:03:27 +08:00
// 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
}
2025-12-31 14:11:57 +08:00
// 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
}
2025-12-29 10:03:27 +08:00
// 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 ())
}
}
2026-01-18 14:18:28 +08:00
// 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 ())
}
}
2025-12-31 14:11:57 +08:00
// 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.
2026-01-04 19:27:53 +08:00
func ( c * UsageLogClient ) QueryAPIKey ( _m * UsageLog ) * APIKeyQuery {
query := ( & APIKeyClient { config : c . config }). Query ()
2025-12-31 14:11:57 +08:00
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 ())
}
}
2025-12-29 10:03:27 +08:00
// 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.
2026-01-04 19:27:53 +08:00
func ( c * UserClient ) QueryAPIKeys ( _m * User ) * APIKeyQuery {
query := ( & APIKeyClient { config : c . config }). Query ()
2025-12-29 10:03:27 +08:00
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
}
2026-01-30 16:45:04 +08:00
// 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
}
2025-12-29 10:03:27 +08:00
// 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
}
2025-12-31 14:11:57 +08:00
// 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
}
2026-01-01 18:58:34 +08:00
// 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
}
2026-01-10 13:14:35 +08:00
// 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
}
2025-12-29 10:03:27 +08:00
// 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 ())
}
}
2026-01-01 18:58:34 +08:00
// 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 ())
}
}
2025-12-29 10:03:27 +08:00
// 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
}
2025-12-31 14:11:57 +08:00
// 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
}
2025-12-29 10:03:27 +08:00
// Hooks returns the client hooks.
func ( c * UserSubscriptionClient ) Hooks () [] Hook {
2025-12-31 14:11:57 +08:00
hooks := c . hooks . UserSubscription
return append ( hooks [: len ( hooks ): len ( hooks )], usersubscription . Hooks [:] ... )
2025-12-29 10:03:27 +08:00
}
// Interceptors returns the client interceptors.
func ( c * UserSubscriptionClient ) Interceptors () [] Interceptor {
2025-12-31 14:11:57 +08:00
inters := c . inters . UserSubscription
return append ( inters [: len ( inters ): len ( inters )], usersubscription . Interceptors [:] ... )
2025-12-29 10:03:27 +08:00
}
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 {
2026-02-05 21:52:54 +08:00
APIKey , Account , AccountGroup , Announcement , AnnouncementRead ,
ErrorPassthroughRule , Group , PromoCode , PromoCodeUsage , Proxy , RedeemCode ,
Setting , UsageCleanupTask , UsageLog , User , UserAllowedGroup ,
UserAttributeDefinition , UserAttributeValue , UserSubscription [] ent . Hook
2025-12-29 10:03:27 +08:00
}
inters struct {
2026-02-05 21:52:54 +08:00
APIKey , Account , AccountGroup , Announcement , AnnouncementRead ,
ErrorPassthroughRule , Group , PromoCode , PromoCodeUsage , Proxy , RedeemCode ,
Setting , UsageCleanupTask , UsageLog , User , UserAllowedGroup ,
UserAttributeDefinition , UserAttributeValue , UserSubscription [] ent . Interceptor
2025-12-29 10:03:27 +08:00
}
)
2025-12-29 19:24:29 +08:00
// 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 ... )
}