mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-19 21:51:09 +02:00
60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
import Route from '@ember/routing/route';
|
|
import { inject as service } from '@ember/service';
|
|
import { withConfig } from 'pki/decorators/check-config';
|
|
import { hash } from 'rsvp';
|
|
import { PKI_DEFAULT_EMPTY_STATE_MSG } from 'pki/routes/overview';
|
|
|
|
@withConfig()
|
|
export default class ConfigurationIndexRoute extends Route {
|
|
@service store;
|
|
@service secretMountPath;
|
|
|
|
async fetchUrls(backend) {
|
|
try {
|
|
return await this.store.findRecord('pki/urls', backend);
|
|
} catch (e) {
|
|
return e.httpStatus;
|
|
}
|
|
}
|
|
|
|
async fetchCrl(backend) {
|
|
try {
|
|
return await this.store.findRecord('pki/crl', backend);
|
|
} catch (e) {
|
|
return e.httpStatus;
|
|
}
|
|
}
|
|
|
|
async fetchMountConfig(path) {
|
|
const mountConfig = await this.store.query('secret-engine', { path });
|
|
|
|
if (mountConfig) {
|
|
return mountConfig.get('firstObject');
|
|
}
|
|
}
|
|
|
|
async model() {
|
|
const backend = this.secretMountPath.currentPath;
|
|
|
|
return hash({
|
|
hasConfig: this.shouldPromptConfig,
|
|
engine: this.modelFor('application'),
|
|
urls: this.fetchUrls(backend),
|
|
crl: this.fetchCrl(backend),
|
|
mountConfig: this.fetchMountConfig(backend),
|
|
issuerModel: this.store.createRecord('pki/issuer'),
|
|
});
|
|
}
|
|
|
|
setupController(controller, resolvedModel) {
|
|
super.setupController(controller, resolvedModel);
|
|
|
|
controller.message = PKI_DEFAULT_EMPTY_STATE_MSG;
|
|
}
|
|
}
|