vault/ui/lib/pki/addon/components/page/pki-overview.ts
Kianna 11f6aad2b2
ui: VAULT-6511 PKI Overview Page (#18599)
* Inital pki overview page code setup

* Add more properties to pki-overview

* Remove previous selectable card component and update template

* Add capability check for roles and issuers

* Add acceptance tests for overview page

* Update SelectableCardForm component

* Code refactor!

* Add selectable-card-form test

* More code cleanup and move function to test helper file

* Address most feedback. Pending refactor of issue certificate card!

* Add integration test

* Moves form to SelectableCard and add tests

* Add jsdoc props to SelectableCard and fix placeholder

* Move back SelectableCard

* Covert to typescript and finish up tests

* Dont use try catch for hasConfig

* Add overview card test

* More overview card tests

* Address feedback!
2023-01-17 13:30:31 -08:00

56 lines
1.5 KiB
TypeScript

import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
import { inject as service } from '@ember/service';
import Component from '@glimmer/component';
// TYPES
import Store from '@ember-data/store';
import RouterService from '@ember/routing/router-service';
import PkiIssuerModel from 'vault/models/pki/issuer';
import PkiRoleModel from 'vault/models/pki/role';
interface Args {
issuers: PkiIssuerModel | number;
roles: PkiRoleModel | number;
engine: string;
}
export default class PkiOverview extends Component<Args> {
@service declare readonly router: RouterService;
@service declare readonly store: Store;
@tracked rolesValue = '';
@tracked certificateValue = '';
@action
transitionToViewCertificates(event: Event) {
event.preventDefault();
this.router.transitionTo(
'vault.cluster.secrets.backend.pki.certificates.certificate.details',
this.certificateValue
);
}
@action
transitionToIssueCertificates(event: Event) {
event.preventDefault();
this.router.transitionTo('vault.cluster.secrets.backend.pki.roles.role.generate', this.rolesValue);
}
@action
handleRolesInput(roles: string) {
if (Array.isArray(roles)) {
this.rolesValue = roles[0];
} else {
this.rolesValue = roles;
}
}
@action
handleCertificateInput(certificate: string) {
if (Array.isArray(certificate)) {
this.certificateValue = certificate[0];
} else {
this.certificateValue = certificate;
}
}
}