import { z } from "zod/v4"; import { ApplicationConfigurationInputSchema } from "../api/domain/application-configuration-values"; export type { ApplicationConfigurationInput } from "../api/domain/application-configuration-values"; export { APPLICATION_STATE_TRANSITIONS, ApplicationConfigurationInputSchema, } from "../api/domain/application-configuration-values"; export const ApplicationParamsSchema = z.strictObject({ companyId: z.uuid() }); export const ApplicationItemParamsSchema = ApplicationParamsSchema.extend({ id: z.uuid() }); export const SaveApplicationConfigurationRequestSchema = z.strictObject({ values: ApplicationConfigurationInputSchema, }); export const ApplicationConfigurationSchema = z.strictObject({ id: z.uuid(), companyId: z.uuid(), values: ApplicationConfigurationInputSchema, needsReview: z.boolean(), history: z .array( z.strictObject({ id: z.uuid(), actorId: z.uuid(), actorName: z.string().min(1), recordedAt: z.iso.datetime(), values: ApplicationConfigurationInputSchema, }) ) .min(1), }); export const ApplicationConfigurationsResponseSchema = z.strictObject({ configurations: z.array(ApplicationConfigurationSchema), }); export const ApplicationConfigurationResponseSchema = z.strictObject({ configuration: ApplicationConfigurationSchema, }); export type ApplicationConfigurationDTO = z.infer;