import AbstractAbility from './abstract'; import { computed, get } from '@ember/object'; import { or } from '@ember/object/computed'; export default class extends AbstractAbility { @or( 'bypassAuthorization', 'selfTokenIsManagement', 'policiesSupportVariableView' ) canList; @or( 'bypassAuthorization', 'selfTokenIsManagement', 'policiesSupportVariableCreation' ) canCreate; @computed('rulesForNamespace.@each.capabilities') get policiesSupportVariableView() { return this.rulesForNamespace.some((rules) => { return get(rules, 'SecureVariables'); }); } @computed('rulesForNamespace.@each.capabilities') get policiesSupportVariableCreation() { return true; // TODO: check SecureVariables..capabilities[] } }