access.ts 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import {$roleUtils} from '~/services/rights/roleUtils'
  2. import {AbilitiesType, accessState} from "~/types/types";
  3. export const state = () => ({
  4. bearer: null,
  5. name: null,
  6. givenName: null,
  7. accessId: null,
  8. roles: [],
  9. abilities: [],
  10. isAdmin: false,
  11. isAdministratifManager: false,
  12. isPedagogicManager: false,
  13. isFinancialManager: false,
  14. isCaMember: false,
  15. isStudent: false,
  16. isTeacher: false,
  17. isMember: false,
  18. isOther: false
  19. })
  20. export const mutations = {
  21. setBearer(state:accessState, bearer:string){
  22. state.bearer = bearer
  23. },
  24. setAccessId(state:accessState, accessId:number){
  25. state.accessId = accessId
  26. },
  27. setName(state:accessState, name:string){
  28. state.name = name
  29. },
  30. setGivenName(state:accessState, givenName:string){
  31. state.givenName = givenName
  32. },
  33. setRoles(state:accessState, roles:Array<string>){
  34. state.roles = roles
  35. },
  36. setAbilities(state:accessState, abilities:Array<AbilitiesType>){
  37. state.abilities = abilities
  38. },
  39. setIsAdminAccess(state:accessState, isAdminAccess:boolean){
  40. state.isAdminAccess = isAdminAccess
  41. },
  42. setIsAdmin(state:accessState, isRole:boolean){
  43. state.isAdmin = isRole
  44. },
  45. setIsAdministratifManager(state:accessState, isRole:boolean){
  46. state.isAdministratifManager = isRole
  47. },
  48. setIsPedagogicManager(state:accessState, isRole:boolean){
  49. state.isPedagogicManager = isRole
  50. },
  51. setIsFinancialManager(state:accessState, isRole:boolean){
  52. state.isFinancialManager = isRole
  53. },
  54. setIsCaMember(state:accessState, isRole:boolean){
  55. state.isCaMember = isRole
  56. },
  57. setIsStudent(state:accessState, isRole:boolean){
  58. state.isStudent = isRole
  59. },
  60. setIsTeacher(state:accessState, isRole:boolean){
  61. state.isTeacher = isRole
  62. },
  63. setIsMember(state:accessState, isRole:boolean){
  64. state.isMember = isRole
  65. },
  66. setIsOther(state:accessState, isRole:boolean){
  67. state.isOther = isRole
  68. }
  69. }
  70. export const actions = {
  71. setProfile(context:any, profile:any){
  72. let roles_to_array:Array<string> = Object.values(profile.roles)
  73. context.commit('setName', profile.name)
  74. context.commit('setGivenName', profile.givenName)
  75. context.commit('setIsAdminAccess', profile.isAdminAccess)
  76. context.commit('setIsAdmin', $roleUtils.isA('ADMIN', roles_to_array))
  77. context.commit('setIsAdministratifManager', $roleUtils.isA('ADMINISTRATIF_MANAGER', roles_to_array))
  78. context.commit('setIsPedagogicManager', $roleUtils.isA('PEDAGOGICS_MANAGER', roles_to_array))
  79. context.commit('setIsFinancialManager', $roleUtils.isA('FINANCIAL_MANAGER', roles_to_array))
  80. context.commit('setIsCaMember', $roleUtils.isA('CA', roles_to_array))
  81. context.commit('setIsStudent', $roleUtils.isA('STUDENT', roles_to_array))
  82. context.commit('setIsTeacher', $roleUtils.isA('TEACHER', roles_to_array))
  83. context.commit('setIsMember', $roleUtils.isA('MEMBER', roles_to_array))
  84. context.commit('setIsOther', $roleUtils.isA('OTHER', roles_to_array))
  85. context.commit('setRoles', $roleUtils.filterFunctionRoles(roles_to_array))
  86. //Time to set Oganization Profile
  87. context.dispatch('profile/organization/setProfile', profile.organization, {root:true})
  88. },
  89. }