refactor: project directory structure

This commit is contained in:
0xJacky 2023-11-26 18:59:12 +08:00
parent c1193a5b8c
commit e5a5889931
No known key found for this signature in database
GPG key ID: B6E4A6E4A561BAF0
367 changed files with 710 additions and 756 deletions

353
query/auth_tokens.gen.go Normal file
View file

@ -0,0 +1,353 @@
// 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 query
import (
"context"
"github.com/0xJacky/Nginx-UI/model"
"strings"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newAuthToken(db *gorm.DB, opts ...gen.DOOption) authToken {
_authToken := authToken{}
_authToken.authTokenDo.UseDB(db, opts...)
_authToken.authTokenDo.UseModel(&model.AuthToken{})
tableName := _authToken.authTokenDo.TableName()
_authToken.ALL = field.NewAsterisk(tableName)
_authToken.Token = field.NewString(tableName, "token")
_authToken.fillFieldMap()
return _authToken
}
type authToken struct {
authTokenDo
ALL field.Asterisk
Token field.String
fieldMap map[string]field.Expr
}
func (a authToken) Table(newTableName string) *authToken {
a.authTokenDo.UseTable(newTableName)
return a.updateTableName(newTableName)
}
func (a authToken) As(alias string) *authToken {
a.authTokenDo.DO = *(a.authTokenDo.As(alias).(*gen.DO))
return a.updateTableName(alias)
}
func (a *authToken) updateTableName(table string) *authToken {
a.ALL = field.NewAsterisk(table)
a.Token = field.NewString(table, "token")
a.fillFieldMap()
return a
}
func (a *authToken) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := a.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (a *authToken) fillFieldMap() {
a.fieldMap = make(map[string]field.Expr, 1)
a.fieldMap["token"] = a.Token
}
func (a authToken) clone(db *gorm.DB) authToken {
a.authTokenDo.ReplaceConnPool(db.Statement.ConnPool)
return a
}
func (a authToken) replaceDB(db *gorm.DB) authToken {
a.authTokenDo.ReplaceDB(db)
return a
}
type authTokenDo struct{ gen.DO }
// FirstByID Where("id=@id")
func (a authTokenDo) FirstByID(id int) (result *model.AuthToken, err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("id=? ")
var executeSQL *gorm.DB
executeSQL = a.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
err = executeSQL.Error
return
}
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
func (a authTokenDo) DeleteByID(id int) (err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("update auth_tokens set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
var executeSQL *gorm.DB
executeSQL = a.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
err = executeSQL.Error
return
}
func (a authTokenDo) Debug() *authTokenDo {
return a.withDO(a.DO.Debug())
}
func (a authTokenDo) WithContext(ctx context.Context) *authTokenDo {
return a.withDO(a.DO.WithContext(ctx))
}
func (a authTokenDo) ReadDB() *authTokenDo {
return a.Clauses(dbresolver.Read)
}
func (a authTokenDo) WriteDB() *authTokenDo {
return a.Clauses(dbresolver.Write)
}
func (a authTokenDo) Session(config *gorm.Session) *authTokenDo {
return a.withDO(a.DO.Session(config))
}
func (a authTokenDo) Clauses(conds ...clause.Expression) *authTokenDo {
return a.withDO(a.DO.Clauses(conds...))
}
func (a authTokenDo) Returning(value interface{}, columns ...string) *authTokenDo {
return a.withDO(a.DO.Returning(value, columns...))
}
func (a authTokenDo) Not(conds ...gen.Condition) *authTokenDo {
return a.withDO(a.DO.Not(conds...))
}
func (a authTokenDo) Or(conds ...gen.Condition) *authTokenDo {
return a.withDO(a.DO.Or(conds...))
}
func (a authTokenDo) Select(conds ...field.Expr) *authTokenDo {
return a.withDO(a.DO.Select(conds...))
}
func (a authTokenDo) Where(conds ...gen.Condition) *authTokenDo {
return a.withDO(a.DO.Where(conds...))
}
func (a authTokenDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *authTokenDo {
return a.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
}
func (a authTokenDo) Order(conds ...field.Expr) *authTokenDo {
return a.withDO(a.DO.Order(conds...))
}
func (a authTokenDo) Distinct(cols ...field.Expr) *authTokenDo {
return a.withDO(a.DO.Distinct(cols...))
}
func (a authTokenDo) Omit(cols ...field.Expr) *authTokenDo {
return a.withDO(a.DO.Omit(cols...))
}
func (a authTokenDo) Join(table schema.Tabler, on ...field.Expr) *authTokenDo {
return a.withDO(a.DO.Join(table, on...))
}
func (a authTokenDo) LeftJoin(table schema.Tabler, on ...field.Expr) *authTokenDo {
return a.withDO(a.DO.LeftJoin(table, on...))
}
func (a authTokenDo) RightJoin(table schema.Tabler, on ...field.Expr) *authTokenDo {
return a.withDO(a.DO.RightJoin(table, on...))
}
func (a authTokenDo) Group(cols ...field.Expr) *authTokenDo {
return a.withDO(a.DO.Group(cols...))
}
func (a authTokenDo) Having(conds ...gen.Condition) *authTokenDo {
return a.withDO(a.DO.Having(conds...))
}
func (a authTokenDo) Limit(limit int) *authTokenDo {
return a.withDO(a.DO.Limit(limit))
}
func (a authTokenDo) Offset(offset int) *authTokenDo {
return a.withDO(a.DO.Offset(offset))
}
func (a authTokenDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *authTokenDo {
return a.withDO(a.DO.Scopes(funcs...))
}
func (a authTokenDo) Unscoped() *authTokenDo {
return a.withDO(a.DO.Unscoped())
}
func (a authTokenDo) Create(values ...*model.AuthToken) error {
if len(values) == 0 {
return nil
}
return a.DO.Create(values)
}
func (a authTokenDo) CreateInBatches(values []*model.AuthToken, batchSize int) error {
return a.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (a authTokenDo) Save(values ...*model.AuthToken) error {
if len(values) == 0 {
return nil
}
return a.DO.Save(values)
}
func (a authTokenDo) First() (*model.AuthToken, error) {
if result, err := a.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.AuthToken), nil
}
}
func (a authTokenDo) Take() (*model.AuthToken, error) {
if result, err := a.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.AuthToken), nil
}
}
func (a authTokenDo) Last() (*model.AuthToken, error) {
if result, err := a.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.AuthToken), nil
}
}
func (a authTokenDo) Find() ([]*model.AuthToken, error) {
result, err := a.DO.Find()
return result.([]*model.AuthToken), err
}
func (a authTokenDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.AuthToken, err error) {
buf := make([]*model.AuthToken, 0, batchSize)
err = a.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (a authTokenDo) FindInBatches(result *[]*model.AuthToken, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return a.DO.FindInBatches(result, batchSize, fc)
}
func (a authTokenDo) Attrs(attrs ...field.AssignExpr) *authTokenDo {
return a.withDO(a.DO.Attrs(attrs...))
}
func (a authTokenDo) Assign(attrs ...field.AssignExpr) *authTokenDo {
return a.withDO(a.DO.Assign(attrs...))
}
func (a authTokenDo) Joins(fields ...field.RelationField) *authTokenDo {
for _, _f := range fields {
a = *a.withDO(a.DO.Joins(_f))
}
return &a
}
func (a authTokenDo) Preload(fields ...field.RelationField) *authTokenDo {
for _, _f := range fields {
a = *a.withDO(a.DO.Preload(_f))
}
return &a
}
func (a authTokenDo) FirstOrInit() (*model.AuthToken, error) {
if result, err := a.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.AuthToken), nil
}
}
func (a authTokenDo) FirstOrCreate() (*model.AuthToken, error) {
if result, err := a.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.AuthToken), nil
}
}
func (a authTokenDo) FindByPage(offset int, limit int) (result []*model.AuthToken, count int64, err error) {
result, err = a.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = a.Offset(-1).Limit(-1).Count()
return
}
func (a authTokenDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = a.Count()
if err != nil {
return
}
err = a.Offset(offset).Limit(limit).Scan(result)
return
}
func (a authTokenDo) Scan(result interface{}) (err error) {
return a.DO.Scan(result)
}
func (a authTokenDo) Delete(models ...*model.AuthToken) (result gen.ResultInfo, err error) {
return a.DO.Delete(models)
}
func (a *authTokenDo) withDO(do gen.Dao) *authTokenDo {
a.DO = *do.(*gen.DO)
return a
}

373
query/auths.gen.go Normal file
View file

