role.go 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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. Count int64 `json:"count" form:"count"`
  29. Name string `json:"name" form:"name"`
  30. Status uint `json:"status" form:"status"`
  31. }
  32. type RoleAddReq struct {
  33. Name string `json:"name" binding:"required" bson:"name"`
  34. Desc string `json:"desc" bson:"desc"`
  35. Status uint `json:"status" bson:"status" binding:"required"`
  36. }
  37. type RoleDelReq struct {
  38. Id string `json:"id" binding:"required" form:"id"`
  39. }
  40. type RoleUpdateReq struct {
  41. Id string `json:"id" binding:"required"`
  42. Name string `json:"name"`
  43. Desc string `json:"desc" bson:"desc"`
  44. Status uint `json:"status" bson:"status"`
  45. }
  46. // RoleAccessListReq 角色权限
  47. type RoleAccessListReq struct {
  48. RoleId string `json:"role_id" form:"role_id"`
  49. }
  50. // RoleAccessAddReq 添加角色权限
  51. type RoleAccessAddReq struct {
  52. RoleId string `json:"role_id"`
  53. AccessId []string `json:"access"`
  54. }
  55. // RoleAccessUpdateReq 修改角色权限
  56. type RoleAccessUpdateReq struct {
  57. RoleId string `json:"role_id"`
  58. AccessId []string `json:"access"`
  59. }
  60. type RoleAccessDelReq struct {
  61. RoleId string `json:"role_id" form:"role_id"`
  62. }
  63. type Response struct {
  64. Code int `json:"code"`
  65. Message string `json:"message"`
  66. Data interface{}
  67. }
  68. type AccessDelReq struct {
  69. Id string `json:"id" form:"id"`
  70. }
  71. // AccessAddReq 添加权限路由
  72. type AccessAddReq struct {
  73. ModuleName string `bson:"module_name" json:"module_name"` // 模块名称
  74. ActionName string `bson:"action_name" json:"action_name"` // 操作名称
  75. ParentId string `bson:"parent_id" json:"parent_id"` // 父级ID 0表示顶级
  76. Type int `bson:"type" json:"type"` // 节点类型 : 1、表示模块 2、表示菜单 3、操作
  77. URL string `bson:"url" json:"url"` // 路由跳转地址
  78. Sort int `bson:"sort" json:"sort"` // 排序
  79. Description string `bson:"description" json:"description"` // 描述
  80. Status int `bson:"status" json:"status"` // 状态 1、正常 2、禁用
  81. }
  82. // AccessUpdateReq 修改权限路由
  83. type AccessUpdateReq struct {
  84. Id string `bson:"_id" json:"id"` // 权限ID
  85. ModuleName string `bson:"module_name" json:"module_name"` // 模块名称
  86. ActionName string `bson:"action_name" json:"action_name"` // 操作名称
  87. ParentId string `bson:"parent_id" json:"parent_id"` // 父级ID 0表示顶级
  88. Type int `bson:"type" json:"type"` // 节点类型 : 1、表示模块 2、表示菜单 3、操作
  89. URL string `bson:"url" json:"url"` // 路由跳转地址
  90. Sort int `bson:"sort" json:"sort"` // 排序
  91. Description string `bson:"description" json:"description"` // 描述
  92. Status int `bson:"status" json:"status"` // 状态 1、正常 2、禁用
  93. }
  94. type AccessListReq struct {
  95. Page int `json:"page" form:"page"`
  96. Size int `json:"size" form:"size"`
  97. Count int64 `json:"count" form:"count"`
  98. ModuleName string `json:"module_name" form:"module_name"`
  99. ActionName string `json:"action_name" form:"action_name"`
  100. ParentId string `json:"parent_id" form:"parent_id"`
  101. Type int `json:"type" form:"type"`
  102. Status int `json:"status" form:"status"`
  103. URL string `bson:"url" json:"url" form:"url"` // 路由跳转地址
  104. }
  105. type AdminBindRoleReq struct {
  106. AdminId string `json:"admin_id" form:"admin_id"`
  107. RoleId string `json:"role_id" form:"role_id"`
  108. }
  109. type AdminRoleByIDReq struct {
  110. AdminId string `json:"admin_id" form:"admin_id"`
  111. }
  112. type AdminBindRoleResp struct {
  113. RoleId string `json:"role_id"` // 角色ID
  114. AdminId string `json:"admin_id"` // 管理员ID
  115. AdminName string `json:"admin_name"` // 管理员名称
  116. RoleName string `json:"role_name"` // 角色名称
  117. AccessList []*AccessResp `json:"access_list"`
  118. }