mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-19 05:31:10 +02:00
* here we go... * glimmerize model to help —maybe—with capabilities checks * remove waitUntils
34 lines
1010 B
JavaScript
34 lines
1010 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import Component from '@glimmer/component';
|
|
import { service } from '@ember/service';
|
|
import { action } from '@ember/object';
|
|
import { buildWaiter } from '@ember/test-waiters';
|
|
import errorMessage from 'vault/utils/error-message';
|
|
|
|
const waiter = buildWaiter('transit-form-show');
|
|
|
|
export default class TransitFormShow extends Component {
|
|
@service store;
|
|
@service router;
|
|
@service flashMessages;
|
|
|
|
@action async rotateKey() {
|
|
const waiterToken = waiter.beginAsync();
|
|
const { backend, id } = this.args.key;
|
|
try {
|
|
await this.store.adapterFor('transit-key').keyAction('rotate', { backend, id });
|
|
this.flashMessages.success('Key rotated.');
|
|
// must refresh to see the updated versions, a model refresh does not trigger the change.
|
|
await this.router.refresh();
|
|
} catch (e) {
|
|
this.flashMessages.danger(errorMessage(e));
|
|
} finally {
|
|
waiter.endAsync(waiterToken);
|
|
}
|
|
}
|
|
}
|