sites.gen.go 11 KB

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