sites.gen.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  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. "strings"
  8. "gorm.io/gorm"
  9. "gorm.io/gorm/clause"
  10. "gorm.io/gorm/schema"
  11. "gorm.io/gen"
  12. "gorm.io/gen/field"
  13. "gorm.io/plugin/dbresolver"
  14. "github.com/0xJacky/Nginx-UI/model"
  15. )
  16. func newSite(db *gorm.DB, opts ...gen.DOOption) site {
  17. _site := site{}
  18. _site.siteDo.UseDB(db, opts...)
  19. _site.siteDo.UseModel(&model.Site{})
  20. tableName := _site.siteDo.TableName()
  21. _site.ALL = field.NewAsterisk(tableName)
  22. _site.ID = field.NewUint64(tableName, "id")
  23. _site.CreatedAt = field.NewTime(tableName, "created_at")
  24. _site.UpdatedAt = field.NewTime(tableName, "updated_at")
  25. _site.DeletedAt = field.NewField(tableName, "deleted_at")
  26. _site.Path = field.NewString(tableName, "path")
  27. _site.Advanced = field.NewBool(tableName, "advanced")
  28. _site.SiteCategoryID = field.NewUint64(tableName, "site_category_id")
  29. _site.SyncNodeIDs = field.NewField(tableName, "sync_node_ids")
  30. _site.SiteCategory = siteBelongsToSiteCategory{
  31. db: db.Session(&gorm.Session{}),
  32. RelationField: field.NewRelation("SiteCategory", "model.SiteCategory"),
  33. }
  34. _site.fillFieldMap()
  35. return _site
  36. }
  37. type site struct {
  38. siteDo
  39. ALL field.Asterisk
  40. ID field.Uint64
  41. CreatedAt field.Time
  42. UpdatedAt field.Time
  43. DeletedAt field.Field
  44. Path field.String
  45. Advanced field.Bool
  46. SiteCategoryID field.Uint64
  47. SyncNodeIDs field.Field
  48. SiteCategory siteBelongsToSiteCategory
  49. fieldMap map[string]field.Expr
  50. }
  51. func (s site) Table(newTableName string) *site {
  52. s.siteDo.UseTable(newTableName)
  53. return s.updateTableName(newTableName)
  54. }
  55. func (s site) As(alias string) *site {
  56. s.siteDo.DO = *(s.siteDo.As(alias).(*gen.DO))
  57. return s.updateTableName(alias)
  58. }
  59. func (s *site) updateTableName(table string) *site {
  60. s.ALL = field.NewAsterisk(table)
  61. s.ID = field.NewUint64(table, "id")
  62. s.CreatedAt = field.NewTime(table, "created_at")
  63. s.UpdatedAt = field.NewTime(table, "updated_at")
  64. s.DeletedAt = field.NewField(table, "deleted_at")
  65. s.Path = field.NewString(table, "path")
  66. s.Advanced = field.NewBool(table, "advanced")
  67. s.SiteCategoryID = field.NewUint64(table, "site_category_id")
  68. s.SyncNodeIDs = field.NewField(table, "sync_node_ids")
  69. s.fillFieldMap()
  70. return s
  71. }
  72. func (s *site) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
  73. _f, ok := s.fieldMap[fieldName]
  74. if !ok || _f == nil {
  75. return nil, false
  76. }
  77. _oe, ok := _f.(field.OrderExpr)
  78. return _oe, ok
  79. }
  80. func (s *site) fillFieldMap() {
  81. s.fieldMap = make(map[string]field.Expr, 9)
  82. s.fieldMap["id"] = s.ID
  83. s.fieldMap["created_at"] = s.CreatedAt
  84. s.fieldMap["updated_at"] = s.UpdatedAt
  85. s.fieldMap["deleted_at"] = s.DeletedAt
  86. s.fieldMap["path"] = s.Path
  87. s.fieldMap["advanced"] = s.Advanced
  88. s.fieldMap["site_category_id"] = s.SiteCategoryID
  89. s.fieldMap["sync_node_ids"] = s.SyncNodeIDs
  90. }
  91. func (s site) clone(db *gorm.DB) site {
  92. s.siteDo.ReplaceConnPool(db.Statement.ConnPool)
  93. return s
  94. }
  95. func (s site) replaceDB(db *gorm.DB) site {
  96. s.siteDo.ReplaceDB(db)
  97. return s
  98. }
  99. type siteBelongsToSiteCategory struct {
  100. db *gorm.DB
  101. field.RelationField
  102. }
  103. func (a siteBelongsToSiteCategory) Where(conds ...field.Expr) *siteBelongsToSiteCategory {
  104. if len(conds) == 0 {
  105. return &a
  106. }
  107. exprs := make([]clause.Expression, 0, len(conds))
  108. for _, cond := range conds {
  109. exprs = append(exprs, cond.BeCond().(clause.Expression))
  110. }
  111. a.db = a.db.Clauses(clause.Where{Exprs: exprs})
  112. return &a
  113. }
  114. func (a siteBelongsToSiteCategory) WithContext(ctx context.Context) *siteBelongsToSiteCategory {
  115. a.db = a.db.WithContext(ctx)
  116. return &a
  117. }
  118. func (a siteBelongsToSiteCategory) Session(session *gorm.Session) *siteBelongsToSiteCategory {
  119. a.db = a.db.Session(session)
  120. return &a
  121. }
  122. func (a siteBelongsToSiteCategory) Model(m *model.Site) *siteBelongsToSiteCategoryTx {
  123. return &siteBelongsToSiteCategoryTx{a.db.Model(m).Association(a.Name())}
  124. }
  125. type siteBelongsToSiteCategoryTx struct{ tx *gorm.Association }
  126. func (a siteBelongsToSiteCategoryTx) Find() (result *model.SiteCategory, err error) {
  127. return result, a.tx.Find(&result)
  128. }
  129. func (a siteBelongsToSiteCategoryTx) Append(values ...*model.SiteCategory) (err error) {
  130. targetValues := make([]interface{}, len(values))
  131. for i, v := range values {
  132. targetValues[i] = v
  133. }
  134. return a.tx.Append(targetValues...)
  135. }
  136. func (a siteBelongsToSiteCategoryTx) Replace(values ...*model.SiteCategory) (err error) {
  137. targetValues := make([]interface{}, len(values))
  138. for i, v := range values {
  139. targetValues[i] = v
  140. }
  141. return a.tx.Replace(targetValues...)
  142. }
  143. func (a siteBelongsToSiteCategoryTx) Delete(values ...*model.SiteCategory) (err error) {
  144. targetValues := make([]interface{}, len(values))
  145. for i, v := range values {
  146. targetValues[i] = v
  147. }
  148. return a.tx.Delete(targetValues...)
  149. }
  150. func (a siteBelongsToSiteCategoryTx) Clear() error {
  151. return a.tx.Clear()
  152. }
  153. func (a siteBelongsToSiteCategoryTx) Count() int64 {
  154. return a.tx.Count()
  155. }
  156. type siteDo struct{ gen.DO }
  157. // FirstByID Where("id=@id")
  158. func (s siteDo) FirstByID(id uint64) (result *model.Site, err error) {
  159. var params []interface{}
  160. var generateSQL strings.Builder
  161. params = append(params, id)
  162. generateSQL.WriteString("id=? ")
  163. var executeSQL *gorm.DB
  164. executeSQL = s.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
  165. err = executeSQL.Error
  166. return
  167. }
  168. // DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
  169. func (s siteDo) DeleteByID(id uint64) (err error) {
  170. var params []interface{}
  171. var generateSQL strings.Builder
  172. params = append(params, id)
  173. generateSQL.WriteString("update sites set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
  174. var executeSQL *gorm.DB
  175. executeSQL = s.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
  176. err = executeSQL.Error
  177. return
  178. }
  179. func (s siteDo) Debug() *siteDo {
  180. return s.withDO(s.DO.Debug())
  181. }
  182. func (s siteDo) WithContext(ctx context.Context) *siteDo {
  183. return s.withDO(s.DO.WithContext(ctx))
  184. }
  185. func (s siteDo) ReadDB() *siteDo {
  186. return s.Clauses(dbresolver.Read)
  187. }
  188. func (s siteDo) WriteDB() *siteDo {
  189. return s.Clauses(dbresolver.Write)
  190. }
  191. func (s siteDo) Session(config *gorm.Session) *siteDo {
  192. return s.withDO(s.DO.Session(config))
  193. }
  194. func (s siteDo) Clauses(conds ...clause.Expression) *siteDo {
  195. return s.withDO(s.DO.Clauses(conds...))
  196. }
  197. func (s siteDo) Returning(value interface{}, columns ...string) *siteDo {
  198. return s.withDO(s.DO.Returning(value, columns...))
  199. }
  200. func (s siteDo) Not(conds ...gen.Condition) *siteDo {
  201. return s.withDO(s.DO.Not(conds...))
  202. }
  203. func (s siteDo) Or(conds ...gen.Condition) *siteDo {
  204. return s.withDO(s.DO.Or(conds...))
  205. }
  206. func (s siteDo) Select(conds ...field.Expr) *siteDo {
  207. return s.withDO(s.DO.Select(conds...))
  208. }
  209. func (s siteDo) Where(conds ...gen.Condition) *siteDo {
  210. return s.withDO(s.DO.Where(conds...))
  211. }
  212. func (s siteDo) Order(conds ...field.Expr) *siteDo {
  213. return s.withDO(s.DO.Order(conds...))
  214. }
  215. func (s siteDo) Distinct(cols ...field.Expr) *siteDo {
  216. return s.withDO(s.DO.Distinct(cols...))
  217. }
  218. func (s siteDo) Omit(cols ...field.Expr) *siteDo {
  219. return s.withDO(s.DO.Omit(cols...))
  220. }
  221. func (s siteDo) Join(table schema.Tabler, on ...field.Expr) *siteDo {
  222. return s.withDO(s.DO.Join(table, on...))
  223. }
  224. func (s siteDo) LeftJoin(table schema.Tabler, on ...field.Expr) *siteDo {
  225. return s.withDO(s.DO.LeftJoin(table, on...))
  226. }
  227. func (s siteDo) RightJoin(table schema.Tabler, on ...field.Expr) *siteDo {
  228. return s.withDO(s.DO.RightJoin(table, on...))
  229. }
  230. func (s siteDo) Group(cols ...field.Expr) *siteDo {
  231. return s.withDO(s.DO.Group(cols...))
  232. }
  233. func (s siteDo) Having(conds ...gen.Condition) *siteDo {
  234. return s.withDO(s.DO.Having(conds...))
  235. }
  236. func (s siteDo) Limit(limit int) *siteDo {
  237. return s.withDO(s.DO.Limit(limit))
  238. }
  239. func (s siteDo) Offset(offset int) *siteDo {
  240. return s.withDO(s.DO.Offset(offset))
  241. }
  242. func (s siteDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *siteDo {
  243. return s.withDO(s.DO.Scopes(funcs...))
  244. }
  245. func (s siteDo) Unscoped() *siteDo {
  246. return s.withDO(s.DO.Unscoped())
  247. }
  248. func (s siteDo) Create(values ...*model.Site) error {
  249. if len(values) == 0 {
  250. return nil
  251. }
  252. return s.DO.Create(values)
  253. }
  254. func (s siteDo) CreateInBatches(values []*model.Site, batchSize int) error {
  255. return s.DO.CreateInBatches(values, batchSize)
  256. }
  257. // Save : !!! underlying implementation is different with GORM
  258. // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
  259. func (s siteDo) Save(values ...*model.Site) error {
  260. if len(values) == 0 {
  261. return nil
  262. }
  263. return s.DO.Save(values)
  264. }
  265. func (s siteDo) First() (*model.Site, error) {
  266. if result, err := s.DO.First(); err != nil {
  267. return nil, err
  268. } else {
  269. return result.(*model.Site), nil
  270. }
  271. }
  272. func (s siteDo) Take() (*model.Site, error) {
  273. if result, err := s.DO.Take(); err != nil {
  274. return nil, err
  275. } else {
  276. return result.(*model.Site), nil
  277. }
  278. }
  279. func (s siteDo) Last() (*model.Site, error) {
  280. if result, err := s.DO.Last(); err != nil {
  281. return nil, err
  282. } else {
  283. return result.(*model.Site), nil
  284. }
  285. }
  286. func (s siteDo) Find() ([]*model.Site, error) {
  287. result, err := s.DO.Find()
  288. return result.([]*model.Site), err
  289. }
  290. func (s siteDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Site, err error) {
  291. buf := make([]*model.Site, 0, batchSize)
  292. err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
  293. defer func() { results = append(results, buf...) }()
  294. return fc(tx, batch)
  295. })
  296. return results, err
  297. }
  298. func (s siteDo) FindInBatches(result *[]*model.Site, batchSize int, fc func(tx gen.Dao, batch int) error) error {
  299. return s.DO.FindInBatches(result, batchSize, fc)
  300. }
  301. func (s siteDo) Attrs(attrs ...field.AssignExpr) *siteDo {
  302. return s.withDO(s.DO.Attrs(attrs...))
  303. }
  304. func (s siteDo) Assign(attrs ...field.AssignExpr) *siteDo {
  305. return s.withDO(s.DO.Assign(attrs...))
  306. }
  307. func (s siteDo) Joins(fields ...field.RelationField) *siteDo {
  308. for _, _f := range fields {
  309. s = *s.withDO(s.DO.Joins(_f))
  310. }
  311. return &s
  312. }
  313. func (s siteDo) Preload(fields ...field.RelationField) *siteDo {
  314. for _, _f := range fields {
  315. s = *s.withDO(s.DO.Preload(_f))
  316. }
  317. return &s
  318. }
  319. func (s siteDo) FirstOrInit() (*model.Site, error) {
  320. if result, err := s.DO.FirstOrInit(); err != nil {
  321. return nil, err
  322. } else {
  323. return result.(*model.Site), nil
  324. }
  325. }
  326. func (s siteDo) FirstOrCreate() (*model.Site, error) {
  327. if result, err := s.DO.FirstOrCreate(); err != nil {
  328. return nil, err
  329. } else {
  330. return result.(*model.Site), nil
  331. }
  332. }
  333. func (s siteDo) FindByPage(offset int, limit int) (result []*model.Site, count int64, err error) {
  334. result, err = s.Offset(offset).Limit(limit).Find()
  335. if err != nil {
  336. return
  337. }
  338. if size := len(result); 0 < limit && 0 < size && size < limit {
  339. count = int64(size + offset)
  340. return
  341. }
  342. count, err = s.Offset(-1).Limit(-1).Count()
  343. return
  344. }
  345. func (s siteDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
  346. count, err = s.Count()
  347. if err != nil {
  348. return
  349. }
  350. err = s.Offset(offset).Limit(limit).Scan(result)
  351. return
  352. }
  353. func (s siteDo) Scan(result interface{}) (err error) {
  354. return s.DO.Scan(result)
  355. }
  356. func (s siteDo) Delete(models ...*model.Site) (result gen.ResultInfo, err error) {
  357. return s.DO.Delete(models)
  358. }
  359. func (s *siteDo) withDO(do gen.Dao) *siteDo {
  360. s.DO = *do.(*gen.DO)
  361. return s
  362. }