users.gen.go 9.3 KB

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