25 lines
732 B
JavaScript
25 lines
732 B
JavaScript
import Ember from 'ember';
|
|
import ClusterRoute from 'vault/mixins/cluster-route';
|
|
|
|
const ALLOWED_TYPES = ['acl', 'egp', 'rgp'];
|
|
const { inject } = Ember;
|
|
|
|
export default Ember.Route.extend(ClusterRoute, {
|
|
version: inject.service(),
|
|
beforeModel() {
|
|
return this.get('version').fetchFeatures().then(() => {
|
|
return this._super(...arguments);
|
|
});
|
|
},
|
|
model(params) {
|
|
let policyType = params.type;
|
|
if (!ALLOWED_TYPES.includes(policyType)) {
|
|
return this.transitionTo('vault.cluster.policies', ALLOWED_TYPES[0]);
|
|
}
|
|
if (!this.get('version.features').includes('Sentinel') && policyType !== 'acl') {
|
|
return this.transitionTo('vault.cluster.policies', policyType);
|
|
}
|
|
return {};
|
|
},
|
|
});
|