import { z } from "zod/v4"; import { CertificateConfigurationInputSchema } from "../api/domain/certificate-configuration-values"; export type { CertificateConfigurationInput } from "../api/domain/certificate-configuration-values"; export { CERTIFICATE_STATE_TRANSITIONS, CertificateConfigurationInputSchema, } from "../api/domain/certificate-configuration-values"; export const CertificateParamsSchema = z.strictObject({ companyId: z.uuid() }); export const CertificateItemParamsSchema = CertificateParamsSchema.extend({ id: z.uuid() }); export const SaveCertificateConfigurationRequestSchema = z.strictObject({ values: CertificateConfigurationInputSchema, }); export const CertificateConfigurationSchema = z.strictObject({ id: z.uuid(), companyId: z.uuid(), values: CertificateConfigurationInputSchema, needsReview: z.boolean(), expiresOn: z.iso.date().nullable(), expired: z.boolean(), history: z .array( z.strictObject({ id: z.uuid(), actorId: z.uuid(), actorName: z.string().min(1), recordedAt: z.iso.datetime(), values: CertificateConfigurationInputSchema, }) ) .min(1), }); export const CertificateConfigurationsResponseSchema = z.strictObject({ configurations: z.array(CertificateConfigurationSchema), }); export const CertificateConfigurationResponseSchema = z.strictObject({ configuration: CertificateConfigurationSchema, }); export type CertificateConfigurationDTO = z.infer;