31 lines
1.0 KiB
TypeScript
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()
|
|
}))
|
|
})
|