Files
threshold-ui/ui/admin/app/components/form/credential-library/index.js
T
hashicc 0bd152e0b5 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
2025-10-07 13:40:30 -04:00

34 lines
1.1 KiB
JavaScript

/**
* 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;
}
}