getters.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { Access } from '@/constant'
  2. const getters = {
  3. token (state) {
  4. return state.user.token
  5. },
  6. tenant (state) {
  7. return state.user.tenantKey
  8. },
  9. tenantId (state) {
  10. return state.user.tenantId
  11. },
  12. tenantName (state) {
  13. return state.user.tenantName
  14. },
  15. org (state, getters) {
  16. return getters.isTenantAdmin ? getters.tenant : state.user.orgKey
  17. },
  18. userId (state) {
  19. return state.user.id
  20. },
  21. account (state) {
  22. return state.user.account
  23. },
  24. name (state) {
  25. return state.user.name || state.user.account
  26. },
  27. avatar (state) {
  28. return state.user.avatar
  29. },
  30. roles (state) {
  31. return state.user.roles
  32. },
  33. access (state) {
  34. return state.user.access
  35. },
  36. permissionRoutes (state) {
  37. return state.permission.routes
  38. },
  39. isSuperAdmin (state, getters) {
  40. return getters.access.has(Access.MANAGE_TENANTS)
  41. },
  42. isTenantAdmin (state, getters) {
  43. return getters.isSuperAdmin || getters.access.has(Access.MANAGE_TENANT)
  44. },
  45. isGroupAdmin (state, getters) {
  46. return getters.isTenantAdmin || getters.access.has(Access.MANAGE_GROUP)
  47. },
  48. isTopGroup (state, getters) {
  49. return getters.tenant === getters.org
  50. },
  51. isOperator (state, getters) {
  52. return getters.access.has(Access.MANAGE_CALENDAR)
  53. },
  54. isMaintainer (state, getters) {
  55. return getters.access.has(Access.MANAGE_DEVICE)
  56. },
  57. isValid (state, getters) {
  58. return getters.token && (getters.tenant || getters.isSuperAdmin)
  59. },
  60. department (state) {
  61. return state.user.department
  62. }
  63. }
  64. export default getters