Hamid Ghaf e55c18ed12
adding copyright header (#19555)
* adding copyright header

* fix fmt and a test
2023-03-15 09:00:52 -07:00

43 lines
1.3 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { setProperties } from '@ember/object';
import { hash } from 'rsvp';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
export default Route.extend({
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.get('canUpdate')),
canRevokeSecondary: this.store
.findRecord('capabilities', `sys/replication/${replicationMode}/primary/revoke-secondary`)
.then((c) => c.get('canUpdate')),
}).then(({ cluster, canAddSecondary, canRevokeSecondary }) => {
setProperties(cluster, {
canRevokeSecondary,
canAddSecondary,
});
return cluster;
});
},
afterModel(model) {
const replicationMode = this.paramsFor('mode').replication_mode;
if (
!model.get(`${replicationMode}.isPrimary`) ||
model.get(`${replicationMode}.replicationDisabled`) ||
model.get(`${replicationMode}.replicationUnsupported`)
) {
return this.transitionTo('mode', replicationMode);
}
},
});