sites.gen.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  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.EnvGroupID = field.NewUint64(tableName, "env_group_id")
  29. _site.SyncNodeIDs = field.NewField(tableName, "sync_node_ids")
  30. _site.EnvGroup = siteBelongsToEnvGroup{
  31. db: db.Session(&gorm.Session{}),
  32. RelationField: field.NewRelation("EnvGroup", "model.EnvGroup"),
  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. EnvGroupID field.Uint64
  47. SyncNodeIDs field.Field
  48. EnvGroup siteBelongsToEnvGroup
  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.EnvGroupID = field.NewUint64(table, "env_group_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["env_group_id"] = s.EnvGroupID
  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. s.EnvGroup.db = db.Session(&gorm.Session{Initialized: true})
  94. s.EnvGroup.db.Statement.ConnPool = db.Statement.ConnPool
  95. return s
  96. }
  97. func (s site) replaceDB(db *gorm.DB) site {
  98. s.siteDo.ReplaceDB(db)
  99. s.EnvGroup.db = db.Session(&gorm.Session{})
  100. return s
  101. }
  102. type siteBelongsToEnvGroup struct {
  103. db *gorm.DB
  104. field.RelationField
  105. }
  106. func (a siteBelongsToEnvGroup) Where(conds ...field.Expr) *siteBelongsToEnvGroup {
  107. if len(conds) == 0 {
  108. return &a
  109. }
  110. exprs := make([]clause.Expression, 0, len(conds))
  111. for _, cond := range conds {
  112. exprs = append(exprs, cond.BeCond().(clause.Expression))
  113. }
  114. a.db = a.db.Clauses(clause.Where{Exprs: exprs})
  115. return &a
  116. }
  117. func (a siteBelongsToEnvGroup) WithContext(ctx context.Context) *siteBelongsToEnvGroup {
  118. a.db = a.db.WithContext(ctx)
  119. return &a
  120. }
  121. func (a siteBelongsToEnvGroup) Session(session *gorm.Session) *siteBelongsToEnvGroup {
  122. a.db = a.db.Session(session)
  123. return &a
  124. }
  125. func (a siteBelongsToEnvGroup) Model(m *model.Site) *siteBelongsToEnvGroupTx {
  126. return &siteBelongsToEnvGroupTx{a.db.Model(m).Association(a.Name())}
  127. }
  128. func (a siteBelongsToEnvGroup) Unscoped() *siteBelongsToEnvGroup {
  129. a.db = a.db.Unscoped()
  130. return &a
  131. }
  132. type siteBelongsToEnvGroupTx struct{ tx *gorm.Association }
  133. func (a siteBelongsToEnvGroupTx) Find() (result *model.EnvGroup, err error) {
  134. return result, a.tx.Find(&result)
  135. }
  136. func (a siteBelongsToEnvGroupTx) Append(values ...*model.EnvGroup) (err error) {
  137. targetValues := make([]interface{}, len(values))
  138. for i, v := range values {
  139. targetValues[i] = v
  140. }
  141. return a.tx.Append(targetValues...)
  142. }
  143. func (a siteBelongsToEnvGroupTx) Replace(values ...*model.EnvGroup) (err error) {
  144. targetValues := make([]interface{}, len(values))
  145. for i, v := range values {
  146. targetValues[i] = v
  147. }
  148. return a.tx.Replace(targetValues...)
  149. }
  150. func (a siteBelongsToEnvGroupTx) Delete(values ...*model.EnvGroup) (err error) {
  151. targetValues := make([]interface{}, len(values))
  152. for i, v := range values {
  153. targetValues[i] = v
  154. }
  155. return a.tx.Delete(targetValues...)
  156. }
  157. func (a siteBelongsToEnvGroupTx) Clear() error {
  158. return a.tx.Clear()
  159. }
  160. func (a siteBelongsToEnvGroupTx) Count() int64 {
  161. return a.tx.Count()
  162. }
  163. func (a siteBelongsToEnvGroupTx) Unscoped() *siteBelongsToEnvGroupTx {
  164. a.tx = a.tx.Unscoped()
  165. return &a
  166. }
  167. type siteDo struct{ gen.DO }
  168. // FirstByID Where("id=@id")
  169. func (s siteDo) FirstByID(id uint64) (result *model.Site, err error) {
  170. var params []interface{}
  171. var generateSQL strings.Builder
  172. params = append(params, id)
  173. generateSQL.WriteString("id=? ")
  174. var executeSQL *gorm.DB
  175. executeSQL = s.UnderlyingDB().Where(generateSQL.String(), params...).Take(&result) // ignore_security_alert
  176. err = executeSQL.Error
  177. return
  178. }
  179. // DeleteByID update @@table set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=@id
  180. func (s siteDo) DeleteByID(id uint64) (err error) {
  181. var params []interface{}
  182. var generateSQL strings.Builder
  183. params = append(params, id)
  184. generateSQL.WriteString("update sites set deleted_at=strftime('%Y-%m-%d %H:%M:%S','now') where id=? ")
  185. var executeSQL *gorm.DB
  186. executeSQL = s.UnderlyingDB().Exec(generateSQL.String(), params...) // ignore_security_alert
  187. err = executeSQL.Error
  188. return
  189. }
  190. func (s siteDo) Debug() *siteDo {
  191. return s.withDO(s.DO.Debug())
  192. }
  193. func (s siteDo) WithContext(ctx context.Context) *siteDo {
  194. return s.withDO(s.DO.WithContext(ctx))
  195. }
  196. func (s siteDo) ReadDB() *siteDo {
  197. return s.Clauses(dbresolver.Read)
  198. }
  199. func (s siteDo) WriteDB() *siteDo {
  200. return s.Clauses(dbresolver.Write)
  201. }
  202. func (s siteDo) Session(config *gorm.Session) *siteDo {
  203. return s.withDO(s.DO.Session(config))
  204. }
  205. func (s siteDo) Clauses(conds ...clause.Expression) *siteDo {
  206. return s.withDO(s.DO.Clauses(conds...))
  207. }
  208. func (s siteDo) Returning(value interface{}, columns ...string) *siteDo {
  209. return s.withDO(s.DO.Returning(value, columns...))
  210. }
  211. func (s siteDo) Not(conds ...gen.Condition) *siteDo {
  212. return s.withDO(s.DO.Not(conds...))
  213. }
  214. func (s siteDo) Or(conds ...gen.Condition) *siteDo {
  215. return s.withDO(s.DO.Or(conds...))
  216. }
  217. func (s siteDo) Select(conds ...field.Expr) *siteDo {
  218. return s.withDO(s.DO.Select(conds...))
  219. }
  220. func (s siteDo) Where(conds ...gen.Condition) *siteDo {
  221. return s.withDO(s.DO.Where(conds...))
  222. }
  223. func (s siteDo) Order(conds ...field.Expr) *siteDo {
  224. return s.withDO(s.DO.Order(conds...))
  225. }
  226. func (s siteDo) Distinct(cols ...field.Expr) *siteDo {
  227. return s.withDO(s.DO.Distinct(cols...))
  228. }
  229. func (s siteDo) Omit(cols ...field.Expr) *siteDo {
  230. return s.withDO(s.DO.Omit(cols...))
  231. }
  232. func (s siteDo) Join(table schema.Tabler, on ...field.Expr) *siteDo {
  233. return s.withDO(s.DO.Join(table, on...))
  234. }
  235. func (s siteDo) LeftJoin(table schema.Tabler, on ...field.Expr) *siteDo {
  236. return s.withDO(s.DO.LeftJoin(table, on...))
  237. }
  238. func (s siteDo) RightJoin(table schema.Tabler, on ...field.Expr) *siteDo {
  239. return s.withDO(s.DO.RightJoin(table, on...))
  240. }
  241. func (s siteDo) Group(cols ...field.Expr) *siteDo {
  242. return s.withDO(s.DO.Group(cols...))
  243. }
  244. func (s siteDo) Having(conds ...gen.Condition) *siteDo {
  245. return s.withDO(s.DO.Having(conds...))
  246. }
  247. func (s siteDo) Limit(limit int) *siteDo {
  248. return s.withDO(s.DO.Limit(limit))
  249. }
  250. func (s siteDo) Offset(offset int) *siteDo {
  251. return s.withDO(s.DO.Offset(offset))
  252. }
  253. func (s siteDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *siteDo {
  254. return s.withDO(s.DO.Scopes(funcs...))
  255. }
  256. func (s siteDo) Unscoped() *siteDo {
  257. return s.withDO(s.DO.Unscoped())
  258. }
  259. func (s siteDo) Create(values ...*model.Site) error {
  260. if len(values) == 0 {
  261. return nil
  262. }
  263. return s.DO.Create(values)
  264. }
  265. func (s siteDo) CreateInBatches(values []*model.Site, batchSize int) error {
  266. return s.DO.CreateInBatches(values, batchSize)
  267. }
  268. // Save : !!! underlying implementation is different with GORM
  269. // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
  270. func (s siteDo) Save(values ...*model.Site) error {
  271. if len(values) == 0 {
  272. return nil
  273. }
  274. return s.DO.Save(values)
  275. }
  276. func (s siteDo) First() (*model.Site, error) {
  277. if result, err := s.DO.First(); err != nil {
  278. return nil, err
  279. } else {
  280. return result.(*model.Site), nil
  281. }
  282. }
  283. func (s siteDo) Take() (*model.Site, error) {
  284. if result, err := s.DO.Take(); err != nil {
  285. return nil, err
  286. } else {
  287. return result.(*model.Site), nil
  288. }
  289. }
  290. func (s siteDo) Last() (*model.Site, error) {
  291. if result, err := s.DO.Last(); err != nil {
  292. return nil, err
  293. } else {
  294. return result.(*model.Site), nil
  295. }
  296. }
  297. func (s siteDo) Find() ([]*model.Site, error) {
  298. result, err := s.DO.Find()
  299. return result.([]*model.Site), err
  300. }
  301. func (s siteDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Site, err error) {
  302. buf := make([]*model.Site, 0, batchSize)
  303. err = s.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
  304. defer func() { results = append(results, buf...) }()
  305. return fc(tx, batch)
  306. })
  307. return results, err
  308. }
  309. func (s siteDo) FindInBatches(result *[]*model.Site, batchSize int, fc func(tx gen.Dao, batch int) error) error {
  310. return s.DO.FindInBatches(result, batchSize, fc)
  311. }
  312. func (s siteDo) Attrs(attrs ...field.AssignExpr) *siteDo {
  313. return s.withDO(s.DO.Attrs(attrs...))
  314. }
  315. func (s siteDo) Assign(attrs ...field.AssignExpr) *siteDo {
  316. return s.withDO(s.DO.Assign(attrs...))
  317. }
  318. func (s siteDo) Joins(fields ...field.RelationField) *siteDo {
  319. for _, _f := range fields {
  320. s = *s.withDO(s.DO.Joins(_f))
  321. }
  322. return &s
  323. }
  324. func (s siteDo) Preload(fields ...field.RelationField) *siteDo {
  325. for _, _f := range fields {
  326. s = *s.withDO(s.DO.Preload(_f))
  327. }
  328. return &s
  329. }
  330. func (s siteDo) FirstOrInit() (*model.Site, error) {
  331. if result, err := s.DO.FirstOrInit(); err != nil {
  332. return nil, err
  333. } else {
  334. return result.(*model.Site), nil
  335. }
  336. }
  337. func (s siteDo) FirstOrCreate() (*model.Site, error) {
  338. if result, err := s.DO.FirstOrCreate(); err != nil {
  339. return nil, err
  340. } else {
  341. return result.(*model.Site), nil
  342. }
  343. }
  344. func (s siteDo) FindByPage(offset int, limit int) (result []*model.Site, count int64, err error) {
  345. result, err = s.Offset(offset).Limit(limit).Find()
  346. if err != nil {
  347. return
  348. }
  349. if size := len(result); 0 < limit && 0 < size && size < limit {
  350. count = int64(size + offset)
  351. return
  352. }
  353. count, err = s.Offset(-1).Limit(-1).Count()
  354. return
  355. }
  356. func (s siteDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
  357. count, err = s.Count()
  358. if err != nil {
  359. return
  360. }
  361. err = s.Offset(offset).Limit(limit).Scan(result)
  362. return
  363. }
  364. func (s siteDo) Scan(result interface{}) (err error) {
  365. return s.DO.Scan(result)
  366. }
  367. func (s siteDo) Delete(models ...*model.Site) (result gen.ResultInfo, err error) {
  368. return s.DO.Delete(models)
  369. }
  370. func (s *siteDo) withDO(do gen.Dao) *siteDo {
  371. s.DO = *do.(*gen.DO)
  372. return s
  373. }