// Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. package queries import ( "context" "database/sql" "gorm.io/gorm" "gorm.io/gen" "gorm.io/plugin/dbresolver" ) var ( Q = new(Query) Admin *admin AdminRole *adminRole AdminRoleLink *adminRoleLink AdminRolePermissionLink *adminRolePermissionLink Announcement *announcement Bill *bill Channel *channel Client *client ClientPermissionLink *clientPermissionLink Coupon *coupon Edge *edge LogsRequest *logsRequest Permission *permission Product *product Proxy *proxy Refund *refund Resource *resource ResourceLong *resourceLong ResourceShort *resourceShort Session *session Trade *trade User *user UserRole *userRole UserRoleLink *userRoleLink UserRolePermissionLink *userRolePermissionLink Whitelist *whitelist ) func SetDefault(db *gorm.DB, opts ...gen.DOOption) { *Q = *Use(db, opts...) Admin = &Q.Admin AdminRole = &Q.AdminRole AdminRoleLink = &Q.AdminRoleLink AdminRolePermissionLink = &Q.AdminRolePermissionLink Announcement = &Q.Announcement Bill = &Q.Bill Channel = &Q.Channel Client = &Q.Client ClientPermissionLink = &Q.ClientPermissionLink Coupon = &Q.Coupon Edge = &Q.Edge LogsRequest = &Q.LogsRequest Permission = &Q.Permission Product = &Q.Product Proxy = &Q.Proxy Refund = &Q.Refund Resource = &Q.Resource ResourceLong = &Q.ResourceLong ResourceShort = &Q.ResourceShort Session = &Q.Session Trade = &Q.Trade User = &Q.User UserRole = &Q.UserRole UserRoleLink = &Q.UserRoleLink UserRolePermissionLink = &Q.UserRolePermissionLink Whitelist = &Q.Whitelist } func Use(db *gorm.DB, opts ...gen.DOOption) *Query { return &Query{ db: db, Admin: newAdmin(db, opts...), AdminRole: newAdminRole(db, opts...), AdminRoleLink: newAdminRoleLink(db, opts...), AdminRolePermissionLink: newAdminRolePermissionLink(db, opts...), Announcement: newAnnouncement(db, opts...), Bill: newBill(db, opts...), Channel: newChannel(db, opts...), Client: newClient(db, opts...), ClientPermissionLink: newClientPermissionLink(db, opts...), Coupon: newCoupon(db, opts...), Edge: newEdge(db, opts...), LogsRequest: newLogsRequest(db, opts...), Permission: newPermission(db, opts...), Product: newProduct(db, opts...), Proxy: newProxy(db, opts...), Refund: newRefund(db, opts...), Resource: newResource(db, opts...), ResourceLong: newResourceLong(db, opts...), ResourceShort: newResourceShort(db, opts...), Session: newSession(db, opts...), Trade: newTrade(db, opts...), User: newUser(db, opts...), UserRole: newUserRole(db, opts...), UserRoleLink: newUserRoleLink(db, opts...), UserRolePermissionLink: newUserRolePermissionLink(db, opts...), Whitelist: newWhitelist(db, opts...), } } type Query struct { db *gorm.DB Admin admin AdminRole adminRole AdminRoleLink adminRoleLink AdminRolePermissionLink adminRolePermissionLink Announcement announcement Bill bill Channel channel Client client ClientPermissionLink clientPermissionLink Coupon coupon Edge edge LogsRequest logsRequest Permission permission Product product Proxy proxy Refund refund Resource resource ResourceLong resourceLong ResourceShort resourceShort Session session Trade trade User user UserRole userRole UserRoleLink userRoleLink UserRolePermissionLink userRolePermissionLink Whitelist whitelist } func (q *Query) Available() bool { return q.db != nil } func (q *Query) clone(db *gorm.DB) *Query { return &Query{ db: db, Admin: q.Admin.clone(db), AdminRole: q.AdminRole.clone(db), AdminRoleLink: q.AdminRoleLink.clone(db), AdminRolePermissionLink: q.AdminRolePermissionLink.clone(db), Announcement: q.Announcement.clone(db), Bill: q.Bill.clone(db), Channel: q.Channel.clone(db), Client: q.Client.clone(db), ClientPermissionLink: q.ClientPermissionLink.clone(db), Coupon: q.Coupon.clone(db), Edge: q.Edge.clone(db), LogsRequest: q.LogsRequest.clone(db), Permission: q.Permission.clone(db), Product: q.Product.clone(db), Proxy: q.Proxy.clone(db), Refund: q.Refund.clone(db), Resource: q.Resource.clone(db), ResourceLong: q.ResourceLong.clone(db), ResourceShort: q.ResourceShort.clone(db), Session: q.Session.clone(db), Trade: q.Trade.clone(db), User: q.User.clone(db), UserRole: q.UserRole.clone(db), UserRoleLink: q.UserRoleLink.clone(db), UserRolePermissionLink: q.UserRolePermissionLink.clone(db), Whitelist: q.Whitelist.clone(db), } } func (q *Query) ReadDB() *Query { return q.ReplaceDB(q.db.Clauses(dbresolver.Read)) } func (q *Query) WriteDB() *Query { return q.ReplaceDB(q.db.Clauses(dbresolver.Write)) } func (q *Query) ReplaceDB(db *gorm.DB) *Query { return &Query{ db: db, Admin: q.Admin.replaceDB(db), AdminRole: q.AdminRole.replaceDB(db), AdminRoleLink: q.AdminRoleLink.replaceDB(db), AdminRolePermissionLink: q.AdminRolePermissionLink.replaceDB(db), Announcement: q.Announcement.replaceDB(db), Bill: q.Bill.replaceDB(db), Channel: q.Channel.replaceDB(db), Client: q.Client.replaceDB(db), ClientPermissionLink: q.ClientPermissionLink.replaceDB(db), Coupon: q.Coupon.replaceDB(db), Edge: q.Edge.replaceDB(db), LogsRequest: q.LogsRequest.replaceDB(db), Permission: q.Permission.replaceDB(db), Product: q.Product.replaceDB(db), Proxy: q.Proxy.replaceDB(db), Refund: q.Refund.replaceDB(db), Resource: q.Resource.replaceDB(db), ResourceLong: q.ResourceLong.replaceDB(db), ResourceShort: q.ResourceShort.replaceDB(db), Session: q.Session.replaceDB(db), Trade: q.Trade.replaceDB(db), User: q.User.replaceDB(db), UserRole: q.UserRole.replaceDB(db), UserRoleLink: q.UserRoleLink.replaceDB(db), UserRolePermissionLink: q.UserRolePermissionLink.replaceDB(db), Whitelist: q.Whitelist.replaceDB(db), } } type queryCtx struct { Admin *adminDo AdminRole *adminRoleDo AdminRoleLink *adminRoleLinkDo AdminRolePermissionLink *adminRolePermissionLinkDo Announcement *announcementDo Bill *billDo Channel *channelDo Client *clientDo ClientPermissionLink *clientPermissionLinkDo Coupon *couponDo Edge *edgeDo LogsRequest *logsRequestDo Permission *permissionDo Product *productDo Proxy *proxyDo Refund *refundDo Resource *resourceDo ResourceLong *resourceLongDo ResourceShort *resourceShortDo Session *sessionDo Trade *tradeDo User *userDo UserRole *userRoleDo UserRoleLink *userRoleLinkDo UserRolePermissionLink *userRolePermissionLinkDo Whitelist *whitelistDo } func (q *Query) WithContext(ctx context.Context) *queryCtx { return &queryCtx{ Admin: q.Admin.WithContext(ctx), AdminRole: q.AdminRole.WithContext(ctx), AdminRoleLink: q.AdminRoleLink.WithContext(ctx), AdminRolePermissionLink: q.AdminRolePermissionLink.WithContext(ctx), Announcement: q.Announcement.WithContext(ctx), Bill: q.Bill.WithContext(ctx), Channel: q.Channel.WithContext(ctx), Client: q.Client.WithContext(ctx), ClientPermissionLink: q.ClientPermissionLink.WithContext(ctx), Coupon: q.Coupon.WithContext(ctx), Edge: q.Edge.WithContext(ctx), LogsRequest: q.LogsRequest.WithContext(ctx), Permission: q.Permission.WithContext(ctx), Product: q.Product.WithContext(ctx), Proxy: q.Proxy.WithContext(ctx), Refund: q.Refund.WithContext(ctx), Resource: q.Resource.WithContext(ctx), ResourceLong: q.ResourceLong.WithContext(ctx), ResourceShort: q.ResourceShort.WithContext(ctx), Session: q.Session.WithContext(ctx), Trade: q.Trade.WithContext(ctx), User: q.User.WithContext(ctx), UserRole: q.UserRole.WithContext(ctx), UserRoleLink: q.UserRoleLink.WithContext(ctx), UserRolePermissionLink: q.UserRolePermissionLink.WithContext(ctx), Whitelist: q.Whitelist.WithContext(ctx), } } func (q *Query) Transaction(fc func(tx *Query) error, opts ...*sql.TxOptions) error { return q.db.Transaction(func(tx *gorm.DB) error { return fc(q.clone(tx)) }, opts...) } func (q *Query) Begin(opts ...*sql.TxOptions) *QueryTx { tx := q.db.Begin(opts...) return &QueryTx{Query: q.clone(tx), Error: tx.Error} } type QueryTx struct { *Query Error error } func (q *QueryTx) Commit() error { return q.db.Commit().Error } func (q *QueryTx) Rollback() error { return q.db.Rollback().Error } func (q *QueryTx) SavePoint(name string) error { return q.db.SavePoint(name).Error } func (q *QueryTx) RollbackTo(name string) error { return q.db.RollbackTo(name).Error }