github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/abilities/agent.js (about) 1 import AbstractAbility from './abstract'; 2 import { computed, get } from '@ember/object'; 3 import { or } from '@ember/object/computed'; 4 5 export default class Client extends AbstractAbility { 6 @or( 7 'bypassAuthorization', 8 'selfTokenIsManagement', 9 'policiesIncludeAgentReadOrWrite' 10 ) 11 canRead; 12 13 @computed('token.selfTokenPolicies.[]') 14 get policiesIncludeAgentReadOrWrite() { 15 const policies = (get(this, 'token.selfTokenPolicies') || []) 16 .toArray() 17 .map((policy) => get(policy, 'rulesJSON.Agent.Policy')) 18 .compact(); 19 20 return policies.some((policy) => policy === 'read' || policy === 'write'); 21 } 22 }