@ -0,0 +1,373 @@
// 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 query
import (
"context"
"github.com/0xJacky/Nginx-UI/model"
"strings"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newAuth(db *gorm.DB, opts ...gen.DOOption) auth {
_auth := auth{}
_auth.authDo.UseDB(db, opts...)
_auth.authDo.UseModel(&model.Auth{})
tableName := _auth.authDo.TableName()
_auth.ALL = field.NewAsterisk(tableName)
_auth.ID = field.NewInt(tableName, "id")
_auth.CreatedAt = field.NewTime(tableName, "created_at")
_auth.UpdatedAt = field.NewTime(tableName, "updated_at")
_auth.DeletedAt = field.NewField(tableName, "deleted_at")
_auth.Name = field.NewString(tableName, "name")
_auth.Password = field.NewString(tableName, "password")
_auth.fillFieldMap()
return _auth
}
type auth struct {
authDo
ALL field.Asterisk
ID field.Int
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Name field.String
Password field.String
fieldMap map[string]field.Expr
}
func (a auth) Table(newTableName string) *auth {
a.authDo.UseTable(newTableName)
return a.updateTableName(newTableName)
}
func (a auth) As(alias string) *auth {
a.authDo.DO = *(a.authDo.As(alias).(*gen.DO))
return a.updateTableName(alias)
}
func (a *auth) updateTableName(table string) *auth {
a.ALL = field.NewAsterisk(table)
a.ID = field.NewInt(table, "id")
a.CreatedAt = field.NewTime(table, "created_at")
a.UpdatedAt = field.NewTime(table, "updated_at")
a.DeletedAt = field.NewField(table, "deleted_at")
a.Name = field.NewString(table, "name")
a.Password = field.NewString(table, "password")
a.fillFieldMap()
return a
}
func (a *auth) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := a.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (a *auth) fillFieldMap() {
a.fieldMap = make(map[string]field.Expr, 6)
a.fieldMap["id"] = a.ID
a.fieldMap["created_at"] = a.CreatedAt
a.fieldMap["updated_at"] = a.UpdatedAt
a.fieldMap["deleted_at"] = a.DeletedAt
a.fieldMap["name"] = a.Name
a.fieldMap["password"] = a.Password
}
func (a auth) clone(db *gorm.DB) auth {
a.authDo.ReplaceConnPool(db.Statement.ConnPool)
return a
}
func (a auth) replaceDB(db *gorm.DB) auth {
a.authDo.ReplaceDB(db)
return a
}
type authDo struct{ gen.DO }
// FirstByID Where("id=@id")
func (a authDo) FirstByID(id int) (result *model.Auth, err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("id=? ")
var executeSQL *gorm.DB
executeSQL = a.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
err = executeSQL.Error
return
}
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
func (a authDo) DeleteByID(id int) (err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("update auths set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
var executeSQL *gorm.DB
executeSQL = a.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
err = executeSQL.Error
return
}
func (a authDo) Debug() *authDo {
return a.withDO(a.DO.Debug())
}
func (a authDo) WithContext(ctx context.Context) *authDo {
return a.withDO(a.DO.WithContext(ctx))
}
func (a authDo) ReadDB() *authDo {
return a.Clauses(dbresolver.Read)
}
func (a authDo) WriteDB() *authDo {
return a.Clauses(dbresolver.Write)
}
func (a authDo) Session(config *gorm.Session) *authDo {
return a.withDO(a.DO.Session(config))
}
func (a authDo) Clauses(conds ...clause.Expression) *authDo {
return a.withDO(a.DO.Clauses(conds...))
}
func (a authDo) Returning(value interface{}, columns ...string) *authDo {
return a.withDO(a.DO.Returning(value, columns...))
}
func (a authDo) Not(conds ...gen.Condition) *authDo {
return a.withDO(a.DO.Not(conds...))
}
func (a authDo) Or(conds ...gen.Condition) *authDo {
return a.withDO(a.DO.Or(conds...))
}
func (a authDo) Select(conds ...field.Expr) *authDo {
return a.withDO(a.DO.Select(conds...))
}
func (a authDo) Where(conds ...gen.Condition) *authDo {
return a.withDO(a.DO.Where(conds...))
}
func (a authDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *authDo {
return a.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
}
func (a authDo) Order(conds ...field.Expr) *authDo {
return a.withDO(a.DO.Order(conds...))
}
func (a authDo) Distinct(cols ...field.Expr) *authDo {
return a.withDO(a.DO.Distinct(cols...))
}
func (a authDo) Omit(cols ...field.Expr) *authDo {
return a.withDO(a.DO.Omit(cols...))
}
func (a authDo) Join(table schema.Tabler, on ...field.Expr) *authDo {
return a.withDO(a.DO.Join(table, on...))
}
func (a authDo) LeftJoin(table schema.Tabler, on ...field.Expr) *authDo {
return a.withDO(a.DO.LeftJoin(table, on...))
}
func (a authDo) RightJoin(table schema.Tabler, on ...field.Expr) *authDo {
return a.withDO(a.DO.RightJoin(table, on...))
}
func (a authDo) Group(cols ...field.Expr) *authDo {
return a.withDO(a.DO.Group(cols...))
}
func (a authDo) Having(conds ...gen.Condition) *authDo {
return a.withDO(a.DO.Having(conds...))
}
func (a authDo) Limit(limit int) *authDo {
return a.withDO(a.DO.Limit(limit))
}
func (a authDo) Offset(offset int) *authDo {
return a.withDO(a.DO.Offset(offset))
}
func (a authDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *authDo {
return a.withDO(a.DO.Scopes(funcs...))
}
func (a authDo) Unscoped() *authDo {
return a.withDO(a.DO.Unscoped())
}
func (a authDo) Create(values ...*model.Auth) error {
if len(values) == 0 {
return nil
}
return a.DO.Create(values)
}
func (a authDo) CreateInBatches(values []*model.Auth, batchSize int) error {
return a.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (a authDo) Save(values ...*model.Auth) error {
if len(values) == 0 {
return nil
}
return a.DO.Save(values)
}
func (a authDo) First() (*model.Auth, error) {
if result, err := a.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.Auth), nil
}
}
func (a authDo) Take() (*model.Auth, error) {
if result, err := a.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.Auth), nil
}
}
func (a authDo) Last() (*model.Auth, error) {
if result, err := a.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.Auth), nil
}
}
func (a authDo) Find() ([]*model.Auth, error) {
result, err := a.DO.Find()
return result.([]*model.Auth), err
}
func (a authDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Auth, err error) {
buf := make([]*model.Auth, 0, batchSize)
err = a.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (a authDo) FindInBatches(result *[]*model.Auth, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return a.DO.FindInBatches(result, batchSize, fc)
}
func (a authDo) Attrs(attrs ...field.AssignExpr) *authDo {
return a.withDO(a.DO.Attrs(attrs...))
}
func (a authDo) Assign(attrs ...field.AssignExpr) *authDo {
return a.withDO(a.DO.Assign(attrs...))
}
func (a authDo) Joins(fields ...field.RelationField) *authDo {
for _, _f := range fields {
a = *a.withDO(a.DO.Joins(_f))
}
return &a
}
func (a authDo) Preload(fields ...field.RelationField) *authDo {
for _, _f := range fields {
a = *a.withDO(a.DO.Preload(_f))
}
return &a
}
func (a authDo) FirstOrInit() (*model.Auth, error) {
if result, err := a.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.Auth), nil
}
}
func (a authDo) FirstOrCreate() (*model.Auth, error) {
if result, err := a.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.Auth), nil
}
}
func (a authDo) FindByPage(offset int, limit int) (result []*model.Auth, count int64, err error) {
result, err = a.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = a.Offset(-1).Limit(-1).Count()
return
}
func (a authDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = a.Count()
if err != nil {
return
}
err = a.Offset(offset).Limit(limit).Scan(result)
return
}
func (a authDo) Scan(result interface{}) (err error) {
return a.DO.Scan(result)
}
func (a authDo) Delete(models ...*model.Auth) (result gen.ResultInfo, err error) {
return a.DO.Delete(models)
}
func (a *authDo) withDO(do gen.Dao) *authDo {
a.DO = *do.(*gen.DO)
return a
}

479
query/certs.gen.go Normal file
View file

