mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-10-29 17:52:32 +00:00
* update hds to latest version * yield dropdown Interactive text instead of use @text arg, results after running codemod * remaining dropdown changes * address sidebar nav IconButton deprecation, fix secret tests * revert * explicitly select popupmenu * more test changes * fix pki toggle button * remove tracked prop in oidc client controller * aaand more test updates * change to tilde * tilde yarn lock changes * small cleanup items
117 lines
4.0 KiB
Handlebars
117 lines
4.0 KiB
Handlebars
{{!
|
|
Copyright (c) HashiCorp, Inc.
|
|
SPDX-License-Identifier: BUSL-1.1
|
|
~}}
|
|
|
|
<HeaderCredentials @role={{this.role}} @scope={{this.scope}} />
|
|
<Toolbar>
|
|
{{#if this.model.meta.total}}
|
|
<ToolbarFilters>
|
|
<NavigateInput
|
|
@filterFocusDidChange={{action "setFilterFocus"}}
|
|
@filterDidChange={{action "setFilter"}}
|
|
@filter={{this.filter}}
|
|
@filterMatchesKey={{this.filterMatchesKey}}
|
|
@firstPartialMatch={{this.firstPartialMatch}}
|
|
@placeholder="Filter credentials by serial number"
|
|
@urls={{hash
|
|
create="vault.cluster.secrets.backend.kmip.credentials.generate"
|
|
list="vault.cluster.secrets.backend.kmip.scope.roles"
|
|
show="vault.cluster.secrets.backend.kmip.credentials"
|
|
}}
|
|
/>
|
|
{{#if this.filterFocused}}
|
|
{{#if this.filterMatchesKey}}
|
|
<p class="input-hint">
|
|
<kbd>ENTER</kbd>
|
|
to go to
|
|
<code>{{this.filter}}</code>
|
|
roles
|
|
</p>
|
|
{{/if}}
|
|
{{#if this.firstPartialMatch}}
|
|
<p class="input-hint">
|
|
<kbd>TAB</kbd>
|
|
to complete
|
|
<code>{{this.firstPartialMatch.id}}</code>
|
|
</p>
|
|
{{/if}}
|
|
{{/if}}
|
|
</ToolbarFilters>
|
|
{{/if}}
|
|
<ToolbarActions>
|
|
<ToolbarLink @route={{"credentials.generate"}} @type="add" data-test-kmip-link-generate-credentials>
|
|
Generate credentials
|
|
</ToolbarLink>
|
|
</ToolbarActions>
|
|
</Toolbar>
|
|
<ListView
|
|
@items={{this.model}}
|
|
@itemNoun="credentials"
|
|
@paginationRouteName="credentials.index"
|
|
@paginationRouteParams={{array this.scope this.role}}
|
|
as |list|
|
|
>
|
|
{{#if list.empty}}
|
|
<list.empty
|
|
@title="No credentials yet for this role"
|
|
@message="You can generate new credentials that will be limited to this role's allowed operations, then you can distribute them to your KMIP clients."
|
|
>
|
|
<Hds::Link::Standalone @icon="plus" @text="Generate credentials" @route="credentials.generate" />
|
|
</list.empty>
|
|
{{else if list.item}}
|
|
<ListItem
|
|
@linkPrefix={{this.mountPoint}}
|
|
@linkParams={{array "credentials.show" this.scope this.role list.item.id}}
|
|
as |Item|
|
|
>
|
|
<Item.content>
|
|
<Icon @name="file-text" class="has-text-grey-light" />{{list.item.id}}
|
|
</Item.content>
|
|
<Item.menu>
|
|
<Hds::Dropdown @isInline={{true}} @listPosition="bottom-right" as |dd|>
|
|
<dd.ToggleIcon @icon="more-horizontal" @text="More options" @hasChevron={{false}} data-test-popup-menu-trigger />
|
|
<dd.Interactive @route="credentials.show" @models={{array this.scope this.role list.item.id}}>View credentials</dd.Interactive>
|
|
{{#if list.item.deletePath.isPending}}
|
|
<dd.Generic>
|
|
<LoadingDropdownOption />
|
|
</dd.Generic>
|
|
{{else if list.item.deletePath.canDelete}}
|
|
<dd.Interactive
|
|
@color="critical"
|
|
{{on "click" (fn (mut this.credToRevoke) list.item)}}
|
|
data-test-confirm-action-trigger
|
|
>Revoke credentials</dd.Interactive>
|
|
{{/if}}
|
|
</Hds::Dropdown>
|
|
{{#if (eq this.credToRevoke list.item)}}
|
|
<ConfirmModal
|
|
@color="critical"
|
|
@onClose={{fn (mut this.credToRevoke) null}}
|
|
@confirmTitle="Revoke this?"
|
|
@confirmMessage="Any client using these credentials will no longer be able to."
|
|
@onConfirm={{action
|
|
(perform
|
|
Item.callMethod
|
|
"destroyRecord"
|
|
this.credToRevoke
|
|
"Successfully revoked credentials"
|
|
"There was an error revoking the credentials"
|
|
(action "refresh")
|
|
)
|
|
}}
|
|
/>
|
|
{{/if}}
|
|
</Item.menu>
|
|
</ListItem>
|
|
{{else}}
|
|
<ListItem as |Item|>
|
|
<Item.content>
|
|
There are no credentials that match
|
|
{{this.filter}}, press
|
|
<kbd>ENTER</kbd>
|
|
to add one.
|
|
</Item.content>
|
|
</ListItem>
|
|
{{/if}}
|
|
</ListView> |