You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sonic/dal/gen.go

248 lines
7.4 KiB
Go

// 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 dal
import (
"context"
"database/sql"
"gorm.io/gorm"
"gorm.io/gen"
"gorm.io/plugin/dbresolver"
)
var (
Q = new(Query)
ApplicationPassword *applicationPassword
Attachment *attachment
Category *category
Comment *comment
CommentBlack *commentBlack
Journal *journal
Link *link
Log *log
Menu *menu
Meta *meta
Option *option
Photo *photo
Post *post
PostCategory *postCategory
PostTag *postTag
ScrapPage *scrapPage
Tag *tag
ThemeSetting *themeSetting
User *user
)
func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
*Q = *Use(db, opts...)
ApplicationPassword = &Q.ApplicationPassword
Attachment = &Q.Attachment
Category = &Q.Category
Comment = &Q.Comment
CommentBlack = &Q.CommentBlack
Journal = &Q.Journal
Link = &Q.Link
Log = &Q.Log
Menu = &Q.Menu
Meta = &Q.Meta
Option = &Q.Option
Photo = &Q.Photo
Post = &Q.Post
PostCategory = &Q.PostCategory
PostTag = &Q.PostTag
ScrapPage = &Q.ScrapPage
Tag = &Q.Tag
ThemeSetting = &Q.ThemeSetting
User = &Q.User
}
func Use(db *gorm.DB, opts ...gen.DOOption) *Query {
return &Query{
db: db,
ApplicationPassword: newApplicationPassword(db, opts...),
Attachment: newAttachment(db, opts...),
Category: newCategory(db, opts...),
Comment: newComment(db, opts...),
CommentBlack: newCommentBlack(db, opts...),
Journal: newJournal(db, opts...),
Link: newLink(db, opts...),
Log: newLog(db, opts...),
Menu: newMenu(db, opts...),
Meta: newMeta(db, opts...),
Option: newOption(db, opts...),
Photo: newPhoto(db, opts...),
Post: newPost(db, opts...),
PostCategory: newPostCategory(db, opts...),
PostTag: newPostTag(db, opts...),
ScrapPage: newScrapPage(db, opts...),
Tag: newTag(db, opts...),
ThemeSetting: newThemeSetting(db, opts...),
User: newUser(db, opts...),
}
}
type Query struct {
db *gorm.DB
ApplicationPassword applicationPassword
Attachment attachment
Category category
Comment comment
CommentBlack commentBlack
Journal journal
Link link
Log log
Menu menu
Meta meta
Option option
Photo photo
Post post
PostCategory postCategory
PostTag postTag
ScrapPage scrapPage
Tag tag
ThemeSetting themeSetting
User user
}
func (q *Query) Available() bool { return q.db != nil }
func (q *Query) clone(db *gorm.DB) *Query {
return &Query{
db: db,
ApplicationPassword: q.ApplicationPassword.clone(db),
Attachment: q.Attachment.clone(db),
Category: q.Category.clone(db),
Comment: q.Comment.clone(db),
CommentBlack: q.CommentBlack.clone(db),
Journal: q.Journal.clone(db),
Link: q.Link.clone(db),
Log: q.Log.clone(db),
Menu: q.Menu.clone(db),
Meta: q.Meta.clone(db),
Option: q.Option.clone(db),
Photo: q.Photo.clone(db),
Post: q.Post.clone(db),
PostCategory: q.PostCategory.clone(db),
PostTag: q.PostTag.clone(db),
ScrapPage: q.ScrapPage.clone(db),
Tag: q.Tag.clone(db),
ThemeSetting: q.ThemeSetting.clone(db),
User: q.User.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,
ApplicationPassword: q.ApplicationPassword.replaceDB(db),
Attachment: q.Attachment.replaceDB(db),
Category: q.Category.replaceDB(db),
Comment: q.Comment.replaceDB(db),
CommentBlack: q.CommentBlack.replaceDB(db),
Journal: q.Journal.replaceDB(db),
Link: q.Link.replaceDB(db),
Log: q.Log.replaceDB(db),
Menu: q.Menu.replaceDB(db),
Meta: q.Meta.replaceDB(db),
Option: q.Option.replaceDB(db),
Photo: q.Photo.replaceDB(db),
Post: q.Post.replaceDB(db),
PostCategory: q.PostCategory.replaceDB(db),
PostTag: q.PostTag.replaceDB(db),
ScrapPage: q.ScrapPage.replaceDB(db),
Tag: q.Tag.replaceDB(db),
ThemeSetting: q.ThemeSetting.replaceDB(db),
User: q.User.replaceDB(db),
}
}
type queryCtx struct {
ApplicationPassword *applicationPasswordDo
Attachment *attachmentDo
Category *categoryDo
Comment *commentDo
CommentBlack *commentBlackDo
Journal *journalDo
Link *linkDo
Log *logDo
Menu *menuDo
Meta *metaDo
Option *optionDo
Photo *photoDo
Post *postDo
PostCategory *postCategoryDo
PostTag *postTagDo
ScrapPage *scrapPageDo
Tag *tagDo
ThemeSetting *themeSettingDo
User *userDo
}
func (q *Query) WithContext(ctx context.Context) *queryCtx {
return &queryCtx{
ApplicationPassword: q.ApplicationPassword.WithContext(ctx),
Attachment: q.Attachment.WithContext(ctx),
Category: q.Category.WithContext(ctx),
Comment: q.Comment.WithContext(ctx),
CommentBlack: q.CommentBlack.WithContext(ctx),
Journal: q.Journal.WithContext(ctx),
Link: q.Link.WithContext(ctx),
Log: q.Log.WithContext(ctx),
Menu: q.Menu.WithContext(ctx),
Meta: q.Meta.WithContext(ctx),
Option: q.Option.WithContext(ctx),
Photo: q.Photo.WithContext(ctx),
Post: q.Post.WithContext(ctx),
PostCategory: q.PostCategory.WithContext(ctx),
PostTag: q.PostTag.WithContext(ctx),
ScrapPage: q.ScrapPage.WithContext(ctx),
Tag: q.Tag.WithContext(ctx),
ThemeSetting: q.ThemeSetting.WithContext(ctx),
User: q.User.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
}