Migrate away from component helper in credential library form component (#3013)

* refactor: 💡 migrate away from component helper for cred library form

* Add missing copyright headers
This commit is contained in:
hashicc authored and GitHub committed 2025-10-07 13:40:30 -04:00
1 parent 928ca5409c
commit 0bd152e0b5
2 files changed
+40 -8

No files matched your search

@@ -4,12 +4,11 @@
}}
{{#if @model.type}}
{{component
(concat 'form/credential-library/' @model.type)
model=@model
submit=@submit
cancel=@cancel
changeType=@changeType
edit=@edit
}}
<this.credentialLibraryFormComponent
@model={{@model}}
@submit={{@submit}}
@cancel={{@cancel}}
@changeType={{@changeType}}
@edit={{@edit}}
/>
{{/if}}
@@ -0,0 +1,33 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Component from '@glimmer/component';
import { assert } from '@ember/debug';
import {
TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC,
TYPE_CREDENTIAL_LIBRARY_VAULT_SSH_CERTIFICATE,
TYPE_CREDENTIAL_LIBRARY_VAULT_LDAP,
} from 'api/models/credential-library';
import VaultGenericFormComponent from './vault-generic';
import VaultSshCertificateFormComponent from './vault-ssh-certificate';
import VaultLdapFormComponent from './vault-ldap';
const modelTypeToComponent = {
[TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC]: VaultGenericFormComponent,
[TYPE_CREDENTIAL_LIBRARY_VAULT_SSH_CERTIFICATE]:
VaultSshCertificateFormComponent,
[TYPE_CREDENTIAL_LIBRARY_VAULT_LDAP]: VaultLdapFormComponent,
};
export default class FormCredentialLibraryIndex extends Component {
get credentialLibraryFormComponent() {
const component = modelTypeToComponent[this.args.model.type];
assert(
`Mapped component must exist for credential library type: ${this.args.model.type}`,
component,
);
return component;
}
}