open-vault/ui/app/routes/vault/cluster/policy.js

27 lines
760 B
JavaScript
Raw Normal View History

import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
2018-04-03 14:16:57 +00:00
import ClusterRoute from 'vault/mixins/cluster-route';
const ALLOWED_TYPES = ['acl', 'egp', 'rgp'];
export default Route.extend(ClusterRoute, {
version: service(),
2018-04-03 14:16:57 +00:00
beforeModel() {
return this.get('version')
.fetchFeatures()
.then(() => {
return this._super(...arguments);
});
2018-04-03 14:16:57 +00:00
},
model(params) {
let policyType = params.type;
if (!ALLOWED_TYPES.includes(policyType)) {
return this.transitionTo('vault.cluster.policies', ALLOWED_TYPES[0]);
}
if (!this.get('version.hasSentinel') && policyType !== 'acl') {
2018-04-03 14:16:57 +00:00
return this.transitionTo('vault.cluster.policies', policyType);
}
return {};
},
});