github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/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('bypassAuthorization', 'selfTokenIsManagement', 'policiesIncludeAgentReadOrWrite')
     7    canRead;
     8  
     9    @computed('token.selfTokenPolicies.[]')
    10    get policiesIncludeAgentReadOrWrite() {
    11      const policies = (get(this, 'token.selfTokenPolicies') || [])
    12        .toArray()
    13        .map(policy => get(policy, 'rulesJSON.Agent.Policy'))
    14        .compact();
    15  
    16      return policies.some(policy => policy === 'read' || policy === 'write');
    17    }
    18  }