@ -0,0 +1,479 @@
// 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 query
import (
"context"
model2 "github.com/0xJacky/Nginx-UI/model"
"strings"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newCert(db *gorm.DB, opts ...gen.DOOption) cert {
_cert := cert{}
_cert.certDo.UseDB(db, opts...)
_cert.certDo.UseModel(&model2.Cert{})
tableName := _cert.certDo.TableName()
_cert.ALL = field.NewAsterisk(tableName)
_cert.ID = field.NewInt(tableName, "id")
_cert.CreatedAt = field.NewTime(tableName, "created_at")
_cert.UpdatedAt = field.NewTime(tableName, "updated_at")
_cert.DeletedAt = field.NewField(tableName, "deleted_at")
_cert.Name = field.NewString(tableName, "name")
_cert.Domains = field.NewField(tableName, "domains")
_cert.Filename = field.NewString(tableName, "filename")
_cert.SSLCertificatePath = field.NewString(tableName, "ssl_certificate_path")
_cert.SSLCertificateKeyPath = field.NewString(tableName, "ssl_certificate_key_path")
_cert.AutoCert = field.NewInt(tableName, "auto_cert")
_cert.ChallengeMethod = field.NewString(tableName, "challenge_method")
_cert.DnsCredentialID = field.NewInt(tableName, "dns_credential_id")
_cert.Log = field.NewString(tableName, "log")
_cert.DnsCredential = certBelongsToDnsCredential{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("DnsCredential", "model.DnsCredential"),
}
_cert.fillFieldMap()
return _cert
}
type cert struct {
certDo
ALL field.Asterisk
ID field.Int
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Name field.String
Domains field.Field
Filename field.String
SSLCertificatePath field.String
SSLCertificateKeyPath field.String
AutoCert field.Int
ChallengeMethod field.String
DnsCredentialID field.Int
Log field.String
DnsCredential certBelongsToDnsCredential
fieldMap map[string]field.Expr
}
func (c cert) Table(newTableName string) *cert {
c.certDo.UseTable(newTableName)
return c.updateTableName(newTableName)
}
func (c cert) As(alias string) *cert {
c.certDo.DO = *(c.certDo.As(alias).(*gen.DO))
return c.updateTableName(alias)
}
func (c *cert) updateTableName(table string) *cert {
c.ALL = field.NewAsterisk(table)
c.ID = field.NewInt(table, "id")
c.CreatedAt = field.NewTime(table, "created_at")
c.UpdatedAt = field.NewTime(table, "updated_at")
c.DeletedAt = field.NewField(table, "deleted_at")
c.Name = field.NewString(table, "name")
c.Domains = field.NewField(table, "domains")
c.Filename = field.NewString(table, "filename")
c.SSLCertificatePath = field.NewString(table, "ssl_certificate_path")
c.SSLCertificateKeyPath = field.NewString(table, "ssl_certificate_key_path")
c.AutoCert = field.NewInt(table, "auto_cert")
c.ChallengeMethod = field.NewString(table, "challenge_method")
c.DnsCredentialID = field.NewInt(table, "dns_credential_id")
c.Log = field.NewString(table, "log")
c.fillFieldMap()
return c
}
func (c *cert) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := c.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (c *cert) fillFieldMap() {
c.fieldMap = make(map[string]field.Expr, 14)
c.fieldMap["id"] = c.ID
c.fieldMap["created_at"] = c.CreatedAt
c.fieldMap["updated_at"] = c.UpdatedAt
c.fieldMap["deleted_at"] = c.DeletedAt
c.fieldMap["name"] = c.Name
c.fieldMap["domains"] = c.Domains
c.fieldMap["filename"] = c.Filename
c.fieldMap["ssl_certificate_path"] = c.SSLCertificatePath
c.fieldMap["ssl_certificate_key_path"] = c.SSLCertificateKeyPath
c.fieldMap["auto_cert"] = c.AutoCert
c.fieldMap["challenge_method"] = c.ChallengeMethod
c.fieldMap["dns_credential_id"] = c.DnsCredentialID
c.fieldMap["log"] = c.Log
}
func (c cert) clone(db *gorm.DB) cert {
c.certDo.ReplaceConnPool(db.Statement.ConnPool)
return c
}
func (c cert) replaceDB(db *gorm.DB) cert {
c.certDo.ReplaceDB(db)
return c
}
type certBelongsToDnsCredential struct {
db *gorm.DB
field.RelationField
}
func (a certBelongsToDnsCredential) Where(conds ...field.Expr) *certBelongsToDnsCredential {
if len(conds) == 0 {
return &a
}
exprs := make([]clause.Expression, 0, len(conds))
for _, cond := range conds {
exprs = append(exprs, cond.BeCond().(clause.Expression))
}
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
return &a
}
func (a certBelongsToDnsCredential) WithContext(ctx context.Context) *certBelongsToDnsCredential {
a.db = a.db.WithContext(ctx)
return &a
}
func (a certBelongsToDnsCredential) Session(session *gorm.Session) *certBelongsToDnsCredential {
a.db = a.db.Session(session)
return &a
}
func (a certBelongsToDnsCredential) Model(m *model2.Cert) *certBelongsToDnsCredentialTx {
return &certBelongsToDnsCredentialTx{a.db.Model(m).Association(a.Name())}
}
type certBelongsToDnsCredentialTx struct{ tx *gorm.Association }
func (a certBelongsToDnsCredentialTx) Find() (result *model2.DnsCredential, err error) {
return result, a.tx.Find(&result)
}
func (a certBelongsToDnsCredentialTx) Append(values ...*model2.DnsCredential) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a certBelongsToDnsCredentialTx) Replace(values ...*model2.DnsCredential) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a certBelongsToDnsCredentialTx) Delete(values ...*model2.DnsCredential) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a certBelongsToDnsCredentialTx) Clear() error {
return a.tx.Clear()
}
func (a certBelongsToDnsCredentialTx) Count() int64 {
return a.tx.Count()
}
type certDo struct{ gen.DO }
// FirstByID Where("id=@id")
func (c certDo) FirstByID(id int) (result *model2.Cert, err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("id=? ")
var executeSQL *gorm.DB
executeSQL = c.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
err = executeSQL.Error
return
}
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
func (c certDo) DeleteByID(id int) (err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("update certs set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
var executeSQL *gorm.DB
executeSQL = c.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
err = executeSQL.Error
return
}
func (c certDo) Debug() *certDo {
return c.withDO(c.DO.Debug())
}
func (c certDo) WithContext(ctx context.Context) *certDo {
return c.withDO(c.DO.WithContext(ctx))
}
func (c certDo) ReadDB() *certDo {
return c.Clauses(dbresolver.Read)
}
func (c certDo) WriteDB() *certDo {
return c.Clauses(dbresolver.Write)
}
func (c certDo) Session(config *gorm.Session) *certDo {
return c.withDO(c.DO.Session(config))
}
func (c certDo) Clauses(conds ...clause.Expression) *certDo {
return c.withDO(c.DO.Clauses(conds...))
}
func (c certDo) Returning(value interface{}, columns ...string) *certDo {
return c.withDO(c.DO.Returning(value, columns...))
}
func (c certDo) Not(conds ...gen.Condition) *certDo {
return c.withDO(c.DO.Not(conds...))
}
func (c certDo) Or(conds ...gen.Condition) *certDo {
return c.withDO(c.DO.Or(conds...))
}
func (c certDo) Select(conds ...field.Expr) *certDo {
return c.withDO(c.DO.Select(conds...))
}
func (c certDo) Where(conds ...gen.Condition) *certDo {
return c.withDO(c.DO.Where(conds...))
}
func (c certDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *certDo {
return c.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
}
func (c certDo) Order(conds ...field.Expr) *certDo {
return c.withDO(c.DO.Order(conds...))
}
func (c certDo) Distinct(cols ...field.Expr) *certDo {
return c.withDO(c.DO.Distinct(cols...))
}
func (c certDo) Omit(cols ...field.Expr) *certDo {
return c.withDO(c.DO.Omit(cols...))
}
func (c certDo) Join(table schema.Tabler, on ...field.Expr) *certDo {
return c.withDO(c.DO.Join(table, on...))
}
func (c certDo) LeftJoin(table schema.Tabler, on ...field.Expr) *certDo {
return c.withDO(c.DO.LeftJoin(table, on...))
}
func (c certDo) RightJoin(table schema.Tabler, on ...field.Expr) *certDo {
return c.withDO(c.DO.RightJoin(table, on...))
}
func (c certDo) Group(cols ...field.Expr) *certDo {
return c.withDO(c.DO.Group(cols...))
}
func (c certDo) Having(conds ...gen.Condition) *certDo {
return c.withDO(c.DO.Having(conds...))
}
func (c certDo) Limit(limit int) *certDo {
return c.withDO(c.DO.Limit(limit))
}
func (c certDo) Offset(offset int) *certDo {
return c.withDO(c.DO.Offset(offset))
}
func (c certDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *certDo {
return c.withDO(c.DO.Scopes(funcs...))
}
func (c certDo) Unscoped() *certDo {
return c.withDO(c.DO.Unscoped())
}
func (c certDo) Create(values ...*model2.Cert) error {
if len(values) == 0 {
return nil
}
return c.DO.Create(values)
}
func (c certDo) CreateInBatches(values []*model2.Cert, batchSize int) error {
return c.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (c certDo) Save(values ...*model2.Cert) error {
if len(values) == 0 {
return nil
}
return c.DO.Save(values)
}
func (c certDo) First() (*model2.Cert, error) {
if result, err := c.DO.First(); err != nil {
return nil, err
} else {
return result.(*model2.Cert), nil
}
}
func (c certDo) Take() (*model2.Cert, error) {
if result, err := c.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model2.Cert), nil
}
}
func (c certDo) Last() (*model2.Cert, error) {
if result, err := c.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model2.Cert), nil
}
}
func (c certDo) Find() ([]*model2.Cert, error) {
result, err := c.DO.Find()
return result.([]*model2.Cert), err
}
func (c certDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model2.Cert, err error) {
buf := make([]*model2.Cert, 0, batchSize)
err = c.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (c certDo) FindInBatches(result *[]*model2.Cert, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return c.DO.FindInBatches(result, batchSize, fc)
}
func (c certDo) Attrs(attrs ...field.AssignExpr) *certDo {
return c.withDO(c.DO.Attrs(attrs...))
}
func (c certDo) Assign(attrs ...field.AssignExpr) *certDo {
return c.withDO(c.DO.Assign(attrs...))
}
func (c certDo) Joins(fields ...field.RelationField) *certDo {
for _, _f := range fields {
c = *c.withDO(c.DO.Joins(_f))
}
return &c
}
func (c certDo) Preload(fields ...field.RelationField) *certDo {
for _, _f := range fields {
c = *c.withDO(c.DO.Preload(_f))
}
return &c
}
func (c certDo) FirstOrInit() (*model2.Cert, error) {
if result, err := c.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model2.Cert), nil
}
}
func (c certDo) FirstOrCreate() (*model2.Cert, error) {
if result, err := c.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model2.Cert), nil
}
}
func (c certDo) FindByPage(offset int, limit int) (result []*model2.Cert, count int64, err error) {
result, err = c.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = c.Offset(-1).Limit(-1).Count()
return
}
func (c certDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = c.Count()
if err != nil {
return
}
err = c.Offset(offset).Limit(limit).Scan(result)
return
}
func (c certDo) Scan(result interface{}) (err error) {
return c.DO.Scan(result)
}
func (c certDo) Delete(models ...*model2.Cert) (result gen.ResultInfo, err error) {
return c.DO.Delete(models)
}
func (c *certDo) withDO(do gen.Dao) *certDo {
c.DO = *do.(*gen.DO)
return c
}

357
query/chat_gpt_logs.gen.go Normal file
View file

