recommender/internal/dao/gen.go

160 lines
4.0 KiB
Go
Raw Normal View History

2024-11-06 10:47:56 +00:00
// 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 dao
import (
"context"
"database/sql"
"gorm.io/gorm"
"gorm.io/gen"
"gorm.io/plugin/dbresolver"
)
var (
2024-11-07 10:09:13 +00:00
Q = new(Query)
Application *application
ApplicationToken *applicationToken
Post *post
PostTag *postTag
Tag *tag
TagMapping *tagMapping
UserLike *userLike
UserTagScore *userTagScore
2024-11-06 10:47:56 +00:00
)
func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
*Q = *Use(db, opts...)
2024-11-07 10:09:13 +00:00
Application = &Q.Application
ApplicationToken = &Q.ApplicationToken
Post = &Q.Post
PostTag = &Q.PostTag
Tag = &Q.Tag
TagMapping = &Q.TagMapping
UserLike = &Q.UserLike
UserTagScore = &Q.UserTagScore
2024-11-06 10:47:56 +00:00
}
func Use(db *gorm.DB, opts ...gen.DOOption) *Query {
return &Query{
2024-11-07 10:09:13 +00:00
db: db,
Application: newApplication(db, opts...),
ApplicationToken: newApplicationToken(db, opts...),
Post: newPost(db, opts...),
PostTag: newPostTag(db, opts...),
Tag: newTag(db, opts...),
TagMapping: newTagMapping(db, opts...),
UserLike: newUserLike(db, opts...),
UserTagScore: newUserTagScore(db, opts...),
2024-11-06 10:47:56 +00:00
}
}
type Query struct {
db *gorm.DB
2024-11-07 10:09:13 +00:00
Application application
ApplicationToken applicationToken
Post post
PostTag postTag
Tag tag
TagMapping tagMapping
UserLike userLike
UserTagScore userTagScore
2024-11-06 10:47:56 +00:00
}
func (q *Query) Available() bool { return q.db != nil }
func (q *Query) clone(db *gorm.DB) *Query {
return &Query{
2024-11-07 10:09:13 +00:00
db: db,
Application: q.Application.clone(db),
ApplicationToken: q.ApplicationToken.clone(db),
Post: q.Post.clone(db),
PostTag: q.PostTag.clone(db),
Tag: q.Tag.clone(db),
TagMapping: q.TagMapping.clone(db),
UserLike: q.UserLike.clone(db),
UserTagScore: q.UserTagScore.clone(db),
2024-11-06 10:47:56 +00:00
}
}
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{
2024-11-07 10:09:13 +00:00
db: db,
Application: q.Application.replaceDB(db),
ApplicationToken: q.ApplicationToken.replaceDB(db),
Post: q.Post.replaceDB(db),
PostTag: q.PostTag.replaceDB(db),
Tag: q.Tag.replaceDB(db),
TagMapping: q.TagMapping.replaceDB(db),
UserLike: q.UserLike.replaceDB(db),
UserTagScore: q.UserTagScore.replaceDB(db),
2024-11-06 10:47:56 +00:00
}
}
type queryCtx struct {
2024-11-07 10:09:13 +00:00
Application IApplicationDo
ApplicationToken IApplicationTokenDo
Post IPostDo
PostTag IPostTagDo
Tag ITagDo
TagMapping ITagMappingDo
UserLike IUserLikeDo
UserTagScore IUserTagScoreDo
2024-11-06 10:47:56 +00:00
}
func (q *Query) WithContext(ctx context.Context) *queryCtx {
return &queryCtx{
2024-11-07 10:09:13 +00:00
Application: q.Application.WithContext(ctx),
ApplicationToken: q.ApplicationToken.WithContext(ctx),
Post: q.Post.WithContext(ctx),
PostTag: q.PostTag.WithContext(ctx),
Tag: q.Tag.WithContext(ctx),
TagMapping: q.TagMapping.WithContext(ctx),
UserLike: q.UserLike.WithContext(ctx),
UserTagScore: q.UserTagScore.WithContext(ctx),
2024-11-06 10:47:56 +00:00
}
}
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
}