mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-03 20:17:59 +00:00 
			
		
		
		
	* Remove component: diff version selector * delete SecretVersionMenu * remove secret logic from GetCredentialsCard * remove DiffVersionSelector hbs file and references * delete more css for diff version view * remove diff route * fix credential card selector * ui: refactor SecretFormShow (#22723) * refactor secret form show * fix selector typo * remove version route (#22738) * Remove old KV2 delete things (#23015) * remove kv2 old delete things * comment * Remove old metadata (#22747) * wip to remove metadata * review comments * UI/remove kv2 secret create or update (#23039) * remove is v2 param * permissions clean up * remove version things * remove excess from form show * clean up * created time was never a thing for cubbyhole, confirmed on api * update tune test * fix control group tests: * Remove kv v2 models (#23087) * remove is v2 param * permissions clean up * remove version things * remove excess from form show * clean up * created time was never a thing for cubbyhole, confirmed on api * update tune test * fix control group tests: * remove models * Update ui/app/models/secret-engine.js Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com> * blah prettier --------- Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com> * UI/config update (#23111) * sweep through clean up * remove component * remove unused selectors * remove unncessary --------- Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com> Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com> Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com> Co-authored-by: Angel Garbarino <angel@hashicorp.com>
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * Copyright (c) HashiCorp, Inc.
 | 
						|
 * SPDX-License-Identifier: BUSL-1.1
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * @module SecretEditToolbar
 | 
						|
 * SecretEditToolbar component is the toolbar component displaying the JSON toggle and the actions like delete in the show mode.
 | 
						|
 *
 | 
						|
 * @example
 | 
						|
 * ```js
 | 
						|
 * <SecretEditToolbar
 | 
						|
 * @mode={{mode}}
 | 
						|
 * @model={{this.model}}
 | 
						|
 * @isWriteWithoutRead={{isWriteWithoutRead}}
 | 
						|
 * @secretDataIsAdvanced={{secretDataIsAdvanced}}
 | 
						|
 * @showAdvancedMode={{showAdvancedMode}}
 | 
						|
 * @modelForData={{this.modelForData}}
 | 
						|
 * @canUpdateSecret={{canUpdateSecret}}
 | 
						|
 * @editActions={{hash
 | 
						|
    toggleAdvanced=(action "toggleAdvanced")
 | 
						|
    refresh=(action "refresh")
 | 
						|
  }}
 | 
						|
 * />
 | 
						|
 * ```
 | 
						|
 | 
						|
 * @param {string} mode - show, create, edit. The view.
 | 
						|
 * @param {object} model - the model passed from the parent secret-edit
 | 
						|
 * @param {boolean} isWriteWithoutRead - boolean describing permissions
 | 
						|
 * @param {boolean} secretDataIsAdvanced - used to determine if show JSON toggle
 | 
						|
 * @param {boolean} showAdvancedMode - used for JSON toggle
 | 
						|
 * @param {object} modelForData - a modified version of the model with secret data
 | 
						|
 * @param {boolean} canUpdateSecret - permissions to hide/show edit secret button.
 | 
						|
 * @param {object} editActions - actions passed from parent to child
 | 
						|
 */
 | 
						|
/* eslint ember/no-computed-properties-in-native-classes: 'warn' */
 | 
						|
import Component from '@glimmer/component';
 | 
						|
import { action } from '@ember/object';
 | 
						|
import { inject as service } from '@ember/service';
 | 
						|
import { tracked } from '@glimmer/tracking';
 | 
						|
import { task } from 'ember-concurrency';
 | 
						|
import { waitFor } from '@ember/test-waiters';
 | 
						|
 | 
						|
export default class SecretEditToolbar extends Component {
 | 
						|
  @service store;
 | 
						|
  @service router;
 | 
						|
  @service flashMessages;
 | 
						|
 | 
						|
  @tracked wrappedData = null;
 | 
						|
 | 
						|
  @action
 | 
						|
  clearWrappedData() {
 | 
						|
    this.wrappedData = null;
 | 
						|
  }
 | 
						|
 | 
						|
  @action
 | 
						|
  handleDelete() {
 | 
						|
    this.args.model.destroyRecord().then(() => {
 | 
						|
      this.router.transitionTo('vault.cluster.secrets.backend.list-root');
 | 
						|
    });
 | 
						|
  }
 | 
						|
 | 
						|
  @task
 | 
						|
  @waitFor
 | 
						|
  *wrapSecret() {
 | 
						|
    const { id } = this.args.modelForData;
 | 
						|
    const { backend } = this.args.model;
 | 
						|
    const wrapTTL = { wrapTTL: 1800 };
 | 
						|
 | 
						|
    try {
 | 
						|
      const resp = yield this.store.adapterFor('secret').queryRecord(null, null, { backend, id, ...wrapTTL });
 | 
						|
      this.wrappedData = resp.wrap_info.token;
 | 
						|
      this.flashMessages.success('Secret successfully wrapped!');
 | 
						|
    } catch (e) {
 | 
						|
      this.flashMessages.danger('Could not wrap secret.');
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 |