Files
threshold-ui/addons/api/addon/abilities/account.js
T
lisbet-alvarez 6dd0423923 refactor: 💡 account and auth-method abilities (#1691)
* refactor: 💡 account and auth-method abilities

* refactor: 💡 add update & delete abilities & unit tests
2023-05-17 14:31:12 -07:00

45 lines
881 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import ModelAbility from './model';
/**
* Provides abilities for accounts.
*/
export default class AccountAbility extends ModelAbility {
// =permissions
/**
* Only "known" account types may be read.
* @type {boolean}
*/
get canRead() {
return !this.model.isUnknown && this.hasAuthorizedAction('read');
}
/**
* Only "known" account types may be updated.
* @type {boolean}
*/
get canUpdate() {
return !this.model.isUnknown && this.hasAuthorizedAction('update');
}
/**
* Only "known" account types may be deleted.
* @type {boolean}
*/
get canDelete() {
return !this.model.isUnknown && this.hasAuthorizedAction('delete');
}
/**
* @type {boolean}
*/
get canSetPassword() {
return this.hasAuthorizedAction('set-password');
}
}