access.ts 2.7 KB

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