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  }