From 2db950a59d23bd1ca2f699474fdaba2798e4c919 Mon Sep 17 00:00:00 2001 From: Firq Date: Thu, 25 Jan 2024 21:21:45 +0100 Subject: [PATCH] Split Schema --- src/content/config.ts | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/content/config.ts b/src/content/config.ts index d108e66..d780621 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -1,6 +1,6 @@ import { z, defineCollection } from 'astro:content' -const taEntry = z.object({ +const entry = z.object({ title: z.string(), link: z.string().url(), date: z.string().transform((str) => new Date(str)), @@ -9,25 +9,27 @@ const taEntry = z.object({ runner: z.string(), }) -const taInfo = defineCollection({ +const quest = z.object({ + questTitle: z.string(), + description: z.string(), + data: z.array(entry) +}) + +const info = z.object({ + title: z.string(), + releaseDate: z.string().transform((str) => new Date(str)), + shortdescription: z.string(), + releaseNumber: z.number().default(1), +}) + +const taData = defineCollection({ type: 'data', schema: z.object({ - info: z.object({ - title: z.string(), - releaseDate: z.string().transform((str) => new Date(str)), - shortdescription: z.string(), - releaseNumber: z.number().default(1), - }), - quests: z.array( - z.object({ - questTitle: z.string(), - description: z.string(), - data: z.array(taEntry) - }) - ), + info: info, + quests: z.array(quest), }), }) export const collections = { - taInfoData: taInfo, + taInfoData: taData, }