import { z } from "zod" import { nullableStringValidator } from "@scandic-hotels/common/utils/zod/stringValidator" const DEFAULT_IMAGE_OBJ = { altText: "Default image", altText_En: "Default image", title: "Default image", title_En: "Default image", src: "https://placehold.co/1280x720", } export const imageWithoutMetaDataSchema = z .object({ imageSizes: z.object({ original: nullableStringValidator, }), }) .nullish() export const imageSchema = z .object({ imageSizes: z.object({ original: nullableStringValidator, }), metaData: z.object({ altText: nullableStringValidator, altText_En: nullableStringValidator, copyRight: nullableStringValidator, title: nullableStringValidator, title_En: nullableStringValidator, }), }) .nullish() .transform((val) => { if (!val) { return DEFAULT_IMAGE_OBJ } return { src: val.imageSizes.original, altText: val.metaData.altText, altText_En: val.metaData.altText_En, title: val.metaData.title, title_En: val.metaData.title_En, } })