Files
vault/ui/lib/replication/addon/routes/mode/secondaries.js
claire bontempo 7774261c15 UI: Ember upgrade: Handle deprecation router service from host (#28603)
* use alias for router injection

* update @router declarations in engine files

* fix remaining pki router imports

* dynamically set router based on owner

* address replication routers

* update markdown docs

* use non-deprecated import for getOwner

* revert out of scope changes

* add transition-to test
2024-10-08 09:01:46 -07:00

41 lines
1.3 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { setProperties } from '@ember/object';
import { hash } from 'rsvp';
import Route from '@ember/routing/route';
import { service } from '@ember/service';
export default Route.extend({
router: service('app-router'),
store: service(),
model() {
const replicationMode = this.paramsFor('mode').replication_mode;
return hash({
cluster: this.modelFor('mode'),
canAddSecondary: this.store
.findRecord('capabilities', `sys/replication/${replicationMode}/primary/secondary-token`)
.then((c) => c.canUpdate),
canRevokeSecondary: this.store
.findRecord('capabilities', `sys/replication/${replicationMode}/primary/revoke-secondary`)
.then((c) => c.canUpdate),
}).then(({ cluster, canAddSecondary, canRevokeSecondary }) => {
setProperties(cluster, {
canRevokeSecondary,
canAddSecondary,
});
return cluster;
});
},
afterModel(model) {
const replicationMode = this.paramsFor('mode').replication_mode;
const modeModel = model[replicationMode];
if (!modeModel.isPrimary || modeModel.replicationDisabled || modeModel.replicationUnsupported) {
this.router.transitionTo('vault.cluster.replication.mode', replicationMode);
}
},
});