web 服务框架

This commit is contained in:
2025-03-18 10:13:57 +08:00
parent 27e0ed2994
commit 19530d9d40
52 changed files with 8295 additions and 37 deletions

255
web/queries/gen.go Normal file
View File

@@ -0,0 +1,255 @@
// 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
Bill *bill
Channel *channel
Node *node
Permission *permission
Product *product
Refund *refund
Resource *resource
ResourcePps *resourcePps
ResourcePsr *resourcePsr
ResourcePss *resourcePss
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
Bill = &Q.Bill
Channel = &Q.Channel
Node = &Q.Node
Permission = &Q.Permission
Product = &Q.Product
Refund = &Q.Refund
Resource = &Q.Resource
ResourcePps = &Q.ResourcePps
ResourcePsr = &Q.ResourcePsr
ResourcePss = &Q.ResourcePss
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...),
Bill: newBill(db, opts...),
Channel: newChannel(db, opts...),
Node: newNode(db, opts...),
Permission: newPermission(db, opts...),
Product: newProduct(db, opts...),
Refund: newRefund(db, opts...),
Resource: newResource(db, opts...),
ResourcePps: newResourcePps(db, opts...),
ResourcePsr: newResourcePsr(db, opts...),
ResourcePss: newResourcePss(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
Bill bill
Channel channel
Node node
Permission permission
Product product
Refund refund
Resource resource
ResourcePps resourcePps
ResourcePsr resourcePsr
ResourcePss resourcePss
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),
Bill: q.Bill.clone(db),
Channel: q.Channel.clone(db),
Node: q.Node.clone(db),
Permission: q.Permission.clone(db),
Product: q.Product.clone(db),
Refund: q.Refund.clone(db),
Resource: q.Resource.clone(db),
ResourcePps: q.ResourcePps.clone(db),
ResourcePsr: q.ResourcePsr.clone(db),
ResourcePss: q.ResourcePss.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),
Bill: q.Bill.replaceDB(db),
Channel: q.Channel.replaceDB(db),
Node: q.Node.replaceDB(db),
Permission: q.Permission.replaceDB(db),
Product: q.Product.replaceDB(db),
Refund: q.Refund.replaceDB(db),
Resource: q.Resource.replaceDB(db),
ResourcePps: q.ResourcePps.replaceDB(db),
ResourcePsr: q.ResourcePsr.replaceDB(db),
ResourcePss: q.ResourcePss.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
Bill *billDo
Channel *channelDo
Node *nodeDo
Permission *permissionDo
Product *productDo
Refund *refundDo
Resource *resourceDo
ResourcePps *resourcePpsDo
ResourcePsr *resourcePsrDo
ResourcePss *resourcePssDo
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),
Bill: q.Bill.WithContext(ctx),
Channel: q.Channel.WithContext(ctx),
Node: q.Node.WithContext(ctx),
Permission: q.Permission.WithContext(ctx),
Product: q.Product.WithContext(ctx),
Refund: q.Refund.WithContext(ctx),
Resource: q.Resource.WithContext(ctx),
ResourcePps: q.ResourcePps.WithContext(ctx),
ResourcePsr: q.ResourcePsr.WithContext(ctx),
ResourcePss: q.ResourcePss.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
}