@ -0,0 +1,357 @@
// 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 query
import (
"context"
"github.com/0xJacky/Nginx-UI/model"
"strings"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newChatGPTLog(db *gorm.DB, opts ...gen.DOOption) chatGPTLog {
_chatGPTLog := chatGPTLog{}
_chatGPTLog.chatGPTLogDo.UseDB(db, opts...)
_chatGPTLog.chatGPTLogDo.UseModel(&model.ChatGPTLog{})
tableName := _chatGPTLog.chatGPTLogDo.TableName()
_chatGPTLog.ALL = field.NewAsterisk(tableName)
_chatGPTLog.Name = field.NewString(tableName, "name")
_chatGPTLog.Content = field.NewField(tableName, "content")
_chatGPTLog.fillFieldMap()
return _chatGPTLog
}
type chatGPTLog struct {
chatGPTLogDo
ALL field.Asterisk
Name field.String
Content field.Field
fieldMap map[string]field.Expr
}
func (c chatGPTLog) Table(newTableName string) *chatGPTLog {
c.chatGPTLogDo.UseTable(newTableName)
return c.updateTableName(newTableName)
}
func (c chatGPTLog) As(alias string) *chatGPTLog {
c.chatGPTLogDo.DO = *(c.chatGPTLogDo.As(alias).(*gen.DO))
return c.updateTableName(alias)
}
func (c *chatGPTLog) updateTableName(table string) *chatGPTLog {
c.ALL = field.NewAsterisk(table)
c.Name = field.NewString(table, "name")
c.Content = field.NewField(table, "content")
c.fillFieldMap()
return c
}
func (c *chatGPTLog) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := c.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (c *chatGPTLog) fillFieldMap() {
c.fieldMap = make(map[string]field.Expr, 2)
c.fieldMap["name"] = c.Name
c.fieldMap["content"] = c.Content
}
func (c chatGPTLog) clone(db *gorm.DB) chatGPTLog {
c.chatGPTLogDo.ReplaceConnPool(db.Statement.ConnPool)
return c
}
func (c chatGPTLog) replaceDB(db *gorm.DB) chatGPTLog {
c.chatGPTLogDo.ReplaceDB(db)
return c
}
type chatGPTLogDo struct{ gen.DO }
// FirstByID Where("id=@id")
func (c chatGPTLogDo) FirstByID(id int) (result *model.ChatGPTLog, err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("id=? ")
var executeSQL *gorm.DB
executeSQL = c.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
err = executeSQL.Error
return
}
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
func (c chatGPTLogDo) DeleteByID(id int) (err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("update chat_gpt_logs set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
var executeSQL *gorm.DB
executeSQL = c.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
err = executeSQL.Error
return
}
func (c chatGPTLogDo) Debug() *chatGPTLogDo {
return c.withDO(c.DO.Debug())
}
func (c chatGPTLogDo) WithContext(ctx context.Context) *chatGPTLogDo {
return c.withDO(c.DO.WithContext(ctx))
}
func (c chatGPTLogDo) ReadDB() *chatGPTLogDo {
return c.Clauses(dbresolver.Read)
}
func (c chatGPTLogDo) WriteDB() *chatGPTLogDo {
return c.Clauses(dbresolver.Write)
}
func (c chatGPTLogDo) Session(config *gorm.Session) *chatGPTLogDo {
return c.withDO(c.DO.Session(config))
}
func (c chatGPTLogDo) Clauses(conds ...clause.Expression) *chatGPTLogDo {
return c.withDO(c.DO.Clauses(conds...))
}
func (c chatGPTLogDo) Returning(value interface{}, columns ...string) *chatGPTLogDo {
return c.withDO(c.DO.Returning(value, columns...))
}
func (c chatGPTLogDo) Not(conds ...gen.Condition) *chatGPTLogDo {
return c.withDO(c.DO.Not(conds...))
}
func (c chatGPTLogDo) Or(conds ...gen.Condition) *chatGPTLogDo {
return c.withDO(c.DO.Or(conds...))
}
func (c chatGPTLogDo) Select(conds ...field.Expr) *chatGPTLogDo {
return c.withDO(c.DO.Select(conds...))
}
func (c chatGPTLogDo) Where(conds ...gen.Condition) *chatGPTLogDo {
return c.withDO(c.DO.Where(conds...))
}
func (c chatGPTLogDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *chatGPTLogDo {
return c.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
}
func (c chatGPTLogDo) Order(conds ...field.Expr) *chatGPTLogDo {
return c.withDO(c.DO.Order(conds...))
}
func (c chatGPTLogDo) Distinct(cols ...field.Expr) *chatGPTLogDo {
return c.withDO(c.DO.Distinct(cols...))
}
func (c chatGPTLogDo) Omit(cols ...field.Expr) *chatGPTLogDo {
return c.withDO(c.DO.Omit(cols...))
}
func (c chatGPTLogDo) Join(table schema.Tabler, on ...field.Expr) *chatGPTLogDo {
return c.withDO(c.DO.Join(table, on...))
}
func (c chatGPTLogDo) LeftJoin(table schema.Tabler, on ...field.Expr) *chatGPTLogDo {
return c.withDO(c.DO.LeftJoin(table, on...))
}
func (c chatGPTLogDo) RightJoin(table schema.Tabler, on ...field.Expr) *chatGPTLogDo {
return c.withDO(c.DO.RightJoin(table, on...))
}
func (c chatGPTLogDo) Group(cols ...field.Expr) *chatGPTLogDo {
return c.withDO(c.DO.Group(cols...))
}
func (c chatGPTLogDo) Having(conds ...gen.Condition) *chatGPTLogDo {
return c.withDO(c.DO.Having(conds...))
}
func (c chatGPTLogDo) Limit(limit int) *chatGPTLogDo {
return c.withDO(c.DO.Limit(limit))
}
func (c chatGPTLogDo) Offset(offset int) *chatGPTLogDo {
return c.withDO(c.DO.Offset(offset))
}
func (c chatGPTLogDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *chatGPTLogDo {
return c.withDO(c.DO.Scopes(funcs...))
}
func (c chatGPTLogDo) Unscoped() *chatGPTLogDo {
return c.withDO(c.DO.Unscoped())
}
func (c chatGPTLogDo) Create(values ...*model.ChatGPTLog) error {
if len(values) == 0 {
return nil
}
return c.DO.Create(values)
}
func (c chatGPTLogDo) CreateInBatches(values []*model.ChatGPTLog, batchSize int) error {
return c.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (c chatGPTLogDo) Save(values ...*model.ChatGPTLog) error {
if len(values) == 0 {
return nil
}
return c.DO.Save(values)
}
func (c chatGPTLogDo) First() (*model.ChatGPTLog, error) {
if result, err := c.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.ChatGPTLog), nil
}
}
func (c chatGPTLogDo) Take() (*model.ChatGPTLog, error) {
if result, err := c.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.ChatGPTLog), nil
}
}
func (c chatGPTLogDo) Last() (*model.ChatGPTLog, error) {
if result, err := c.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.ChatGPTLog), nil
}
}
func (c chatGPTLogDo) Find() ([]*model.ChatGPTLog, error) {
result, err := c.DO.Find()
return result.([]*model.ChatGPTLog), err
}
func (c chatGPTLogDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.ChatGPTLog, err error) {
buf := make([]*model.ChatGPTLog, 0, batchSize)
err = c.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (c chatGPTLogDo) FindInBatches(result *[]*model.ChatGPTLog, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return c.DO.FindInBatches(result, batchSize, fc)
}
func (c chatGPTLogDo) Attrs(attrs ...field.AssignExpr) *chatGPTLogDo {
return c.withDO(c.DO.Attrs(attrs...))
}
func (c chatGPTLogDo) Assign(attrs ...field.AssignExpr) *chatGPTLogDo {
return c.withDO(c.DO.Assign(attrs...))
}
func (c chatGPTLogDo) Joins(fields ...field.RelationField) *chatGPTLogDo {
for _, _f := range fields {
c = *c.withDO(c.DO.Joins(_f))
}
return &c
}
func (c chatGPTLogDo) Preload(fields ...field.RelationField) *chatGPTLogDo {
for _, _f := range fields {
c = *c.withDO(c.DO.Preload(_f))
}
return &c
}
func (c chatGPTLogDo) FirstOrInit() (*model.ChatGPTLog, error) {
if result, err := c.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.ChatGPTLog), nil
}
}
func (c chatGPTLogDo) FirstOrCreate() (*model.ChatGPTLog, error) {
if result, err := c.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.ChatGPTLog), nil
}
}
func (c chatGPTLogDo) FindByPage(offset int, limit int) (result []*model.ChatGPTLog, count int64, err error) {
result, err = c.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = c.Offset(-1).Limit(-1).Count()
return
}
func (c chatGPTLogDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = c.Count()
if err != nil {
return
}
err = c.Offset(offset).Limit(limit).Scan(result)
return
}
func (c chatGPTLogDo) Scan(result interface{}) (err error) {
return c.DO.Scan(result)
}
func (c chatGPTLogDo) Delete(models ...*model.ChatGPTLog) (result gen.ResultInfo, err error) {
return c.DO.Delete(models)
}
func (c *chatGPTLogDo) withDO(do gen.Dao) *chatGPTLogDo {
c.DO = *do.(*gen.DO)
return c
}

377
query/config_backups.gen.go Normal file
View file

