mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-19 05:31:10 +02:00
* renames pki check-config decorator to check-issuers * reverts check-issuers decorator function name change
73 lines
2.1 KiB
JavaScript
73 lines
2.1 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-issuers';
|
|
import { hash } from 'rsvp';
|
|
|
|
export const PKI_DEFAULT_EMPTY_STATE_MSG =
|
|
"This PKI mount hasn't yet been configured with a certificate issuer.";
|
|
|
|
export const getCliMessage = (msg) => {
|
|
if (!msg) return PKI_DEFAULT_EMPTY_STATE_MSG;
|
|
|
|
return `${PKI_DEFAULT_EMPTY_STATE_MSG} There are existing ${msg}. Use the CLI to perform any operations with them until an issuer is configured.`;
|
|
};
|
|
|
|
@withConfig()
|
|
export default class PkiOverviewRoute extends Route {
|
|
@service secretMountPath;
|
|
@service auth;
|
|
@service store;
|
|
|
|
async fetchAllCertificates() {
|
|
try {
|
|
return await this.store.query('pki/certificate/base', { backend: this.secretMountPath.currentPath });
|
|
} catch (e) {
|
|
return e.httpStatus;
|
|
}
|
|
}
|
|
|
|
async fetchAllRoles() {
|
|
try {
|
|
return await this.store.query('pki/role', { backend: this.secretMountPath.currentPath });
|
|
} catch (e) {
|
|
return e.httpStatus;
|
|
}
|
|
}
|
|
|
|
async fetchAllIssuers() {
|
|
try {
|
|
return await this.store.query('pki/issuer', { backend: this.secretMountPath.currentPath });
|
|
} catch (e) {
|
|
return e.httpStatus;
|
|
}
|
|
}
|
|
|
|
async model() {
|
|
return hash({
|
|
hasConfig: this.shouldPromptConfig,
|
|
engine: this.modelFor('application'),
|
|
roles: this.fetchAllRoles(),
|
|
issuers: this.fetchAllIssuers(),
|
|
certificates: this.fetchAllCertificates(),
|
|
});
|
|
}
|
|
|
|
setupController(controller, resolvedModel) {
|
|
super.setupController(controller, resolvedModel);
|
|
const roles = resolvedModel.roles;
|
|
const certificates = resolvedModel.certificates;
|
|
|
|
controller.notConfiguredMessage = getCliMessage();
|
|
|
|
if (roles?.length) controller.notConfiguredMessage = getCliMessage('roles');
|
|
if (certificates?.length) controller.notConfiguredMessage = getCliMessage('certificates');
|
|
if (roles?.length && certificates?.length)
|
|
controller.notConfiguredMessage = getCliMessage('roles and certificates');
|
|
}
|
|
}
|