improved setup for server components

This commit is contained in:
2023-10-08 12:39:58 -05:00
parent a3ff7598ae
commit c5691ae9d2
12 changed files with 85 additions and 155 deletions

View File

@@ -3,8 +3,8 @@ import { z } from "zod";
export type Project = {
name: string;
description: string;
startDate: Date;
endDate?: Date;
created: Date;
updated?: Date;
tagIDs?: string[];
media?: string[]; // array of URLs
}
@@ -19,8 +19,8 @@ export class ProjectCreationError extends Error {
export const ZProject = z.object({
name: z.string(),
description: z.string(),
startDate: z.date(),
endDate: z.date().optional(),
created: z.date(),
updated: z.date().optional(),
tagIDs: z.array(z.string()).optional(),
media: z.array(z.string()).optional(),
})
@@ -34,8 +34,9 @@ export function createProject(data: Partial<Project>) {
const completeInput = {
name: data.name,
description: data.description,
startDate: data.startDate || today,
}
created: data.created || today,
updated: today,
} satisfies Partial<Project>;
const parsedProject = ZProject.safeParse(completeInput);