General improvements to Humanitec integration

This commit is contained in:
carlosmonastyrski
2025-03-13 09:41:12 -03:00
parent 568aadef75
commit b0b55344ce
27 changed files with 340 additions and 166 deletions
@@ -2,14 +2,23 @@ import { z } from "zod";
import { BaseSecretSyncSchema } from "@app/components/secret-syncs/forms/schemas/base-secret-sync-schema";
import { SecretSync } from "@app/hooks/api/secretSyncs";
import { HumanitecSyncScope } from "@app/hooks/api/secretSyncs/types/humanitec-sync";
export const HumanitecSyncDestinationSchema = BaseSecretSyncSchema().merge(
z.object({
destination: z.literal(SecretSync.Humanitec),
destinationConfig: z.object({
org: z.string().trim().min(1, "Organization required"),
app: z.string().trim().min(1, "App required"),
env: z.string().trim().min(1, "Environment required")
})
destinationConfig: z.discriminatedUnion("scope", [
z.object({
scope: z.literal(HumanitecSyncScope.Application),
org: z.string().trim().min(1, "Organization required"),
app: z.string().trim().min(1, "Application required")
}),
z.object({
scope: z.literal(HumanitecSyncScope.Environment),
org: z.string().trim().min(1, "Organization required"),
app: z.string().trim().min(1, "Application required"),
env: z.string().trim().min(1, "Environment required")
})
])
})
);