menu.gen.go 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  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. "gorm.io/gorm"
  8. "gorm.io/gorm/clause"
  9. "gorm.io/gorm/schema"
  10. "gorm.io/gen"
  11. "gorm.io/gen/field"
  12. "gorm.io/plugin/dbresolver"
  13. "gadmin/internal/gorm/model"
  14. )
  15. func newMenu(db *gorm.DB, opts ...gen.DOOption) menu {
  16. _menu := menu{}
  17. _menu.menuDo.UseDB(db, opts...)
  18. _menu.menuDo.UseModel(&model.Menu{})
  19. tableName := _menu.menuDo.TableName()
  20. _menu.ALL = field.NewAsterisk(tableName)
  21. _menu.ID = field.NewInt64(tableName, "id")
  22. _menu.Environment = field.NewString(tableName, "environment")
  23. _menu.Pid = field.NewInt64(tableName, "pid")
  24. _menu.Title = field.NewString(tableName, "title")
  25. _menu.Name = field.NewString(tableName, "name")
  26. _menu.Path = field.NewString(tableName, "path")
  27. _menu.Icon = field.NewString(tableName, "icon")
  28. _menu.Type = field.NewBool(tableName, "type")
  29. _menu.Redirect = field.NewString(tableName, "redirect")
  30. _menu.Permissions = field.NewString(tableName, "permissions")
  31. _menu.PermissionName = field.NewString(tableName, "permission_name")
  32. _menu.Component = field.NewString(tableName, "component")
  33. _menu.AlwaysShow = field.NewBool(tableName, "always_show")
  34. _menu.ActiveMenu = field.NewString(tableName, "active_menu")
  35. _menu.IsRoot = field.NewBool(tableName, "is_root")
  36. _menu.IsFrame = field.NewBool(tableName, "is_frame")
  37. _menu.FrameSrc = field.NewString(tableName, "frame_src")
  38. _menu.KeepAlive = field.NewBool(tableName, "keep_alive")
  39. _menu.Hidden = field.NewBool(tableName, "hidden")
  40. _menu.Affix = field.NewBool(tableName, "affix")
  41. _menu.Level = field.NewInt32(tableName, "level")
  42. _menu.Tree = field.NewString(tableName, "tree")
  43. _menu.Sort = field.NewInt32(tableName, "sort")
  44. _menu.Remark = field.NewString(tableName, "remark")
  45. _menu.Status = field.NewBool(tableName, "status")
  46. _menu.CreatedAt = field.NewTime(tableName, "created_at")
  47. _menu.UpdatedAt = field.NewTime(tableName, "updated_at")
  48. _menu.fillFieldMap()
  49. return _menu
  50. }
  51. type menu struct {
  52. menuDo
  53. ALL field.Asterisk
  54. ID field.Int64 // 菜单ID
  55. Environment field.String // 环境
  56. Pid field.Int64 // 父菜单ID
  57. Title field.String // 菜单名称
  58. Name field.String // 名称编码
  59. Path field.String // 路由地址
  60. Icon field.String // 菜单图标
  61. Type field.Bool // 菜单类型(1目录 2菜单 3按钮)
  62. Redirect field.String // 重定向地址
  63. Permissions field.String // 菜单包含权限集合
  64. PermissionName field.String // 权限名称
  65. Component field.String // 组件路径
  66. AlwaysShow field.Bool // 取消自动计算根路由模式
  67. ActiveMenu field.String // 高亮菜单编码
  68. IsRoot field.Bool // 是否跟路由
  69. IsFrame field.Bool // 是否内嵌
  70. FrameSrc field.String // 内联外部地址
  71. KeepAlive field.Bool // 缓存该路由
  72. Hidden field.Bool // 是否隐藏
  73. Affix field.Bool // 是否固定
  74. Level field.Int32 // 级别
  75. Tree field.String // 树
  76. Sort field.Int32 // 排序
  77. Remark field.String // 备注
  78. Status field.Bool // 菜单状态
  79. CreatedAt field.Time // 创建时间
  80. UpdatedAt field.Time // 更新时间
  81. fieldMap map[string]field.Expr
  82. }
  83. func (m menu) Table(newTableName string) *menu {
  84. m.menuDo.UseTable(newTableName)
  85. return m.updateTableName(newTableName)
  86. }
  87. func (m menu) As(alias string) *menu {
  88. m.menuDo.DO = *(m.menuDo.As(alias).(*gen.DO))
  89. return m.updateTableName(alias)
  90. }
  91. func (m *menu) updateTableName(table string) *menu {
  92. m.ALL = field.NewAsterisk(table)
  93. m.ID = field.NewInt64(table, "id")
  94. m.Environment = field.NewString(table, "environment")
  95. m.Pid = field.NewInt64(table, "pid")
  96. m.Title = field.NewString(table, "title")
  97. m.Name = field.NewString(table, "name")
  98. m.Path = field.NewString(table, "path")
  99. m.Icon = field.NewString(table, "icon")
  100. m.Type = field.NewBool(table, "type")
  101. m.Redirect = field.NewString(table, "redirect")
  102. m.Permissions = field.NewString(table, "permissions")
  103. m.PermissionName = field.NewString(table, "permission_name")
  104. m.Component = field.NewString(table, "component")
  105. m.AlwaysShow = field.NewBool(table, "always_show")
  106. m.ActiveMenu = field.NewString(table, "active_menu")
  107. m.IsRoot = field.NewBool(table, "is_root")
  108. m.IsFrame = field.NewBool(table, "is_frame")
  109. m.FrameSrc = field.NewString(table, "frame_src")
  110. m.KeepAlive = field.NewBool(table, "keep_alive")
  111. m.Hidden = field.NewBool(table, "hidden")
  112. m.Affix = field.NewBool(table, "affix")
  113. m.Level = field.NewInt32(table, "level")
  114. m.Tree = field.NewString(table, "tree")
  115. m.Sort = field.NewInt32(table, "sort")
  116. m.Remark = field.NewString(table, "remark")
  117. m.Status = field.NewBool(table, "status")
  118. m.CreatedAt = field.NewTime(table, "created_at")
  119. m.UpdatedAt = field.NewTime(table, "updated_at")
  120. m.fillFieldMap()
  121. return m
  122. }
  123. func (m *menu) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
  124. _f, ok := m.fieldMap[fieldName]
  125. if !ok || _f == nil {
  126. return nil, false
  127. }
  128. _oe, ok := _f.(field.OrderExpr)
  129. return _oe, ok
  130. }
  131. func (m *menu) fillFieldMap() {
  132. m.fieldMap = make(map[string]field.Expr, 27)
  133. m.fieldMap["id"] = m.ID
  134. m.fieldMap["environment"] = m.Environment
  135. m.fieldMap["pid"] = m.Pid
  136. m.fieldMap["title"] = m.Title
  137. m.fieldMap["name"] = m.Name
  138. m.fieldMap["path"] = m.Path
  139. m.fieldMap["icon"] = m.Icon
  140. m.fieldMap["type"] = m.Type
  141. m.fieldMap["redirect"] = m.Redirect
  142. m.fieldMap["permissions"] = m.Permissions
  143. m.fieldMap["permission_name"] = m.PermissionName
  144. m.fieldMap["component"] = m.Component
  145. m.fieldMap["always_show"] = m.AlwaysShow
  146. m.fieldMap["active_menu"] = m.ActiveMenu
  147. m.fieldMap["is_root"] = m.IsRoot
  148. m.fieldMap["is_frame"] = m.IsFrame
  149. m.fieldMap["frame_src"] = m.FrameSrc
  150. m.fieldMap["keep_alive"] = m.KeepAlive
  151. m.fieldMap["hidden"] = m.Hidden
  152. m.fieldMap["affix"] = m.Affix
  153. m.fieldMap["level"] = m.Level
  154. m.fieldMap["tree"] = m.Tree
  155. m.fieldMap["sort"] = m.Sort
  156. m.fieldMap["remark"] = m.Remark
  157. m.fieldMap["status"] = m.Status
  158. m.fieldMap["created_at"] = m.CreatedAt
  159. m.fieldMap["updated_at"] = m.UpdatedAt
  160. }
  161. func (m menu) clone(db *gorm.DB) menu {
  162. m.menuDo.ReplaceConnPool(db.Statement.ConnPool)
  163. return m
  164. }
  165. func (m menu) replaceDB(db *gorm.DB) menu {
  166. m.menuDo.ReplaceDB(db)
  167. return m
  168. }
  169. type menuDo struct{ gen.DO }
  170. func (m menuDo) Debug() *menuDo {
  171. return m.withDO(m.DO.Debug())
  172. }
  173. func (m menuDo) WithContext(ctx context.Context) *menuDo {
  174. return m.withDO(m.DO.WithContext(ctx))
  175. }
  176. func (m menuDo) ReadDB() *menuDo {
  177. return m.Clauses(dbresolver.Read)
  178. }
  179. func (m menuDo) WriteDB() *menuDo {
  180. return m.Clauses(dbresolver.Write)
  181. }
  182. func (m menuDo) Session(config *gorm.Session) *menuDo {
  183. return m.withDO(m.DO.Session(config))
  184. }
  185. func (m menuDo) Clauses(conds ...clause.Expression) *menuDo {
  186. return m.withDO(m.DO.Clauses(conds...))
  187. }
  188. func (m menuDo) Returning(value interface{}, columns ...string) *menuDo {
  189. return m.withDO(m.DO.Returning(value, columns...))
  190. }
  191. func (m menuDo) Not(conds ...gen.Condition) *menuDo {
  192. return m.withDO(m.DO.Not(conds...))
  193. }
  194. func (m menuDo) Or(conds ...gen.Condition) *menuDo {
  195. return m.withDO(m.DO.Or(conds...))
  196. }
  197. func (m menuDo) Select(conds ...field.Expr) *menuDo {
  198. return m.withDO(m.DO.Select(conds...))
  199. }
  200. func (m menuDo) Where(conds ...gen.Condition) *menuDo {
  201. return m.withDO(m.DO.Where(conds...))
  202. }
  203. func (m menuDo) Exists(subquery interface{ UnderlyingDB() *gorm.DB }) *menuDo {
  204. return m.Where(field.CompareSubQuery(field.ExistsOp, nil, subquery.UnderlyingDB()))
  205. }
  206. func (m menuDo) Order(conds ...field.Expr) *menuDo {
  207. return m.withDO(m.DO.Order(conds...))
  208. }
  209. func (m menuDo) Distinct(cols ...field.Expr) *menuDo {
  210. return m.withDO(m.DO.Distinct(cols...))
  211. }
  212. func (m menuDo) Omit(cols ...field.Expr) *menuDo {
  213. return m.withDO(m.DO.Omit(cols...))
  214. }
  215. func (m menuDo) Join(table schema.Tabler, on ...field.Expr) *menuDo {
  216. return m.withDO(m.DO.Join(table, on...))
  217. }
  218. func (m menuDo) LeftJoin(table schema.Tabler, on ...field.Expr) *menuDo {
  219. return m.withDO(m.DO.LeftJoin(table, on...))
  220. }
  221. func (m menuDo) RightJoin(table schema.Tabler, on ...field.Expr) *menuDo {
  222. return m.withDO(m.DO.RightJoin(table, on...))
  223. }
  224. func (m menuDo) Group(cols ...field.Expr) *menuDo {
  225. return m.withDO(m.DO.Group(cols...))
  226. }
  227. func (m menuDo) Having(conds ...gen.Condition) *menuDo {
  228. return m.withDO(m.DO.Having(conds...))
  229. }
  230. func (m menuDo) Limit(limit int) *menuDo {
  231. return m.withDO(m.DO.Limit(limit))
  232. }
  233. func (m menuDo) Offset(offset int) *menuDo {
  234. return m.withDO(m.DO.Offset(offset))
  235. }
  236. func (m menuDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *menuDo {
  237. return m.withDO(m.DO.Scopes(funcs...))
  238. }
  239. func (m menuDo) Unscoped() *menuDo {
  240. return m.withDO(m.DO.Unscoped())
  241. }
  242. func (m menuDo) Create(values ...*model.Menu) error {
  243. if len(values) == 0 {
  244. return nil
  245. }
  246. return m.DO.Create(values)
  247. }
  248. func (m menuDo) CreateInBatches(values []*model.Menu, batchSize int) error {
  249. return m.DO.CreateInBatches(values, batchSize)
  250. }
  251. // Save : !!! underlying implementation is different with GORM
  252. // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
  253. func (m menuDo) Save(values ...*model.Menu) error {
  254. if len(values) == 0 {
  255. return nil
  256. }
  257. return m.DO.Save(values)
  258. }
  259. func (m menuDo) First() (*model.Menu, error) {
  260. if result, err := m.DO.First(); err != nil {
  261. return nil, err
  262. } else {
  263. return result.(*model.Menu), nil
  264. }
  265. }
  266. func (m menuDo) Take() (*model.Menu, error) {
  267. if result, err := m.DO.Take(); err != nil {
  268. return nil, err
  269. } else {
  270. return result.(*model.Menu), nil
  271. }
  272. }
  273. func (m menuDo) Last() (*model.Menu, error) {
  274. if result, err := m.DO.Last(); err != nil {
  275. return nil, err
  276. } else {
  277. return result.(*model.Menu), nil
  278. }
  279. }
  280. func (m menuDo) Find() ([]*model.Menu, error) {
  281. result, err := m.DO.Find()
  282. return result.([]*model.Menu), err
  283. }
  284. func (m menuDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.Menu, err error) {
  285. buf := make([]*model.Menu, 0, batchSize)
  286. err = m.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
  287. defer func() { results = append(results, buf...) }()
  288. return fc(tx, batch)
  289. })
  290. return results, err
  291. }
  292. func (m menuDo) FindInBatches(result *[]*model.Menu, batchSize int, fc func(tx gen.Dao, batch int) error) error {
  293. return m.DO.FindInBatches(result, batchSize, fc)
  294. }
  295. func (m menuDo) Attrs(attrs ...field.AssignExpr) *menuDo {
  296. return m.withDO(m.DO.Attrs(attrs...))
  297. }
  298. func (m menuDo) Assign(attrs ...field.AssignExpr) *menuDo {
  299. return m.withDO(m.DO.Assign(attrs...))
  300. }
  301. func (m menuDo) Joins(fields ...field.RelationField) *menuDo {
  302. for _, _f := range fields {
  303. m = *m.withDO(m.DO.Joins(_f))
  304. }
  305. return &m
  306. }
  307. func (m menuDo) Preload(fields ...field.RelationField) *menuDo {
  308. for _, _f := range fields {
  309. m = *m.withDO(m.DO.Preload(_f))
  310. }
  311. return &m
  312. }
  313. func (m menuDo) FirstOrInit() (*model.Menu, error) {
  314. if result, err := m.DO.FirstOrInit(); err != nil {
  315. return nil, err
  316. } else {
  317. return result.(*model.Menu), nil
  318. }
  319. }
  320. func (m menuDo) FirstOrCreate() (*model.Menu, error) {
  321. if result, err := m.DO.FirstOrCreate(); err != nil {
  322. return nil, err
  323. } else {
  324. return result.(*model.Menu), nil
  325. }
  326. }
  327. func (m menuDo) FindByPage(offset int, limit int) (result []*model.Menu, count int64, err error) {
  328. result, err = m.Offset(offset).Limit(limit).Find()
  329. if err != nil {
  330. return
  331. }
  332. if size := len(result); 0 < limit && 0 < size && size < limit {
  333. count = int64(size + offset)
  334. return
  335. }
  336. count, err = m.Offset(-1).Limit(-1).Count()
  337. return
  338. }
  339. func (m menuDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) {
  340. count, err = m.Count()
  341. if err != nil {
  342. return
  343. }
  344. err = m.Offset(offset).Limit(limit).Scan(result)
  345. return
  346. }
  347. func (m menuDo) Scan(result interface{}) (err error) {
  348. return m.DO.Scan(result)
  349. }
  350. func (m menuDo) Delete(models ...*model.Menu) (result gen.ResultInfo, err error) {
  351. return m.DO.Delete(models)
  352. }
  353. func (m *menuDo) withDO(do gen.Dao) *menuDo {
  354. m.DO = *do.(*gen.DO)
  355. return m
  356. }