@ -0,0 +1,377 @@
// 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 query
import (
"context"
"github.com/0xJacky/Nginx-UI/model"
"strings"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newConfigBackup(db *gorm.DB, opts ...gen.DOOption) configBackup {
_configBackup := configBackup{}
_configBackup.configBackupDo.UseDB(db, opts...)
_configBackup.configBackupDo.UseModel(&model.ConfigBackup{})
tableName := _configBackup.configBackupDo.TableName()
_configBackup.ALL = field.NewAsterisk(tableName)
_configBackup.ID = field.NewInt(tableName, "id")
_configBackup.CreatedAt = field.NewTime(tableName, "created_at")
_configBackup.UpdatedAt = field.NewTime(tableName, "updated_at")
_configBackup.DeletedAt = field.NewField(tableName, "deleted_at")
_configBackup.Name = field.NewString(tableName, "name")
_configBackup.FilePath = field.NewString(tableName, "file_path")
_configBackup.Content = field.NewString(tableName, "content")
_configBackup.fillFieldMap()
return _configBackup
}
type configBackup struct {
configBackupDo
ALL field.Asterisk
ID field.Int
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Name field.String
FilePath field.String
Content field.String
fieldMap map[string]field.Expr
}
func (c configBackup) Table(newTableName string) *configBackup {
c.configBackupDo.UseTable(newTableName)
return c.updateTableName(newTableName)
}
func (c configBackup) As(alias string) *configBackup {
c.configBackupDo.DO = *(c.configBackupDo.As(alias).(*gen.DO))
return c.updateTableName(alias)
}
func (c *configBackup) updateTableName(table string) *configBackup {
c.ALL = field.NewAsterisk(table)
c.ID = field.NewInt(table, "id")
c.CreatedAt = field.NewTime(table, "created_at")
c.UpdatedAt = field.NewTime(table, "updated_at")
c.DeletedAt = field.NewField(table, "deleted_at")
c.Name = field.NewString(table, "name")
c.FilePath = field.NewString(table, "file_path")
c.Content = field.NewString(table, "content")
c.fillFieldMap()
return c
}
func (c *configBackup) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := c.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (c *configBackup) fillFieldMap() {
c.fieldMap = make(map[string]field.Expr, 7)
c.fieldMap["id"] = c.ID
c.fieldMap["created_at"] = c.CreatedAt
c.fieldMap["updated_at"] = c.UpdatedAt
c.fieldMap["deleted_at"] = c.DeletedAt
c.fieldMap["name"] = c.Name
c.fieldMap["file_path"] = c.FilePath
c.fieldMap["content"] = c.Content
}
func (c configBackup) clone(db *gorm.DB) configBackup {
c.configBackupDo.ReplaceConnPool(db.Statement.ConnPool)
return c
}
func (c configBackup) replaceDB(db *gorm.DB) configBackup {
c.configBackupDo.ReplaceDB(db)
return c
}
type configBackupDo struct{ gen.DO }
// FirstByID Where("id=@id")
func (c configBackupDo) FirstByID(id int) (result *model.ConfigBackup, err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("id=? ")
var executeSQL *gorm.DB
executeSQL = c.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
err = executeSQL.Error
return
}
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
func (c configBackupDo) DeleteByID(id int) (err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("update config_backups set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
var executeSQL *gorm.DB
executeSQL = c.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
err = executeSQL.Error
return
}
func (c configBackupDo) Debug() *configBackupDo {
return c.withDO(c.DO.Debug())
}
func (c configBackupDo) WithContext(ctx context.Context) *configBackupDo {
return c.withDO(c.DO.WithContext(ctx))
}
func (c configBackupDo) ReadDB() *configBackupDo {
return c.Clauses(dbresolver.Read)
}
func (c configBackupDo) WriteDB() *configBackupDo {
return c.Clauses(dbresolver.Write)
}
func (c configBackupDo) Session(config *gorm.Session) *configBackupDo {
return c.withDO(c.DO.Session(config))
}
func (c configBackupDo) Clauses(conds ...clause.Expression) *configBackupDo {
return c.withDO(c.DO.Clauses(conds...))
}
func (c configBackupDo) Returning(value interface{}, columns ...string) *configBackupDo {
return c.withDO(c.DO.Returning(value, columns...))
}
func (c configBackupDo) Not(conds ...gen.Condition) *configBackupDo {
return c.withDO(c.DO.Not(conds...))
}
func (c configBackupDo) Or(conds ...gen.Condition) *configBackupDo {
return c.withDO(c.DO.Or(conds...))
}
func (c configBackupDo) Select(conds ...field.Expr) *configBackupDo {
return c.withDO(c.DO.Select(conds...))
}
func (c configBackupDo) Where(conds ...gen.Condition) *configBackupDo {
return c.withDO(c.DO.Where(conds...))
}
func (c configBackupDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *configBackupDo {
return c.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
}
func (c configBackupDo) Order(conds ...field.Expr) *configBackupDo {
return c.withDO(c.DO.Order(conds...))
}
func (c configBackupDo) Distinct(cols ...field.Expr) *configBackupDo {
return c.withDO(c.DO.Distinct(cols...))
}
func (c configBackupDo) Omit(cols ...field.Expr) *configBackupDo {
return c.withDO(c.DO.Omit(cols...))
}
func (c configBackupDo) Join(table schema.Tabler, on ...field.Expr) *configBackupDo {
return c.withDO(c.DO.Join(table, on...))
}
func (c configBackupDo) LeftJoin(table schema.Tabler, on ...field.Expr) *configBackupDo {
return c.withDO(c.DO.LeftJoin(table, on...))
}
func (c configBackupDo) RightJoin(table schema.Tabler, on ...field.Expr) *configBackupDo {
return c.withDO(c.DO.RightJoin(table, on...))
}
func (c configBackupDo) Group(cols ...field.Expr) *configBackupDo {
return c.withDO(c.DO.Group(cols...))
}
func (c configBackupDo) Having(conds ...gen.Condition) *configBackupDo {
return c.withDO(c.DO.Having(conds...))
}
func (c configBackupDo) Limit(limit int) *configBackupDo {
return c.withDO(c.DO.Limit(limit))
}
func (c configBackupDo) Offset(offset int) *configBackupDo {
return c.withDO(c.DO.Offset(offset))
}
func (c configBackupDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *configBackupDo {
return c.withDO(c.DO.Scopes(funcs...))
}
func (c configBackupDo) Unscoped() *configBackupDo {
return c.withDO(c.DO.Unscoped())
}
func (c configBackupDo) Create(values ...*model.ConfigBackup) error {
if len(values) == 0 {
return nil
}
return c.DO.Create(values)
}
func (c configBackupDo) CreateInBatches(values []*model.ConfigBackup, batchSize int) error {
return c.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (c configBackupDo) Save(values ...*model.ConfigBackup) error {
if len(values) == 0 {
return nil
}
return c.DO.Save(values)
}
func (c configBackupDo) First() (*model.ConfigBackup, error) {
if result, err := c.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.ConfigBackup), nil
}
}
func (c configBackupDo) Take() (*model.ConfigBackup, error) {
if result, err := c.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.ConfigBackup), nil
}
}
func (c configBackupDo) Last() (*model.ConfigBackup, error) {
if result, err := c.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.ConfigBackup), nil
}
}
func (c configBackupDo) Find() ([]*model.ConfigBackup, error) {
result, err := c.DO.Find()
return result.([]*model.ConfigBackup), err
}
func (c configBackupDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.ConfigBackup, err error) {
buf := make([]*model.ConfigBackup, 0, batchSize)
err = c.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (c configBackupDo) FindInBatches(result *[]*model.ConfigBackup, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return c.DO.FindInBatches(result, batchSize, fc)
}
func (c configBackupDo) Attrs(attrs ...field.AssignExpr) *configBackupDo {
return c.withDO(c.DO.Attrs(attrs...))
}
func (c configBackupDo) Assign(attrs ...field.AssignExpr) *configBackupDo {
return c.withDO(c.DO.Assign(attrs...))
}
func (c configBackupDo) Joins(fields ...field.RelationField) *configBackupDo {
for _, _f := range fields {
c = *c.withDO(c.DO.Joins(_f))
}
return &c
}
func (c configBackupDo) Preload(fields ...field.RelationField) *configBackupDo {
for _, _f := range fields {
c = *c.withDO(c.DO.Preload(_f))
}
return &c
}
func (c configBackupDo) FirstOrInit() (*model.ConfigBackup, error) {
if result, err := c.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.ConfigBackup), nil
}
}
func (c configBackupDo) FirstOrCreate() (*model.ConfigBackup, error) {
if result, err := c.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.ConfigBackup), nil
}
}
func (c configBackupDo) FindByPage(offset int, limit int) (result []*model.ConfigBackup, count int64, err error) {
result, err = c.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = c.Offset(-1).Limit(-1).Count()
return
}
func (c configBackupDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = c.Count()
if err != nil {
return
}
err = c.Offset(offset).Limit(limit).Scan(result)
return
}
func (c configBackupDo) Scan(result interface{}) (err error) {
return c.DO.Scan(result)
}
func (c configBackupDo) Delete(models ...*model.ConfigBackup) (result gen.ResultInfo, err error) {
return c.DO.Delete(models)
}
func (c *configBackupDo) withDO(do gen.Dao) *configBackupDo {
c.DO = *do.(*gen.DO)
return c
}

View file

