role.go 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package entity
  2. type RoleResp struct {
  3. Id string `gorm:"column:id;primaryKey" json:"id" bson:"_id"`
  4. RenterId uint64 `gorm:"column:renter_id;type:bigint;NOT NULL;comment:租户ID;" json:"renter_id" bson:"renter_id"`
  5. Name string `gorm:"column:name;type:varchar(1024);NOT NULL;comment:角色名称" json:"name" bson:"name"`
  6. PresetId uint64 `gorm:"column:preset_id;comment:预设角色" json:"preset_id" bson:"preset_id"`
  7. Desc string `gorm:"column:desc;comment:描述" json:"desc" bson:"desc"`
  8. Status uint `gorm:"column:status;type:tinyint;default:1;comment:状态,1:正常,2:禁用" json:"status" bson:"status"`
  9. CreatedAt uint64 `gorm:"column:created_at;autoCreateTime" json:"created_at" bson:"created_at"`
  10. DeletedAt uint64 `gorm:"column:deleted_at;" json:"deleted_at" bson:"deleted_at"`
  11. }
  12. type AccessResp struct {
  13. ID string `bson:"id" json:"id,omitempty"`
  14. ModuleName string `bson:"module_name" json:"module_name,omitempty"` // 模块名称
  15. ActionName string `bson:"action_name" json:"action_name,omitempty"` // 操作名称
  16. ParentId string `bson:"parent_id" json:"parent_id,omitempty"` // 父级ID
  17. Type int `bson:"type" json:"type,omitempty"` // 节点类型 : 1、表示模块 2、表示菜单 3、操作
  18. URL string `bson:"url" json:"url,omitempty"` // 路由跳转地址
  19. Sort int `bson:"sort" json:"sort,omitempty"` // 排序
  20. Description string `bson:"description" json:"description,omitempty"` // 描述
  21. Status int `bson:"status" json:"status,omitempty"` // 状态 1、正常 2、禁用
  22. AddTime int `bson:"add_time" json:"add_time,omitempty"` // 添加时间
  23. AccessItem []*AccessResp `bson:"access_item" json:"access_item"` // 子节点
  24. }
  25. type RoleListReq struct {
  26. Page int `json:"page" binding:"required" form:"page"`
  27. Size int `json:"size" binding:"required" form:"size"`
  28. Name string `json:"name" form:"name"`
  29. Status uint `json:"status" form:"status"`
  30. }
  31. type RoleAddReq struct {
  32. Name string `json:"name" binding:"required" bson:"name"`
  33. Desc string `json:"desc" bson:"desc"`
  34. Status uint `json:"status" bson:"status" binding:"required"`
  35. }
  36. type RoleDelReq struct {
  37. Id string `json:"id" binding:"required" form:"id"`
  38. }
  39. type RoleUpdateReq struct {
  40. Id string `json:"id" binding:"required"`
  41. Name string `json:"name"`
  42. Desc string `json:"desc" bson:"desc"`
  43. Status uint `json:"status" bson:"status"`
  44. }
  45. // RoleAccessListReq 角色权限
  46. type RoleAccessListReq struct {
  47. RoleId string `json:"role_id" form:"role_id"`
  48. }
  49. // RoleAccessAddReq 添加角色权限
  50. type RoleAccessAddReq struct {
  51. RoleId string `json:"role_id"`
  52. AccessId []string `json:"access"`
  53. }
  54. // RoleAccessUpdateReq 修改角色权限
  55. type RoleAccessUpdateReq struct {
  56. RoleId string `json:"role_id"`
  57. AccessId []string `json:"access"`
  58. }
  59. type RoleAccessDelReq struct {
  60. RoleId string `json:"role_id"`
  61. }
  62. type Response struct {
  63. Code int `json:"code"`
  64. Message string `json:"message"`
  65. Data interface{}
  66. }
  67. type AccessDelReq struct {
  68. Id string `json:"id" form:"id"`
  69. }
  70. // AccessAddReq 添加权限路由
  71. type AccessAddReq struct {
  72. ModuleName string `bson:"module_name" json:"module_name"` // 模块名称
  73. ActionName string `bson:"action_name" json:"action_name"` // 操作名称
  74. ParentId string `bson:"parent_id" json:"parent_id"` // 父级ID 0表示顶级
  75. Type int `bson:"type" json:"type"` // 节点类型 : 1、表示模块 2、表示菜单 3、操作
  76. URL string `bson:"url" json:"url"` // 路由跳转地址
  77. Sort int `bson:"sort" json:"sort"` // 排序
  78. Description string `bson:"description" json:"description"` // 描述
  79. Status int `bson:"status" json:"status"` // 状态 1、正常 2、禁用
  80. }
  81. // AccessUpdateReq 修改权限路由
  82. type AccessUpdateReq struct {
  83. Id string `bson:"_id" json:"id"` // 权限ID
  84. ModuleName string `bson:"module_name" json:"module_name"` // 模块名称
  85. ActionName string `bson:"action_name" json:"action_name"` // 操作名称
  86. ParentId string `bson:"parent_id" json:"parent_id"` // 父级ID 0表示顶级
  87. Type int `bson:"type" json:"type"` // 节点类型 : 1、表示模块 2、表示菜单 3、操作
  88. URL string `bson:"url" json:"url"` // 路由跳转地址
  89. Sort int `bson:"sort" json:"sort"` // 排序
  90. Description string `bson:"description" json:"description"` // 描述
  91. Status int `bson:"status" json:"status"` // 状态 1、正常 2、禁用
  92. }
  93. type AccessListReq struct {
  94. Page int `json:"page" form:"page"`
  95. Size int `json:"size" form:"size"`
  96. ModuleName string `json:"module_name" form:"module_name"`
  97. ActionName string `json:"action_name" form:"action_name"`
  98. ParentId string `json:"parent_id" form:"parent_id"`
  99. Type int `json:"type" form:"type"`
  100. Status int `json:"status" form:"status"`
  101. URL string `bson:"url" json:"url" form:"url"` // 路由跳转地址
  102. }
  103. type AdminBindRoleReq struct {
  104. AdminId string `json:"admin_id" form:"admin_id"`
  105. RoleId string `json:"role_id" form:"role_id"`
  106. }
  107. type AdminRoleByIDReq struct {
  108. AdminId string `json:"admin_id" form:"admin_id"`
  109. }
  110. type AdminBindRoleResp struct {
  111. RoleId string `json:"role_id"` // 角色ID
  112. AdminId string `json:"admin_id"` // 管理员ID
  113. AdminName string `json:"admin_name"` // 管理员名称
  114. RoleName string `json:"role_name"` // 角色名称
  115. AccessList []*AccessResp `json:"access_list"`
  116. }