mirror of https://github.com/hashicorp/consul
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
import Model, { attr } from '@ember-data/model';
|
|
import { computed } from '@ember/object';
|
|
import { MANAGEMENT_ID } from 'consul-ui/models/policy';
|
|
|
|
export const PRIMARY_KEY = 'uid';
|
|
export const SLUG_KEY = 'AccessorID';
|
|
|
|
export default class Token extends Model {
|
|
@attr('string') uid;
|
|
@attr('string') AccessorID;
|
|
|
|
@attr('string') Datacenter;
|
|
@attr('string') Namespace;
|
|
@attr('string') Partition;
|
|
@attr('string') IDPName;
|
|
@attr('string') SecretID;
|
|
|
|
@attr('boolean') Legacy;
|
|
@attr('boolean') Local;
|
|
@attr('string', { defaultValue: () => '' }) Description;
|
|
@attr() meta; // {}
|
|
|
|
@attr({ defaultValue: () => [] }) Policies;
|
|
@attr({ defaultValue: () => [] }) Roles;
|
|
@attr({ defaultValue: () => [] }) ServiceIdentities;
|
|
@attr({ defaultValue: () => [] }) NodeIdentities;
|
|
@attr('date') CreateTime;
|
|
@attr('string') Hash;
|
|
@attr('number') CreateIndex;
|
|
@attr('number') ModifyIndex;
|
|
|
|
// Legacy
|
|
@attr('string') Type;
|
|
@attr('string', { defaultValue: () => '' }) Name;
|
|
@attr('string') Rules;
|
|
// End Legacy
|
|
|
|
@computed('Policies.[]')
|
|
get isGlobalManagement() {
|
|
return (this.Policies || []).find((item) => item.ID === MANAGEMENT_ID);
|
|
}
|
|
|
|
@computed('SecretID')
|
|
get hasSecretID() {
|
|
return this.SecretID !== '' && this.SecretID !== '<hidden>';
|
|
}
|
|
}
|