/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import { action } from '@ember/object'; import { inject as service } from '@ember/service'; import errorMessage from 'vault/utils/error-message'; import type RouterService from '@ember/routing/router-service'; import type FlashMessageService from 'vault/services/flash-messages'; import type PkiKeyModel from 'vault/models/pki/key'; interface Args { key: PkiKeyModel; } export default class PkiKeyDetails extends Component { @service declare readonly router: RouterService; @service declare readonly flashMessages: FlashMessageService; @action async deleteKey() { try { await this.args.key.destroyRecord(); this.flashMessages.success('Key deleted successfully.'); this.router.transitionTo('vault.cluster.secrets.backend.pki.keys.index'); } catch (error) { this.args.key.rollbackAttributes(); this.flashMessages.danger(errorMessage(error)); } } }