Files
gregorlohaus.com/src/lib/schema/cv/entry.ts
2025-06-10 16:51:03 +02:00

31 lines
1.0 KiB
TypeScript

import { cvEntry } from "~/server/db/schema";
import { createInsertSchema, createUpdateSchema, createSelectSchema} from 'drizzle-zod'
import { z } from "zod";
export const selectSchema = createSelectSchema(cvEntry);
export const insertSchema = createInsertSchema(cvEntry);
export const inserSchemaNoDates = insertSchema.omit({
fromTime:true,
toTime:true
})
export const insertSchemaForm = inserSchemaNoDates.merge(z.object({
fromTime: z.date(),
toTime: z.date()
}))
export const updateSchema = createUpdateSchema(cvEntry);
export const updateSchemaNoDates = updateSchema.omit({
fromTime:true,
toTime:true
})
export const getSchema = selectSchema.pick({id: true});
export const updateRouteSchema = z.object({
by: selectSchema.pick({id:true}),
update: updateSchema.omit({id:true})
})
export const updateRouteSchemaCliennt = z.object({
by: selectSchema.pick({id:true}),
update: updateSchemaNoDates.merge(z.object({
fromTime: z.date(),
toTime: z.date()
}))
})