|
|
@@ -69,12 +69,8 @@ class AbilityUtils {
|
|
|
* @return {Array<AbilitiesType>}
|
|
|
*/
|
|
|
buildAbilities(): Array<AbilitiesType> {
|
|
|
-
|
|
|
const abilitiesByRoles: Array<AbilitiesType> = this.buildAbilitiesFromRoles(this.accessProfile.roles)
|
|
|
- this.ability.update(abilitiesByRoles)
|
|
|
-
|
|
|
const abilitiesByConfig = this.buildAbilitiesFromConfig('./config/abilities/config.yaml')
|
|
|
-
|
|
|
return abilitiesByRoles.concat(abilitiesByConfig)
|
|
|
}
|
|
|
|
|
|
@@ -131,12 +127,14 @@ class AbilityUtils {
|
|
|
isShowAdherentList: (parameters: any) => this.organizationProfile.isShowAdherentList,
|
|
|
isCmf: (parameters: any) => this.organizationProfile.isCmf,
|
|
|
getWebsite: (parameters: any) => this.organizationProfile.getWebsite,
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+ let hasAbility = true
|
|
|
+
|
|
|
useEach(services, (handlers: Array<{ function: string, parameters?: Array<any>, result?: any }>, service: string) => {
|
|
|
|
|
|
useEach(handlers, (handler: { function: string, parameters?: Array<any>, result?: any }) => {
|
|
|
+
|
|
|
const expectedResult: boolean = handler.result ?? true;
|
|
|
const parametersArray = handler.parameters ?? []
|
|
|
|
|
|
@@ -144,12 +142,15 @@ class AbilityUtils {
|
|
|
const actualResult = handlerMap[handler.function](parameters ?? null)
|
|
|
|
|
|
if (actualResult !== expectedResult) {
|
|
|
+ hasAbility = false
|
|
|
return false
|
|
|
}
|
|
|
})
|
|
|
+ if (!hasAbility) { return false }
|
|
|
})
|
|
|
+ if (!hasAbility) { return false }
|
|
|
})
|
|
|
- return true
|
|
|
+ return hasAbility
|
|
|
}
|
|
|
|
|
|
/**
|