claire bontempo 918642bd9c
UI: Ember deprecation prep for 5.0: ember-data:deprecate-array-like (#26170)
* 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
2024-03-28 12:13:33 -07:00

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}`
);
});
},
},
});