mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-24 08:01:07 +02:00
* remove .get() from cluster and vault route * replace .get() use in adapters * remove .get() from components part 1 * remove .get() from string-list * remaining components * controller .get() removal * remove .get() use in mixins * routes/cluster/access* .get() replacement * policy index route * routes/secrets/backend* * route/cluster* * serializers * is-active-route * remaining top-level addon gets * replication get() * revery change that broke things * woops, revert other store service change * revert some controller changes * revert get on URLSearchParams class * remove .sortBy ember method * small cleanup items * small cleanups from PR review
60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { alias } from '@ember/object/computed';
|
|
import { service } from '@ember/service';
|
|
import Controller from '@ember/controller';
|
|
|
|
export default Controller.extend({
|
|
flashMessages: service(),
|
|
router: service(),
|
|
rm: service('replication-mode'),
|
|
replicationMode: alias('rm.mode'),
|
|
actions: {
|
|
resetConfig(config) {
|
|
if (config.isNew) {
|
|
config.setProperties({
|
|
mode: null,
|
|
paths: [],
|
|
});
|
|
} else {
|
|
config.rollbackAttributes();
|
|
}
|
|
},
|
|
|
|
saveConfig(config) {
|
|
// if the mode is null, we want no filtering, so we should delete any existing config
|
|
const isDelete = config.mode === null;
|
|
const flash = this.flashMessages;
|
|
const id = config.id;
|
|
const redirectArgs = isDelete
|
|
? ['vault.cluster.replication.mode.secondaries', this.replicationMode]
|
|
: ['vault.cluster.replication.mode.secondaries.config-show', id];
|
|
const modelMethod = isDelete ? config.destroyRecord : config.save;
|
|
|
|
modelMethod
|
|
.call(config)
|
|
.then(() => {
|
|
this.router
|
|
.transitionTo(...redirectArgs)
|
|
.followRedirects()
|
|
.then(() => {
|
|
flash.success(
|
|
`The performance mount filter config for the secondary ${id} was successfully ${
|
|
isDelete ? 'deleted' : 'saved'
|
|
}.`
|
|
);
|
|
});
|
|
})
|
|
.catch((e) => {
|
|
const errString = e.errors.join('.');
|
|
flash.error(
|
|
`There was an error ${isDelete ? 'deleting' : 'saving'} the config for ${id}: ${errString}`
|
|
);
|
|
});
|
|
},
|
|
},
|
|
});
|