@ -0,0 +1,377 @@
// 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 query
import (
"context"
"github.com/0xJacky/Nginx-UI/model"
"strings"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newDnsCredential(db *gorm.DB, opts ...gen.DOOption) dnsCredential {
_dnsCredential := dnsCredential{}
_dnsCredential.dnsCredentialDo.UseDB(db, opts...)
_dnsCredential.dnsCredentialDo.UseModel(&model.DnsCredential{})
tableName := _dnsCredential.dnsCredentialDo.TableName()
_dnsCredential.ALL = field.NewAsterisk(tableName)
_dnsCredential.ID = field.NewInt(tableName, "id")
_dnsCredential.CreatedAt = field.NewTime(tableName, "created_at")
_dnsCredential.UpdatedAt = field.NewTime(tableName, "updated_at")
_dnsCredential.DeletedAt = field.NewField(tableName, "deleted_at")
_dnsCredential.Name = field.NewString(tableName, "name")
_dnsCredential.Config = field.NewField(tableName, "config")
_dnsCredential.Provider = field.NewString(tableName, "provider")
_dnsCredential.fillFieldMap()
return _dnsCredential
}
type dnsCredential struct {
dnsCredentialDo
ALL field.Asterisk
ID field.Int
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Name field.String
Config field.Field
Provider field.String
fieldMap map[string]field.Expr
}
func (d dnsCredential) Table(newTableName string) *dnsCredential {
d.dnsCredentialDo.UseTable(newTableName)
return d.updateTableName(newTableName)
}
func (d dnsCredential) As(alias string) *dnsCredential {
d.dnsCredentialDo.DO = *(d.dnsCredentialDo.As(alias).(*gen.DO))
return d.updateTableName(alias)
}
func (d *dnsCredential) updateTableName(table string) *dnsCredential {
d.ALL = field.NewAsterisk(table)
d.ID = field.NewInt(table, "id")
d.CreatedAt = field.NewTime(table, "created_at")
d.UpdatedAt = field.NewTime(table, "updated_at")
d.DeletedAt = field.NewField(table, "deleted_at")
d.Name = field.NewString(table, "name")
d.Config = field.NewField(table, "config")
d.Provider = field.NewString(table, "provider")
d.fillFieldMap()
return d
}
func (d *dnsCredential) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := d.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (d *dnsCredential) fillFieldMap() {
d.fieldMap = make(map[string]field.Expr, 7)
d.fieldMap["id"] = d.ID
d.fieldMap["created_at"] = d.CreatedAt
d.fieldMap["updated_at"] = d.UpdatedAt
d.fieldMap["deleted_at"] = d.DeletedAt
d.fieldMap["name"] = d.Name
d.fieldMap["config"] = d.Config
d.fieldMap["provider"] = d.Provider
}
func (d dnsCredential) clone(db *gorm.DB) dnsCredential {
d.dnsCredentialDo.ReplaceConnPool(db.Statement.ConnPool)
return d
}
func (d dnsCredential) replaceDB(db *gorm.DB) dnsCredential {
d.dnsCredentialDo.ReplaceDB(db)
return d
}
type dnsCredentialDo struct{ gen.DO }
// FirstByID Where("id=@id")
func (d dnsCredentialDo) FirstByID(id int) (result *model.DnsCredential, err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("id=? ")
var executeSQL *gorm.DB
executeSQL = d.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
err = executeSQL.Error
return
}
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
func (d dnsCredentialDo) DeleteByID(id int) (err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("update dns_credentials set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
var executeSQL *gorm.DB
executeSQL = d.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
err = executeSQL.Error
return
}
func (d dnsCredentialDo) Debug() *dnsCredentialDo {
return d.withDO(d.DO.Debug())
}
func (d dnsCredentialDo) WithContext(ctx context.Context) *dnsCredentialDo {
return d.withDO(d.DO.WithContext(ctx))
}
func (d dnsCredentialDo) ReadDB() *dnsCredentialDo {
return d.Clauses(dbresolver.Read)
}
func (d dnsCredentialDo) WriteDB() *dnsCredentialDo {
return d.Clauses(dbresolver.Write)
}
func (d dnsCredentialDo) Session(config *gorm.Session) *dnsCredentialDo {
return d.withDO(d.DO.Session(config))
}
func (d dnsCredentialDo) Clauses(conds ...clause.Expression) *dnsCredentialDo {
return d.withDO(d.DO.Clauses(conds...))
}
func (d dnsCredentialDo) Returning(value interface{}, columns ...string) *dnsCredentialDo {
return d.withDO(d.DO.Returning(value, columns...))
}
func (d dnsCredentialDo) Not(conds ...gen.Condition) *dnsCredentialDo {
return d.withDO(d.DO.Not(conds...))
}
func (d dnsCredentialDo) Or(conds ...gen.Condition) *dnsCredentialDo {
return d.withDO(d.DO.Or(conds...))
}
func (d dnsCredentialDo) Select(conds ...field.Expr) *dnsCredentialDo {
return d.withDO(d.DO.Select(conds...))
}
func (d dnsCredentialDo) Where(conds ...gen.Condition) *dnsCredentialDo {
return d.withDO(d.DO.Where(conds...))
}
func (d dnsCredentialDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *dnsCredentialDo {
return d.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
}
func (d dnsCredentialDo) Order(conds ...field.Expr) *dnsCredentialDo {
return d.withDO(d.DO.Order(conds...))
}
func (d dnsCredentialDo) Distinct(cols ...field.Expr) *dnsCredentialDo {
return d.withDO(d.DO.Distinct(cols...))
}
func (d dnsCredentialDo) Omit(cols ...field.Expr) *dnsCredentialDo {
return d.withDO(d.DO.Omit(cols...))
}
func (d dnsCredentialDo) Join(table schema.Tabler, on ...field.Expr) *dnsCredentialDo {
return d.withDO(d.DO.Join(table, on...))
}
func (d dnsCredentialDo) LeftJoin(table schema.Tabler, on ...field.Expr) *dnsCredentialDo {
return d.withDO(d.DO.LeftJoin(table, on...))
}
func (d dnsCredentialDo) RightJoin(table schema.Tabler, on ...field.Expr) *dnsCredentialDo {
return d.withDO(d.DO.RightJoin(table, on...))
}
func (d dnsCredentialDo) Group(cols ...field.Expr) *dnsCredentialDo {
return d.withDO(d.DO.Group(cols...))
}
func (d dnsCredentialDo) Having(conds ...gen.Condition) *dnsCredentialDo {
return d.withDO(d.DO.Having(conds...))
}
func (d dnsCredentialDo) Limit(limit int) *dnsCredentialDo {
return d.withDO(d.DO.Limit(limit))
}
func (d dnsCredentialDo) Offset(offset int) *dnsCredentialDo {
return d.withDO(d.DO.Offset(offset))
}
func (d dnsCredentialDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *dnsCredentialDo {
return d.withDO(d.DO.Scopes(funcs...))
}
func (d dnsCredentialDo) Unscoped() *dnsCredentialDo {
return d.withDO(d.DO.Unscoped())
}
func (d dnsCredentialDo) Create(values ...*model.DnsCredential) error {
if len(values) == 0 {
return nil
}
return d.DO.Create(values)
}
func (d dnsCredentialDo) CreateInBatches(values []*model.DnsCredential, batchSize int) error {
return d.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (d dnsCredentialDo) Save(values ...*model.DnsCredential) error {
if len(values) == 0 {
return nil
}
return d.DO.Save(values)
}
func (d dnsCredentialDo) First() (*model.DnsCredential, error) {
if result, err := d.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.DnsCredential), nil
}
}
func (d dnsCredentialDo) Take() (*model.DnsCredential, error) {
if result, err := d.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.DnsCredential), nil
}
}
func (d dnsCredentialDo) Last() (*model.DnsCredential, error) {
if result, err := d.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.DnsCredential), nil
}
}
func (d dnsCredentialDo) Find() ([]*model.DnsCredential, error) {
result, err := d.DO.Find()
return result.([]*model.DnsCredential), err
}
func (d dnsCredentialDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.DnsCredential, err error) {
buf := make([]*model.DnsCredential, 0, batchSize)
err = d.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (d dnsCredentialDo) FindInBatches(result *[]*model.DnsCredential, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return d.DO.FindInBatches(result, batchSize, fc)
}
func (d dnsCredentialDo) Attrs(attrs ...field.AssignExpr) *dnsCredentialDo {
return d.withDO(d.DO.Attrs(attrs...))
}
func (d dnsCredentialDo) Assign(attrs ...field.AssignExpr) *dnsCredentialDo {
return d.withDO(d.DO.Assign(attrs...))
}
func (d dnsCredentialDo) Joins(fields ...field.RelationField) *dnsCredentialDo {
for _, _f := range fields {
d = *d.withDO(d.DO.Joins(_f))
}
return &d
}
func (d dnsCredentialDo) Preload(fields ...field.RelationField) *dnsCredentialDo {
for _, _f := range fields {
d = *d.withDO(d.DO.Preload(_f))
}
return &d
}
func (d dnsCredentialDo) FirstOrInit() (*model.DnsCredential, error) {
if result, err := d.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.DnsCredential), nil
}
}
func (d dnsCredentialDo) FirstOrCreate() (*model.DnsCredential, error) {
if result, err := d.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.DnsCredential), nil
}
}
func (d dnsCredentialDo) FindByPage(offset int, limit int) (result []*model.DnsCredential, count int64, err error) {
result, err = d.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = d.Offset(-1).Limit(-1).Count()
return
}
func (d dnsCredentialDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = d.Count()
if err != nil {
return
}
err = d.Offset(offset).Limit(limit).Scan(result)
return
}
func (d dnsCredentialDo) Scan(result interface{}) (err error) {
return d.DO.Scan(result)
}
func (d dnsCredentialDo) Delete(models ...*model.DnsCredential) (result gen.ResultInfo, err error) {
return d.DO.Delete(models)
}
func (d *dnsCredentialDo) withDO(do gen.Dao) *dnsCredentialDo {
d.DO = *do.(*gen.DO)
return d
}

385
query/environments.gen.go Normal file
View file

