import { useFormContext } from "react-hook-form"; import { SecretSync } from "@app/hooks/api/secretSyncs"; import { TSecretSyncForm } from "../schemas"; import { OnePassSyncFields } from "./1PasswordSyncFields"; import { AwsParameterStoreSyncFields } from "./AwsParameterStoreSyncFields"; import { AwsSecretsManagerSyncFields } from "./AwsSecretsManagerSyncFields"; import { AzureAppConfigurationSyncFields } from "./AzureAppConfigurationSyncFields"; import { AzureDevOpsSyncFields } from "./AzureDevopsSyncFields"; import { AzureKeyVaultSyncFields } from "./AzureKeyVaultSyncFields"; import { CamundaSyncFields } from "./CamundaSyncFields"; import { DatabricksSyncFields } from "./DatabricksSyncFields"; import { GcpSyncFields } from "./GcpSyncFields"; import { GitHubSyncFields } from "./GitHubSyncFields"; import { HCVaultSyncFields } from "./HCVaultSyncFields"; import { HumanitecSyncFields } from "./HumanitecSyncFields"; import { OCIVaultSyncFields } from "./OCIVaultSyncFields"; import { TeamCitySyncFields } from "./TeamCitySyncFields"; import { TerraformCloudSyncFields } from "./TerraformCloudSyncFields"; import { VercelSyncFields } from "./VercelSyncFields"; import { WindmillSyncFields } from "./WindmillSyncFields"; export const SecretSyncDestinationFields = () => { const { watch } = useFormContext(); const destination = watch("destination"); switch (destination) { case SecretSync.AWSParameterStore: return ; case SecretSync.AWSSecretsManager: return ; case SecretSync.GitHub: return ; case SecretSync.GCPSecretManager: return ; case SecretSync.AzureKeyVault: return ; case SecretSync.AzureAppConfiguration: return ; case SecretSync.AzureDevOps: return ; case SecretSync.Databricks: return ; case SecretSync.Humanitec: return ; case SecretSync.TerraformCloud: return ; case SecretSync.Camunda: return ; case SecretSync.Vercel: return ; case SecretSync.Windmill: return ; case SecretSync.HCVault: return ; case SecretSync.TeamCity: return ; case SecretSync.OCIVault: return ; case SecretSync.OnePass: return ; default: throw new Error(`Unhandled Destination Config Field: ${destination}`); } };