import { z } from "zod" import { isDefined } from "@/server/utils" export const locationsUrlsSchema = z.object({ hotels: z .object({ items: z.array( z.object({ id: z.string(), url: z.string(), }) ), }) .transform((data) => { return data.items }), cities: z .object({ items: z .array( z .object({ id: z .object({ da: z.string().nullish(), de: z.string().nullish(), en: z.string().nullish(), fi: z.string().nullish(), no: z.string().nullish(), pl: z.string().nullish(), sv: z.string().nullish(), }) .transform( (data) => data.da || data.de || data.en || data.fi || data.no || data.pl || data.sv ), url: z.string().nullish(), }) .partial() .transform((data) => { if (!data.id || !data.url) { return null } return { id: data.id, url: data.url, } }) ) .transform((data) => { return data.filter(isDefined) }), }) .transform((data) => { return data.items }), }) export type GetLocationsUrlsData = z.input export type LocationsUrls = z.output