permission.go 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. package permission
  2. import (
  3. "authService/util"
  4. "authService/validators"
  5. "os"
  6. "gogs.uu.mdfitnesscao.com/cuiguohai/sdk/constants"
  7. )
  8. const (
  9. SystemFlagUser = "User" // 用户平台后台系统
  10. )
  11. // 获取所有权限组
  12. func ListPermissionGroup() []validators.UserPermissionGroup {
  13. var commonPermissions = []validators.UserPermissionGroup{
  14. {
  15. Label: "用户管理",
  16. Children: []validators.UserPermission{
  17. {
  18. Label: constants.CommonPermissionNames[constants.PermissionUserView].Name,
  19. Value: constants.PermissionUserView,
  20. RequiredValues: []string{},
  21. },
  22. {
  23. Label: constants.CommonPermissionNames[constants.PermissionUserEdit].Name,
  24. Value: constants.PermissionUserEdit,
  25. RequiredValues: []string{constants.PermissionUserView},
  26. },
  27. },
  28. },
  29. {
  30. Label: "角色管理",
  31. Children: []validators.UserPermission{
  32. {
  33. Label: constants.CommonPermissionNames[constants.PermissionRoleView].Name,
  34. Value: constants.PermissionRoleView,
  35. RequiredValues: []string{},
  36. },
  37. {
  38. Label: constants.CommonPermissionNames[constants.PermissionRoleEdit].Name,
  39. Value: constants.PermissionRoleEdit,
  40. RequiredValues: []string{constants.PermissionRoleView},
  41. },
  42. {
  43. Label: constants.CommonPermissionNames[constants.PermissionRoleDelete].Name,
  44. Value: constants.PermissionRoleDelete,
  45. RequiredValues: []string{constants.PermissionRoleView},
  46. },
  47. },
  48. },
  49. }
  50. var permissionGroups map[string][]validators.UserPermissionGroup = map[string][]validators.UserPermissionGroup{
  51. SystemFlagUser: {
  52. {
  53. Label: "机构管理",
  54. Children: []validators.UserPermission{
  55. {
  56. Label: constants.UserPermissionNames[constants.UserPermissionMechanismView].Name,
  57. Value: constants.UserPermissionMechanismView,
  58. RequiredValues: []string{},
  59. },
  60. {
  61. Label: constants.UserPermissionNames[constants.UserPermissionMechanismEdit].Name,
  62. Value: constants.UserPermissionMechanismEdit,
  63. RequiredValues: []string{constants.UserPermissionMechanismView},
  64. },
  65. {
  66. Label: constants.UserPermissionNames[constants.UserPermissionMechanismDelete].Name,
  67. Value: constants.UserPermissionMechanismDelete,
  68. RequiredValues: []string{constants.UserPermissionMechanismView},
  69. },
  70. },
  71. },
  72. {
  73. Label: "档案管理",
  74. Children: []validators.UserPermission{
  75. {
  76. Label: constants.UserPermissionNames[constants.UserPermissionArchivesView].Name,
  77. Value: constants.UserPermissionArchivesView,
  78. RequiredValues: []string{},
  79. },
  80. {
  81. Label: constants.UserPermissionNames[constants.UserPermissionArchivesEdit].Name,
  82. Value: constants.UserPermissionArchivesEdit,
  83. RequiredValues: []string{constants.UserPermissionArchivesView},
  84. },
  85. {
  86. Label: constants.UserPermissionNames[constants.UserPermissionArchivesFormTemplateView].Name,
  87. Value: constants.UserPermissionArchivesFormTemplateView,
  88. RequiredValues: []string{},
  89. },
  90. {
  91. Label: constants.UserPermissionNames[constants.UserPermissionArchivesFormTemplateEdit].Name,
  92. Value: constants.UserPermissionArchivesFormTemplateEdit,
  93. RequiredValues: []string{constants.UserPermissionArchivesFormTemplateView},
  94. },
  95. {
  96. Label: constants.UserPermissionNames[constants.UserPermissionArchivesMechanismConfigView].Name,
  97. Value: constants.UserPermissionArchivesMechanismConfigView,
  98. RequiredValues: []string{},
  99. },
  100. {
  101. Label: constants.UserPermissionNames[constants.UserPermissionArchivesMechanismConfigEdit].Name,
  102. Value: constants.UserPermissionArchivesMechanismConfigEdit,
  103. RequiredValues: []string{constants.UserPermissionArchivesMechanismConfigView},
  104. },
  105. },
  106. },
  107. {
  108. Label: "表单管理",
  109. Children: []validators.UserPermission{
  110. {
  111. Label: constants.UserPermissionNames[constants.UserPermissionFormView].Name,
  112. Value: constants.UserPermissionFormView,
  113. RequiredValues: []string{},
  114. },
  115. {
  116. Label: constants.UserPermissionNames[constants.UserPermissionFormEdit].Name,
  117. Value: constants.UserPermissionFormEdit,
  118. RequiredValues: []string{constants.UserPermissionFormView},
  119. },
  120. {
  121. Label: constants.UserPermissionNames[constants.UserPermissionFormFieldEdit].Name,
  122. Value: constants.UserPermissionFormFieldEdit,
  123. RequiredValues: []string{constants.UserPermissionFormView},
  124. },
  125. {
  126. Label: constants.UserPermissionNames[constants.UserPermissionFormFieldDelete].Name,
  127. Value: constants.UserPermissionFormFieldDelete,
  128. RequiredValues: []string{constants.UserPermissionFormView},
  129. },
  130. },
  131. },
  132. {
  133. Label: "数据中心",
  134. Children: []validators.UserPermission{
  135. {
  136. Label: constants.UserPermissionNames[constants.UserPermissionMedicalDataView].Name,
  137. Value: constants.UserPermissionMedicalDataView,
  138. RequiredValues: []string{},
  139. },
  140. {
  141. Label: constants.UserPermissionNames[constants.UserPermissionMedicalDataEdit].Name,
  142. Value: constants.UserPermissionMedicalDataEdit,
  143. RequiredValues: []string{constants.UserPermissionMedicalDataView},
  144. },
  145. {
  146. Label: constants.UserPermissionNames[constants.UserPermissionMedicalDataRawDataView].Name,
  147. Value: constants.UserPermissionMedicalDataRawDataView,
  148. RequiredValues: []string{constants.UserPermissionMedicalDataView},
  149. },
  150. },
  151. },
  152. {
  153. Label: "问卷管理",
  154. Children: []validators.UserPermission{
  155. {
  156. Label: constants.UserPermissionNames[constants.UserPermissionSurveyView].Name,
  157. Value: constants.UserPermissionSurveyView,
  158. RequiredValues: []string{},
  159. },
  160. {
  161. Label: constants.UserPermissionNames[constants.UserPermissionSurveyEdit].Name,
  162. Value: constants.UserPermissionSurveyEdit,
  163. RequiredValues: []string{constants.UserPermissionSurveyView},
  164. },
  165. {
  166. Label: constants.UserPermissionNames[constants.UserPermissionSurveyAuthorizeView].Name,
  167. Value: constants.UserPermissionSurveyAuthorizeView,
  168. RequiredValues: []string{},
  169. },
  170. {
  171. Label: constants.UserPermissionNames[constants.UserPermissionSurveyAuthorizeEdit].Name,
  172. Value: constants.UserPermissionSurveyAuthorizeEdit,
  173. RequiredValues: []string{constants.UserPermissionSurveyAuthorizeView},
  174. },
  175. {
  176. Label: constants.UserPermissionNames[constants.UserPermissionSurveyResultView].Name,
  177. Value: constants.UserPermissionSurveyResultView,
  178. RequiredValues: []string{},
  179. },
  180. {
  181. Label: constants.UserPermissionNames[constants.UserPermissionSurveyResultEdit].Name,
  182. Value: constants.UserPermissionSurveyResultEdit,
  183. RequiredValues: []string{constants.UserPermissionSurveyResultView},
  184. },
  185. },
  186. },
  187. {
  188. Label: "敏感数据",
  189. Children: []validators.UserPermission{
  190. {
  191. Label: constants.UserPermissionNames[constants.UserPermissionDataPrivacyArchivesInfo].Name,
  192. Value: constants.UserPermissionDataPrivacyArchivesInfo,
  193. RequiredValues: []string{constants.UserPermissionArchivesView},
  194. },
  195. },
  196. },
  197. {
  198. Label: "数据同步",
  199. Children: []validators.UserPermission{
  200. {
  201. Label: constants.UserPermissionNames[constants.UserPermissionDataSync].Name,
  202. Value: constants.UserPermissionDataSync,
  203. RequiredValues: []string{},
  204. },
  205. },
  206. },
  207. },
  208. }
  209. // 授权系统的类型
  210. authType := os.Getenv("AUTH_TYPE")
  211. currentPermissions := permissionGroups[authType]
  212. // 将commonPermissions和currentPermissions合并
  213. return append(commonPermissions, currentPermissions...)
  214. }
  215. // 检查权限
  216. func CheckPermission(permissions []string, permission string) bool {
  217. return util.InArrayString(permission, permissions)
  218. }