mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-19 05:31:10 +02:00
* use alias for router injection * update @router declarations in engine files * fix remaining pki router imports * dynamically set router based on owner * address replication routers * update markdown docs * use non-deprecated import for getOwner * revert out of scope changes * add transition-to test
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import Component from '@glimmer/component';
|
|
import errorMessage from 'vault/utils/error-message';
|
|
import { action } from '@ember/object';
|
|
import { service } from '@ember/service';
|
|
import { task } from 'ember-concurrency';
|
|
import { waitFor } from '@ember/test-waiters';
|
|
import { tracked } from '@glimmer/tracking';
|
|
|
|
import type RouterService from '@ember/routing/router-service';
|
|
import type PkiTidyModel from 'vault/models/pki/tidy';
|
|
import type { FormField, TtlEvent } from 'vault/app-types';
|
|
|
|
interface Args {
|
|
tidy: PkiTidyModel;
|
|
tidyType: string;
|
|
onSave: CallableFunction;
|
|
onCancel: CallableFunction;
|
|
}
|
|
|
|
interface PkiTidyTtls {
|
|
acmeAccountSafetyBuffer: string;
|
|
}
|
|
interface PkiTidyBooleans {
|
|
tidyAcme: boolean;
|
|
}
|
|
|
|
export default class PkiTidyForm extends Component<Args> {
|
|
@service('app-router') declare readonly router: RouterService;
|
|
|
|
@tracked errorBanner = '';
|
|
@tracked invalidFormAlert = '';
|
|
|
|
@task
|
|
@waitFor
|
|
*save(event: Event) {
|
|
event.preventDefault();
|
|
try {
|
|
yield this.args.tidy.save({ adapterOptions: { tidyType: this.args.tidyType } });
|
|
this.args.onSave();
|
|
} catch (e) {
|
|
this.errorBanner = errorMessage(e);
|
|
this.invalidFormAlert = 'There was an error submitting this form.';
|
|
}
|
|
}
|
|
|
|
@action
|
|
handleTtl(attr: FormField, e: TtlEvent) {
|
|
const { enabled, goSafeTimeString } = e;
|
|
const ttlAttr = attr.name;
|
|
this.args.tidy[ttlAttr as keyof PkiTidyTtls] = goSafeTimeString;
|
|
this.args.tidy[attr.options.mapToBoolean as keyof PkiTidyBooleans] = enabled;
|
|
}
|
|
}
|