github.com/hernad/nomad@v1.6.112/ui/app/abilities/agent.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import AbstractAbility from './abstract'; 7 import { computed, get } from '@ember/object'; 8 import { or } from '@ember/object/computed'; 9 10 export default class Client extends AbstractAbility { 11 @or( 12 'bypassAuthorization', 13 'selfTokenIsManagement', 14 'policiesIncludeAgentReadOrWrite' 15 ) 16 canRead; 17 18 @computed('token.selfTokenPolicies.[]') 19 get policiesIncludeAgentReadOrWrite() { 20 const policies = (get(this, 'token.selfTokenPolicies') || []) 21 .toArray() 22 .map((policy) => get(policy, 'rulesJSON.Agent.Policy')) 23 .compact(); 24 25 return policies.some((policy) => policy === 'read' || policy === 'write'); 26 } 27 }