improved setup for server components
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user