1
0

ban_ips.gen.go 8.4 KB

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