import { z } from "zod/v4"; import { RemoteConnectionInputSchema } from "../api/domain/remote-connection-values"; export type { RemoteConnectionInput } from "../api/domain/remote-connection-values"; export { REMOTE_STATE_TRANSITIONS, RemoteConnectionInputSchema, } from "../api/domain/remote-connection-values"; export const RemoteParamsSchema = z.strictObject({ companyId: z.uuid() }); export const RemoteItemParamsSchema = RemoteParamsSchema.extend({ id: z.uuid() }); export const SaveRemoteConnectionRequestSchema = z.strictObject({ values: RemoteConnectionInputSchema, }); export const RemoteConnectionSchema = z.strictObject({ id: z.uuid(), companyId: z.uuid(), values: RemoteConnectionInputSchema, needsReview: z.boolean(), authorizationEffective: z.boolean(), history: z .array( z.strictObject({ id: z.uuid(), actorId: z.uuid(), actorName: z.string().min(1), recordedAt: z.iso.datetime(), values: RemoteConnectionInputSchema, }) ) .min(1), }); export const RemoteConnectionsResponseSchema = z.strictObject({ connections: z.array(RemoteConnectionSchema), }); export const RemoteConnectionResponseSchema = z.strictObject({ connection: RemoteConnectionSchema, }); export type RemoteConnectionDTO = z.infer;