42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import { z } from "zod"
|
|
|
|
import { imageSchema } from "../image"
|
|
|
|
const healthFacilitiesOpenHoursSchema = z.object({
|
|
alwaysOpen: z.boolean(),
|
|
closingTime: z.string().optional(),
|
|
isClosed: z.boolean(),
|
|
openingTime: z.string().optional(),
|
|
sortOrder: z.number().optional(),
|
|
})
|
|
|
|
export const healthFacilitySchema = z.object({
|
|
content: z.object({
|
|
images: z.array(imageSchema),
|
|
texts: z.object({
|
|
descriptions: z.object({
|
|
short: z.string(),
|
|
medium: z.string(),
|
|
}),
|
|
facilityInformation: z.string().optional(),
|
|
surroundingInformation: z.string().optional(),
|
|
}),
|
|
}),
|
|
details: z.array(
|
|
z.object({
|
|
name: z.string(),
|
|
type: z.string(),
|
|
value: z.string().optional(),
|
|
})
|
|
),
|
|
openingDetails: z.object({
|
|
manualOpeningHours: z.string().optional(),
|
|
openingHours: z.object({
|
|
ordinary: healthFacilitiesOpenHoursSchema,
|
|
weekends: healthFacilitiesOpenHoursSchema,
|
|
}),
|
|
useManualOpeningHours: z.boolean(),
|
|
}),
|
|
type: z.string(),
|
|
})
|