@ -0,0 +1,385 @@
// 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 query
import (
"context"
"github.com/0xJacky/Nginx-UI/model"
"strings"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newEnvironment(db *gorm.DB, opts ...gen.DOOption) environment {
_environment := environment{}
_environment.environmentDo.UseDB(db, opts...)
_environment.environmentDo.UseModel(&model.Environment{})
tableName := _environment.environmentDo.TableName()
_environment.ALL = field.NewAsterisk(tableName)
_environment.ID = field.NewInt(tableName, "id")
_environment.CreatedAt = field.NewTime(tableName, "created_at")
_environment.UpdatedAt = field.NewTime(tableName, "updated_at")
_environment.DeletedAt = field.NewField(tableName, "deleted_at")
_environment.Name = field.NewString(tableName, "name")
_environment.URL = field.NewString(tableName, "url")
_environment.Token = field.NewString(tableName, "token")
_environment.OperationSync = field.NewBool(tableName, "operation_sync")
_environment.SyncApiRegex = field.NewString(tableName, "sync_api_regex")
_environment.fillFieldMap()
return _environment
}
type environment struct {
environmentDo
ALL field.Asterisk
ID field.Int
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Name field.String
URL field.String
Token field.String
OperationSync field.Bool
SyncApiRegex field.String
fieldMap map[string]field.Expr
}
func (e environment) Table(newTableName string) *environment {
e.environmentDo.UseTable(newTableName)
return e.updateTableName(newTableName)
}
func (e environment) As(alias string) *environment {
e.environmentDo.DO = *(e.environmentDo.As(alias).(*gen.DO))
return e.updateTableName(alias)
}
func (e *environment) updateTableName(table string) *environment {
e.ALL = field.NewAsterisk(table)
e.ID = field.NewInt(table, "id")
e.CreatedAt = field.NewTime(table, "created_at")
e.UpdatedAt = field.NewTime(table, "updated_at")
e.DeletedAt = field.NewField(table, "deleted_at")
e.Name = field.NewString(table, "name")
e.URL = field.NewString(table, "url")
e.Token = field.NewString(table, "token")
e.OperationSync = field.NewBool(table, "operation_sync")
e.SyncApiRegex = field.NewString(table, "sync_api_regex")
e.fillFieldMap()
return e
}
func (e *environment) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := e.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (e *environment) fillFieldMap() {
e.fieldMap = make(map[string]field.Expr, 9)
e.fieldMap["id"] = e.ID
e.fieldMap["created_at"] = e.CreatedAt
e.fieldMap["updated_at"] = e.UpdatedAt
e.fieldMap["deleted_at"] = e.DeletedAt
e.fieldMap["name"] = e.Name
e.fieldMap["url"] = e.URL
e.fieldMap["token"] = e.Token
e.fieldMap["operation_sync"] = e.OperationSync
e.fieldMap["sync_api_regex"] = e.SyncApiRegex
}
func (e environment) clone(db *gorm.DB) environment {
e.environmentDo.ReplaceConnPool(db.Statement.ConnPool)
return e
}
func (e environment) replaceDB(db *gorm.DB) environment {
e.environmentDo.ReplaceDB(db)
return e
}
type environmentDo struct{ gen.DO }
// FirstByID Where("id=@id")
func (e environmentDo) FirstByID(id int) (result *model.Environment, err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("id=? ")
var executeSQL *gorm.DB
executeSQL = e.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
err = executeSQL.Error
return
}
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
func (e environmentDo) DeleteByID(id int) (err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("update environments set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
var executeSQL *gorm.DB
executeSQL = e.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
err = executeSQL.Error
return
}
func (e environmentDo) Debug() *environmentDo {
return e.withDO(e.DO.Debug())
}
func (e environmentDo) WithContext(ctx context.Context) *environmentDo {
return e.withDO(e.DO.WithContext(ctx))
}
func (e environmentDo) ReadDB() *environmentDo {
return e.Clauses(dbresolver.Read)
}
func (e environmentDo) WriteDB() *environmentDo {
return e.Clauses(dbresolver.Write)
}
func (e environmentDo) Session(config *gorm.Session) *environmentDo {
return e.withDO(e.DO.Session(config))
}
func (e environmentDo) Clauses(conds ...clause.Expression) *environmentDo {
return e.withDO(e.DO.Clauses(conds...))
}
func (e environmentDo) Returning(value interface{}, columns ...string) *environmentDo {
return e.withDO(e.DO.Returning(value, columns...))
}
func (e environmentDo) Not(conds ...gen.Condition) *environmentDo {
return e.withDO(e.DO.Not(conds...))
}
func (e environmentDo) Or(conds ...gen.Condition) *environmentDo {
return e.withDO(e.DO.Or(conds...))
}
func (e environmentDo) Select(conds ...field.Expr) *environmentDo {
return e.withDO(e.DO.Select(conds...))
}
func (e environmentDo) Where(conds ...gen.Condition) *environmentDo {
return e.withDO(e.DO.Where(conds...))
}
func (e environmentDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *environmentDo {
return e.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
}
func (e environmentDo) Order(conds ...field.Expr) *environmentDo {
return e.withDO(e.DO.Order(conds...))
}
func (e environmentDo) Distinct(cols ...field.Expr) *environmentDo {
return e.withDO(e.DO.Distinct(cols...))
}
func (e environmentDo) Omit(cols ...field.Expr) *environmentDo {
return e.withDO(e.DO.Omit(cols...))
}
func (e environmentDo) Join(table schema.Tabler, on ...field.Expr) *environmentDo {
return e.withDO(e.DO.Join(table, on...))
}
func (e environmentDo) LeftJoin(table schema.Tabler, on ...field.Expr) *environmentDo {
return e.withDO(e.DO.LeftJoin(table, on...))
}
func (e environmentDo) RightJoin(table schema.Tabler, on ...field.Expr) *environmentDo {
return e.withDO(e.DO.RightJoin(table, on...))
}
func (e environmentDo) Group(cols ...field.Expr) *environmentDo {
return e.withDO(e.DO.Group(cols...))
}
func (e environmentDo) Having(conds ...gen.Condition) *environmentDo {
return e.withDO(e.DO.Having(conds...))
}
func (e environmentDo) Limit(limit int) *environmentDo {
return e.withDO(e.DO.Limit(limit))
}
func (e environmentDo) Offset(offset int) *environmentDo {
return e.withDO(e.DO.Offset(offset))
}
func (e environmentDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *environmentDo {
return e.withDO(e.DO.Scopes(funcs...))
}
func (e environmentDo) Unscoped() *environmentDo {
return e.withDO(e.DO.Unscoped())
}
func (e environmentDo) Create(values ...*model.Environment) error {
if len(values) == 0 {
return nil
}
return e.DO.Create(values)
}
func (e environmentDo) CreateInBatches(values []*model.Environment, batchSize int) error {
return e.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (e environmentDo) Save(values ...*model.Environment) error {
if len(values) == 0 {
return nil
}
return e.DO.Save(values)
}
func (e environmentDo) First() (*model.Environment, error) {
if result, err := e.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.Environment), nil
}
}
func (e environmentDo) Take() (*model.Environment, error) {
if result, err := e.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.Environment), nil
}
}
func (e environmentDo) Last() (*model.Environment, error) {
if result, err := e.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.Environment), nil
}
}
func (e environmentDo) Find() ([]*model.Environment, error) {
result, err := e.DO.Find()
return result.([]*model.Environment), err
}
func (e environmentDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Environment, err error) {
buf := make([]*model.Environment, 0, batchSize)
err = e.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (e environmentDo) FindInBatches(result *[]*model.Environment, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return e.DO.FindInBatches(result, batchSize, fc)
}
func (e environmentDo) Attrs(attrs ...field.AssignExpr) *environmentDo {
return e.withDO(e.DO.Attrs(attrs...))
}
func (e environmentDo) Assign(attrs ...field.AssignExpr) *environmentDo {
return e.withDO(e.DO.Assign(attrs...))
}
func (e environmentDo) Joins(fields ...field.RelationField) *environmentDo {
for _, _f := range fields {
e = *e.withDO(e.DO.Joins(_f))
}
return &e
}
func (e environmentDo) Preload(fields ...field.RelationField) *environmentDo {
for _, _f := range fields {
e = *e.withDO(e.DO.Preload(_f))
}
return &e
}
func (e environmentDo) FirstOrInit() (*model.Environment, error) {
if result, err := e.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.Environment), nil
}
}
func (e environmentDo) FirstOrCreate() (*model.Environment, error) {
if result, err := e.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.Environment), nil
}
}
func (e environmentDo) FindByPage(offset int, limit int) (result []*model.Environment, count int64, err error) {
result, err = e.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = e.Offset(-1).Limit(-1).Count()
return
}
func (e environmentDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = e.Count()
if err != nil {
return
}
err = e.Offset(offset).Limit(limit).Scan(result)
return
}
func (e environmentDo) Scan(result interface{}) (err error) {
return e.DO.Scan(result)
}
func (e environmentDo) Delete(models ...*model.Environment) (result gen.ResultInfo, err error) {
return e.DO.Delete(models)
}
func (e *environmentDo) withDO(do gen.Dao) *environmentDo {
e.DO = *do.(*gen.DO)
return e
}

159
query/gen.go Normal file
View file

