gen.go 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. // Code generated by gorm.io/gen. DO NOT EDIT.
  2. // Code generated by gorm.io/gen. DO NOT EDIT.
  3. // Code generated by gorm.io/gen. DO NOT EDIT.
  4. package query
  5. import (
  6. "context"
  7. "database/sql"
  8. "gorm.io/gorm"
  9. "gorm.io/gen"
  10. "gorm.io/plugin/dbresolver"
  11. )
  12. var (
  13. Q = new(Query)
  14. AcmeUser *acmeUser
  15. AuthToken *authToken
  16. AutoBackup *autoBackup
  17. BanIP *banIP
  18. Cert *cert
  19. ChatGPTLog *chatGPTLog
  20. Config *config
  21. ConfigBackup *configBackup
  22. DnsCredential *dnsCredential
  23. EnvGroup *envGroup
  24. Environment *environment
  25. ExternalNotify *externalNotify
  26. Notification *notification
  27. Passkey *passkey
  28. Site *site
  29. Stream *stream
  30. User *user
  31. )
  32. func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
  33. *Q = *Use(db, opts...)
  34. AcmeUser = &Q.AcmeUser
  35. AuthToken = &Q.AuthToken
  36. AutoBackup = &Q.AutoBackup
  37. BanIP = &Q.BanIP
  38. Cert = &Q.Cert
  39. ChatGPTLog = &Q.ChatGPTLog
  40. Config = &Q.Config
  41. ConfigBackup = &Q.ConfigBackup
  42. DnsCredential = &Q.DnsCredential
  43. EnvGroup = &Q.EnvGroup
  44. Environment = &Q.Environment
  45. ExternalNotify = &Q.ExternalNotify
  46. Notification = &Q.Notification
  47. Passkey = &Q.Passkey
  48. Site = &Q.Site
  49. Stream = &Q.Stream
  50. User = &Q.User
  51. }
  52. func Use(db *gorm.DB, opts ...gen.DOOption) *Query {
  53. return &Query{
  54. db: db,
  55. AcmeUser: newAcmeUser(db, opts...),
  56. AuthToken: newAuthToken(db, opts...),
  57. AutoBackup: newAutoBackup(db, opts...),
  58. BanIP: newBanIP(db, opts...),
  59. Cert: newCert(db, opts...),
  60. ChatGPTLog: newChatGPTLog(db, opts...),
  61. Config: newConfig(db, opts...),
  62. ConfigBackup: newConfigBackup(db, opts...),
  63. DnsCredential: newDnsCredential(db, opts...),
  64. EnvGroup: newEnvGroup(db, opts...),
  65. Environment: newEnvironment(db, opts...),
  66. ExternalNotify: newExternalNotify(db, opts...),
  67. Notification: newNotification(db, opts...),
  68. Passkey: newPasskey(db, opts...),
  69. Site: newSite(db, opts...),
  70. Stream: newStream(db, opts...),
  71. User: newUser(db, opts...),
  72. }
  73. }
  74. type Query struct {
  75. db *gorm.DB
  76. AcmeUser acmeUser
  77. AuthToken authToken
  78. AutoBackup autoBackup
  79. BanIP banIP
  80. Cert cert
  81. ChatGPTLog chatGPTLog
  82. Config config
  83. ConfigBackup configBackup
  84. DnsCredential dnsCredential
  85. EnvGroup envGroup
  86. Environment environment
  87. ExternalNotify externalNotify
  88. Notification notification
  89. Passkey passkey
  90. Site site
  91. Stream stream
  92. User user
  93. }
  94. func (q *Query) Available() bool { return q.db != nil }
  95. func (q *Query) clone(db *gorm.DB) *Query {
  96. return &Query{
  97. db: db,
  98. AcmeUser: q.AcmeUser.clone(db),
  99. AuthToken: q.AuthToken.clone(db),
  100. AutoBackup: q.AutoBackup.clone(db),
  101. BanIP: q.BanIP.clone(db),
  102. Cert: q.Cert.clone(db),
  103. ChatGPTLog: q.ChatGPTLog.clone(db),
  104. Config: q.Config.clone(db),
  105. ConfigBackup: q.ConfigBackup.clone(db),
  106. DnsCredential: q.DnsCredential.clone(db),
  107. EnvGroup: q.EnvGroup.clone(db),
  108. Environment: q.Environment.clone(db),
  109. ExternalNotify: q.ExternalNotify.clone(db),
  110. Notification: q.Notification.clone(db),
  111. Passkey: q.Passkey.clone(db),
  112. Site: q.Site.clone(db),
  113. Stream: q.Stream.clone(db),
  114. User: q.User.clone(db),
  115. }
  116. }
  117. func (q *Query) ReadDB() *Query {
  118. return q.ReplaceDB(q.db.Clauses(dbresolver.Read))
  119. }
  120. func (q *Query) WriteDB() *Query {
  121. return q.ReplaceDB(q.db.Clauses(dbresolver.Write))
  122. }
  123. func (q *Query) ReplaceDB(db *gorm.DB) *Query {
  124. return &Query{
  125. db: db,
  126. AcmeUser: q.AcmeUser.replaceDB(db),
  127. AuthToken: q.AuthToken.replaceDB(db),
  128. AutoBackup: q.AutoBackup.replaceDB(db),
  129. BanIP: q.BanIP.replaceDB(db),
  130. Cert: q.Cert.replaceDB(db),
  131. ChatGPTLog: q.ChatGPTLog.replaceDB(db),
  132. Config: q.Config.replaceDB(db),
  133. ConfigBackup: q.ConfigBackup.replaceDB(db),
  134. DnsCredential: q.DnsCredential.replaceDB(db),
  135. EnvGroup: q.EnvGroup.replaceDB(db),
  136. Environment: q.Environment.replaceDB(db),
  137. ExternalNotify: q.ExternalNotify.replaceDB(db),
  138. Notification: q.Notification.replaceDB(db),
  139. Passkey: q.Passkey.replaceDB(db),
  140. Site: q.Site.replaceDB(db),
  141. Stream: q.Stream.replaceDB(db),
  142. User: q.User.replaceDB(db),
  143. }
  144. }
  145. type queryCtx struct {
  146. AcmeUser *acmeUserDo
  147. AuthToken *authTokenDo
  148. AutoBackup *autoBackupDo
  149. BanIP *banIPDo
  150. Cert *certDo
  151. ChatGPTLog *chatGPTLogDo
  152. Config *configDo
  153. ConfigBackup *configBackupDo
  154. DnsCredential *dnsCredentialDo
  155. EnvGroup *envGroupDo
  156. Environment *environmentDo
  157. ExternalNotify *externalNotifyDo
  158. Notification *notificationDo
  159. Passkey *passkeyDo
  160. Site *siteDo
  161. Stream *streamDo
  162. User *userDo
  163. }
  164. func (q *Query) WithContext(ctx context.Context) *queryCtx {
  165. return &queryCtx{
  166. AcmeUser: q.AcmeUser.WithContext(ctx),
  167. AuthToken: q.AuthToken.WithContext(ctx),
  168. AutoBackup: q.AutoBackup.WithContext(ctx),
  169. BanIP: q.BanIP.WithContext(ctx),
  170. Cert: q.Cert.WithContext(ctx),
  171. ChatGPTLog: q.ChatGPTLog.WithContext(ctx),
  172. Config: q.Config.WithContext(ctx),
  173. ConfigBackup: q.ConfigBackup.WithContext(ctx),
  174. DnsCredential: q.DnsCredential.WithContext(ctx),
  175. EnvGroup: q.EnvGroup.WithContext(ctx),
  176. Environment: q.Environment.WithContext(ctx),
  177. ExternalNotify: q.ExternalNotify.WithContext(ctx),
  178. Notification: q.Notification.WithContext(ctx),
  179. Passkey: q.Passkey.WithContext(ctx),
  180. Site: q.Site.WithContext(ctx),
  181. Stream: q.Stream.WithContext(ctx),
  182. User: q.User.WithContext(ctx),
  183. }
  184. }
  185. func (q *Query) Transaction(fc func(tx *Query) error, opts ...*sql.TxOptions) error {
  186. return q.db.Transaction(func(tx *gorm.DB) error { return fc(q.clone(tx)) }, opts...)
  187. }
  188. func (q *Query) Begin(opts ...*sql.TxOptions) *QueryTx {
  189. tx := q.db.Begin(opts...)
  190. return &QueryTx{Query: q.clone(tx), Error: tx.Error}
  191. }
  192. type QueryTx struct {
  193. *Query
  194. Error error
  195. }
  196. func (q *QueryTx) Commit() error {
  197. return q.db.Commit().Error
  198. }
  199. func (q *QueryTx) Rollback() error {
  200. return q.db.Rollback().Error
  201. }
  202. func (q *QueryTx) SavePoint(name string) error {
  203. return q.db.SavePoint(name).Error
  204. }
  205. func (q *QueryTx) RollbackTo(name string) error {
  206. return q.db.RollbackTo(name).Error
  207. }