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 ... )
}