@ -0,0 +1,159 @@
// 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 query
import (
"context"
"database/sql"
"gorm.io/gorm"
"gorm.io/gen"
"gorm.io/plugin/dbresolver"
)
var (
Q = new(Query)
Auth *auth
AuthToken *authToken
Cert *cert
ChatGPTLog *chatGPTLog
ConfigBackup *configBackup
DnsCredential *dnsCredential
Environment *environment
Site *site
)
func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
*Q = *Use(db, opts...)
Auth = &Q.Auth
AuthToken = &Q.AuthToken
Cert = &Q.Cert
ChatGPTLog = &Q.ChatGPTLog
ConfigBackup = &Q.ConfigBackup
DnsCredential = &Q.DnsCredential
Environment = &Q.Environment
Site = &Q.Site
}
func Use(db *gorm.DB, opts ...gen.DOOption) *Query {
return &Query{
db: db,
Auth: newAuth(db, opts...),
AuthToken: newAuthToken(db, opts...),
Cert: newCert(db, opts...),
ChatGPTLog: newChatGPTLog(db, opts...),
ConfigBackup: newConfigBackup(db, opts...),
DnsCredential: newDnsCredential(db, opts...),
Environment: newEnvironment(db, opts...),
Site: newSite(db, opts...),
}
}
type Query struct {
db *gorm.DB
Auth auth
AuthToken authToken
Cert cert
ChatGPTLog chatGPTLog
ConfigBackup configBackup
DnsCredential dnsCredential
Environment environment
Site site
}
func (q *Query) Available() bool { return q.db != nil }
func (q *Query) clone(db *gorm.DB) *Query {
return &Query{
db: db,
Auth: q.Auth.clone(db),
AuthToken: q.AuthToken.clone(db),
Cert: q.Cert.clone(db),
ChatGPTLog: q.ChatGPTLog.clone(db),
ConfigBackup: q.ConfigBackup.clone(db),
DnsCredential: q.DnsCredential.clone(db),
Environment: q.Environment.clone(db),
Site: q.Site.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,
Auth: q.Auth.replaceDB(db),
AuthToken: q.AuthToken.replaceDB(db),
Cert: q.Cert.replaceDB(db),
ChatGPTLog: q.ChatGPTLog.replaceDB(db),
ConfigBackup: q.ConfigBackup.replaceDB(db),
DnsCredential: q.DnsCredential.replaceDB(db),
Environment: q.Environment.replaceDB(db),
Site: q.Site.replaceDB(db),
}
}
type queryCtx struct {
Auth *authDo
AuthToken *authTokenDo
Cert *certDo
ChatGPTLog *chatGPTLogDo
ConfigBackup *configBackupDo
DnsCredential *dnsCredentialDo
Environment *environmentDo
Site *siteDo
}
func (q *Query) WithContext(ctx context.Context) *queryCtx {
return &queryCtx{
Auth: q.Auth.WithContext(ctx),
AuthToken: q.AuthToken.WithContext(ctx),
Cert: q.Cert.WithContext(ctx),
ChatGPTLog: q.ChatGPTLog.WithContext(ctx),
ConfigBackup: q.ConfigBackup.WithContext(ctx),
DnsCredential: q.DnsCredential.WithContext(ctx),
Environment: q.Environment.WithContext(ctx),
Site: q.Site.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
}

9
query/query.go Normal file
View file

@ -0,0 +1,9 @@
package query
import (
"gorm.io/gorm"
)
func Init(db *gorm.DB) {
SetDefault(db)
}

373
query/sites.gen.go Normal file
View file

@ -0,0 +1,373 @@
// 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 query
import (
"context"
"github.com/0xJacky/Nginx-UI/model"
"strings"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"gorm.io/gorm/schema"
"gorm.io/gen"
"gorm.io/gen/field"
"gorm.io/plugin/dbresolver"
)
func newSite(db *gorm.DB, opts ...gen.DOOption) site {
_site := site{}
_site.siteDo.UseDB(db, opts...)
_site.siteDo.UseModel(&model.Site{})
tableName := _site.siteDo.TableName()
_site.ALL = field.NewAsterisk(tableName)
_site.ID = field.NewInt(tableName, "id")
_site.CreatedAt = field.NewTime(tableName, "created_at")
_site.UpdatedAt = field.NewTime(tableName, "updated_at")
_site.DeletedAt = field.NewField(tableName, "deleted_at")
_site.Path = field.NewString(tableName, "path")
_site.Advanced = field.NewBool(tableName, "advanced")
_site.fillFieldMap()
return _site
}
type site struct {
siteDo
ALL field.Asterisk
ID field.Int
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Path field.String
Advanced field.Bool
fieldMap map[string]field.Expr
}
func (s site) Table(newTableName string) *site {
s.siteDo.UseTable(newTableName)
return s.updateTableName(newTableName)
}
func (s site) As(alias string) *site {
s.siteDo.DO = *(s.siteDo.As(alias).(*gen.DO))
return s.updateTableName(alias)
}
func (s *site) updateTableName(table string) *site {
s.ALL = field.NewAsterisk(table)
s.ID = field.NewInt(table, "id")
s.CreatedAt = field.NewTime(table, "created_at")
s.UpdatedAt = field.NewTime(table, "updated_at")
s.DeletedAt = field.NewField(table, "deleted_at")
s.Path = field.NewString(table, "path")
s.Advanced = field.NewBool(table, "advanced")
s.fillFieldMap()
return s
}
func (s *site) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
_f, ok := s.fieldMap[fieldName]
if !ok || _f == nil {
return nil, false
}
_oe, ok := _f.(field.OrderExpr)
return _oe, ok
}
func (s *site) fillFieldMap() {
s.fieldMap = make(map[string]field.Expr, 6)
s.fieldMap["id"] = s.ID
s.fieldMap["created_at"] = s.CreatedAt
s.fieldMap["updated_at"] = s.UpdatedAt
s.fieldMap["deleted_at"] = s.DeletedAt
s.fieldMap["path"] = s.Path
s.fieldMap["advanced"] = s.Advanced
}
func (s site) clone(db *gorm.DB) site {
s.siteDo.ReplaceConnPool(db.Statement.ConnPool)
return s
}
func (s site) replaceDB(db *gorm.DB) site {
s.siteDo.ReplaceDB(db)
return s
}
type siteDo struct{ gen.DO }
// FirstByID Where("id=@id")
func (s siteDo) FirstByID(id int) (result *model.Site, err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("id=? ")
var executeSQL *gorm.DB
executeSQL = s.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
err = executeSQL.Error
return
}
// DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
func (s siteDo) DeleteByID(id int) (err error) {
var params []interface{}
var generateSQL strings.Builder
params = append(params, id)
generateSQL.WriteString("update sites set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
var executeSQL *gorm.DB
executeSQL = s.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
err = executeSQL.Error
return
}
func (s siteDo) Debug() *siteDo {
return s.withDO(s.DO.Debug())
}
func (s siteDo) WithContext(ctx context.Context) *siteDo {
return s.withDO(s.DO.WithContext(ctx))
}
func (s siteDo) ReadDB() *siteDo {
return s.Clauses(dbresolver.Read)
}
func (s siteDo) WriteDB() *siteDo {
return s.Clauses(dbresolver.Write)
}
func (s siteDo) Session(config *gorm.Session) *siteDo {
return s.withDO(s.DO.Session(config))
}
func (s siteDo) Clauses(conds ...clause.Expression) *siteDo {
return s.withDO(s.DO.Clauses(conds...))
}
func (s siteDo) Returning(value interface{}, columns ...string) *siteDo {
return s.withDO(s.DO.Returning(value, columns...))
}
func (s siteDo) Not(conds ...gen.Condition) *siteDo {
return s.withDO(s.DO.Not(conds...))
}
func (s siteDo) Or(conds ...gen.Condition) *siteDo {
return s.withDO(s.DO.Or(conds...))
}
func (s siteDo) Select(conds ...field.Expr) *siteDo {
return s.withDO(s.DO.Select(conds...))
}
func (s siteDo) Where(conds ...gen.Condition) *siteDo {
return s.withDO(s.DO.Where(conds...))
}
func (s siteDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *siteDo {
return s.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
}
func (s siteDo) Order(conds ...field.Expr) *siteDo {
return s.withDO(s.DO.Order(conds...))
}
func (s siteDo) Distinct(cols ...field.Expr) *siteDo {
return s.withDO(s.DO.Distinct(cols...))
}
func (s siteDo) Omit(cols ...field.Expr) *siteDo {
return s.withDO(s.DO.Omit(cols...))
}
func (s siteDo) Join(table schema.Tabler, on ...field.Expr) *siteDo {
return s.withDO(s.DO.Join(table, on...))
}
func (s siteDo) LeftJoin(table schema.Tabler, on ...field.Expr) *siteDo {
return s.withDO(s.DO.LeftJoin(table, on...))
}
func (s siteDo) RightJoin(table schema.Tabler, on ...field.Expr) *siteDo {
return s.withDO(s.DO.RightJoin(table, on...))
}
func (s siteDo) Group(cols ...field.Expr) *siteDo {
return s.withDO(s.DO.Group(cols...))
}
func (s siteDo) Having(conds ...gen.Condition) *siteDo {
return s.withDO(s.DO.Having(conds...))
}
func (s siteDo) Limit(limit int) *siteDo {
return s.withDO(s.DO.Limit(limit))
}
func (s siteDo) Offset(offset int) *siteDo {
return s.withDO(s.DO.Offset(offset))
}
func (s siteDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *siteDo {
return s.withDO(s.DO.Scopes(funcs...))
}
func (s siteDo) Unscoped() *siteDo {
return s.withDO(s.DO.Unscoped())
}
func (s siteDo) Create(values ...*model.Site) error {
if len(values) == 0 {
return nil
}
return s.DO.Create(values)
}
func (s siteDo) CreateInBatches(values []*model.Site, batchSize int) error {
return s.DO.CreateInBatches(values, batchSize)
}
// Save : !!! underlying implementation is different with GORM
// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
func (s siteDo) Save(values ...*model.Site) error {
if len(values) == 0 {
return nil
}
return s.DO.Save(values)
}
func (s siteDo) First() (*model.Site, error) {
if result, err := s.DO.First(); err != nil {
return nil, err
} else {
return result.(*model.Site), nil
}
}
func (s siteDo) Take() (*model.Site, error) {
if result, err := s.DO.Take(); err != nil {
return nil, err
} else {
return result.(*model.Site), nil
}
}
func (s siteDo) Last() (*model.Site, error) {
if result, err := s.DO.Last(); err != nil {
return nil, err
} else {
return result.(*model.Site), nil
}
}
func (s siteDo) Find() ([]*model.Site, error) {
result, err := s.DO.Find()
return result.([]*model.Site), err
}
func (s siteDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Site, err error) {
buf := make([]*model.Site, 0, batchSize)
err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
defer func() { results = append(results, buf...) }()
return fc(tx, batch)
})
return results, err
}
func (s siteDo) FindInBatches(result *[]*model.Site, batchSize int, fc func(tx gen.Dao, batch int) error) error {
return s.DO.FindInBatches(result, batchSize, fc)
}
func (s siteDo) Attrs(attrs ...field.AssignExpr) *siteDo {
return s.withDO(s.DO.Attrs(attrs...))
}
func (s siteDo) Assign(attrs ...field.AssignExpr) *siteDo {
return s.withDO(s.DO.Assign(attrs...))
}
func (s siteDo) Joins(fields ...field.RelationField) *siteDo {
for _, _f := range fields {
s = *s.withDO(s.DO.Joins(_f))
}
return &s
}
func (s siteDo) Preload(fields ...field.RelationField) *siteDo {
for _, _f := range fields {
s = *s.withDO(s.DO.Preload(_f))
}
return &s
}
func (s siteDo) FirstOrInit() (*model.Site, error) {
if result, err := s.DO.FirstOrInit(); err != nil {
return nil, err
} else {
return result.(*model.Site), nil
}
}
func (s siteDo) FirstOrCreate() (*model.Site, error) {
if result, err := s.DO.FirstOrCreate(); err != nil {
return nil, err
} else {
return result.(*model.Site), nil
}
}
func (s siteDo) FindByPage(offset int, limit int) (result []*model.Site, count int64, err error) {
result, err = s.Offset(offset).Limit(limit).Find()
if err != nil {
return
}
if size := len(result); 0 < limit && 0 < size && size < limit {
count = int64(size + offset)
return
}
count, err = s.Offset(-1).Limit(-1).Count()
return
}
func (s siteDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
count, err = s.Count()
if err != nil {
return
}
err = s.Offset(offset).Limit(limit).Scan(result)
return
}
func (s siteDo) Scan(result interface{}) (err error) {
return s.DO.Scan(result)
}
func (s siteDo) Delete(models ...*model.Site) (result gen.ResultInfo, err error) {
return s.DO.Delete(models)
}
func (s *siteDo) withDO(do gen.Dao) *siteDo {
s.DO = *do.(*gen.DO)
return s
}