Files
vault/ui/lib/core/addon/helpers/has-feature.js
Angel Garbarino 44af0978e6 Replace all service injects with updated import syntax (#25367)
* replace all injects with import syntax

* Delete ui/app/components/identity/_popup-base.js
2024-02-13 10:00:31 -07:00

43 lines
1.0 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
/* eslint-disable ember/no-observers */
import { service } from '@ember/service';
import { assert } from '@ember/debug';
import Helper from '@ember/component/helper';
import { observer } from '@ember/object';
const POSSIBLE_FEATURES = [
'HSM',
'Performance Replication',
'DR Replication',
'MFA',
'Sentinel',
'Seal Wrapping',
'Control Groups',
'Namespaces',
'KMIP',
'Transform Secrets Engine',
'Key Management Secrets Engine',
];
export function hasFeature(featureName, features) {
if (!POSSIBLE_FEATURES.includes(featureName)) {
assert(`${featureName} is not one of the available values for Vault Enterprise features.`, false);
return false;
}
return features ? features.includes(featureName) : false;
}
export default Helper.extend({
version: service(),
onFeaturesChange: observer('version.features.[]', function () {
this.recompute();
}),
compute([featureName]) {
return hasFeature(featureName, this.version.features);
},
});