vault/ui/lib/kmip/addon/routes/configuration.js
Chelsea Shaw da7fad68b8
UI: Replace getNewModel with hydrateModel when model exists (#27978)
* Replace getNewModel with hydrateModel when model exists

* Update getNewModel to only handle nonexistant model types

* Update test

* clarify test

* Fix auth-config models which need hydration not generation

* rename file to match service name

* cleanup + tests

* Add comment about helpUrl method
2024-08-07 16:07:25 +00:00

36 lines
879 B
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Route from '@ember/routing/route';
import { service } from '@ember/service';
import UnloadModel from 'vault/mixins/unload-model-route';
export default Route.extend(UnloadModel, {
store: service(),
secretMountPath: service(),
pathHelp: service(),
beforeModel() {
return this.pathHelp.hydrateModel('kmip/config', this.secretMountPath.currentPath);
},
model() {
return this.store.findRecord('kmip/config', this.secretMountPath.currentPath).catch((err) => {
if (err.httpStatus === 404) {
return;
} else {
throw err;
}
});
},
afterModel(model) {
if (model) {
return this.store.findRecord('kmip/ca', this.secretMountPath.currentPath).then((ca) => {
model.set('ca', ca);
return model;
});
}
},
});