mirror of
https://github.com/hashicorp/vault.git
synced 2025-09-19 04:41:09 +02:00
* removes remaining instances of auth-method model/adapter use * removes auth method and config models/adapters/serializers * fixes field to attrs tests * fixes mfa tests * fixes password reset Co-authored-by: Jordan Reimer <zofskeez@gmail.com> Co-authored-by: Jordan Reimer <jordan.reimer@hashicorp.com>
63 lines
1.8 KiB
JavaScript
63 lines
1.8 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import Component from '@glimmer/component';
|
|
import { service } from '@ember/service';
|
|
import { task } from 'ember-concurrency';
|
|
import { action } from '@ember/object';
|
|
import AuthMethodResource from 'vault/resources/auth/method';
|
|
|
|
/**
|
|
* @module MountAccessorSelect
|
|
* The MountAccessorSelect component is used to selectDrop down mount options.
|
|
*
|
|
* @example
|
|
* ```js
|
|
* <MountAccessorSelect @value={this.aliasMountAccessor} @onChange={this.onChange} />
|
|
* ```
|
|
* @param {string} value - the selected value.
|
|
* @param {function} onChange - the parent function that handles when a new value is selected.
|
|
* @param {boolean} [showAccessor] - whether or not you should show the value or the more detailed accessor off the class.
|
|
* @param {boolean} [noDefault] - whether or not there is a default value.
|
|
* @param {boolean} [filterToken] - whether or not you should filter out type "token".
|
|
* @param {string} [name] - name on the label.
|
|
* @param {string} [label] - label above the select input.
|
|
* @param {string} [helpText] - text shown in tooltip.
|
|
*/
|
|
|
|
export default class MountAccessorSelect extends Component {
|
|
@service api;
|
|
|
|
get filterToken() {
|
|
return this.args.filterToken || false;
|
|
}
|
|
|
|
get noDefault() {
|
|
return this.args.noDefault || false;
|
|
}
|
|
|
|
constructor() {
|
|
super(...arguments);
|
|
this.authMethods.perform();
|
|
}
|
|
|
|
@task *authMethods() {
|
|
const { data } = yield this.api.sys.authListEnabledMethods();
|
|
const methods = this.api
|
|
.responseObjectToArray(data, 'path')
|
|
.map((method) => new AuthMethodResource(method, this));
|
|
|
|
if (!this.args.value && !this.args.noDefault) {
|
|
const getValue = methods[0].accessor;
|
|
this.args.onChange(getValue);
|
|
}
|
|
return methods;
|
|
}
|
|
|
|
@action change(event) {
|
|
this.args.onChange(event.target.value);
|
|
}
|
|
}
|