From 2808f82c296e32e543583d2b7e8a20d3e96e86f9 Mon Sep 17 00:00:00 2001 From: NHoarau Date: Wed, 10 Jun 2026 02:09:51 +0400 Subject: [PATCH] feat(schema): Refactored valibot definitions to use helper function for cleaner enum handling --- packages/schema/src/valibot.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/schema/src/valibot.ts b/packages/schema/src/valibot.ts index a2bf138..83a3763 100644 --- a/packages/schema/src/valibot.ts +++ b/packages/schema/src/valibot.ts @@ -2,29 +2,33 @@ import { createInsertSchema, createSelectSchema, createUpdateSchema } from "driz import { pipe, picklist } from "valibot"; import { projects, tasks, PROJECT_STATUSES, TASK_STATUSES, PRIORITIES } from "./drizzle/index"; +const createProjectStatusSchema = (schema: any) => pipe(schema, picklist([...PROJECT_STATUSES])) as any; +const createTaskStatusSchema = (schema: any) => pipe(schema, picklist([...TASK_STATUSES])) as any; +const createPrioritySchema = (schema: any) => pipe(schema, picklist([...PRIORITIES])) as any; + export const projectSelect = createSelectSchema(projects, { - status: (schema: any) => pipe(schema, picklist([...PROJECT_STATUSES])) as any, + status: createProjectStatusSchema, }); export const taskSelect = createSelectSchema(tasks, { - status: (schema: any) => pipe(schema, picklist([...TASK_STATUSES])) as any, - priority: (schema: any) => pipe(schema, picklist([...PRIORITIES])) as any, + status: createTaskStatusSchema, + priority: createPrioritySchema, }); export const projectInsert = createInsertSchema(projects, { - status: (schema: any) => pipe(schema, picklist([...PROJECT_STATUSES])) as any, + status: createProjectStatusSchema, }); export const projectUpdate = createUpdateSchema(projects, { - status: (schema: any) => pipe(schema, picklist([...PROJECT_STATUSES])) as any, + status: createProjectStatusSchema, }); export const taskInsert = createInsertSchema(tasks, { - status: (schema: any) => pipe(schema, picklist([...TASK_STATUSES])) as any, - priority: (schema: any) => pipe(schema, picklist([...PRIORITIES])) as any, + status: createTaskStatusSchema, + priority: createPrioritySchema, }); export const taskUpdate = createUpdateSchema(tasks, { - status: (schema: any) => pipe(schema, picklist([...TASK_STATUSES])) as any, - priority: (schema: any) => pipe(schema, picklist([...PRIORITIES])) as any, + status: createTaskStatusSchema, + priority: createPrioritySchema, });