getters.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. name (state) {
  22. return state.user.name
  23. },
  24. avatar (state) {
  25. return state.user.avatar
  26. },
  27. roles (state) {
  28. return state.user.roles
  29. },
  30. access (state) {
  31. return state.user.access
  32. },
  33. permissionRoutes (state) {
  34. return state.permission.routes
  35. },
  36. isSuperAdmin (state, getters) {
  37. return getters.access.has(Access.MANAGE_TENANTS)
  38. },
  39. isTenantAdmin (state, getters) {
  40. return getters.isSuperAdmin || getters.access.has(Access.MANAGE_TENANT)
  41. },
  42. isGroupAdmin (state, getters) {
  43. return getters.isTenantAdmin || getters.access.has(Access.MANAGE_GROUP)
  44. },
  45. isTopGroup (state, getters) {
  46. return getters.tenant === getters.org
  47. },
  48. isTopGroupAdmin (state, getters) {
  49. return getters.isTenantAdmin || getters.isGroupAdmin && getters.isTopGroup
  50. },
  51. isOperator (state, getters) {
  52. return getters.access.has(Access.MANAGE_CALENDAR)
  53. },
  54. isValid (state, getters) {
  55. return getters.token && (getters.tenant || getters.isSuperAdmin)
  56. },
  57. account (state) {
  58. return state.user.account
  59. }
  60. }
  61. export default getters