From 8eefbe9df0001cb143c2bfb182a637c12b259755 Mon Sep 17 00:00:00 2001 From: Cowch Date: Sun, 31 Aug 2025 21:36:09 -0500 Subject: [PATCH] refactor(db): added type export with zod --- app/src/pkg/db/schema/settings.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/pkg/db/schema/settings.ts b/app/src/pkg/db/schema/settings.ts index fc3386c..a7b45d8 100644 --- a/app/src/pkg/db/schema/settings.ts +++ b/app/src/pkg/db/schema/settings.ts @@ -1,4 +1,3 @@ -import type { InferInsertModel, InferSelectModel } from "drizzle-orm"; import { text, pgTable, @@ -8,6 +7,9 @@ import { jsonb, boolean, } from "drizzle-orm/pg-core"; +import { createInsertSchema, createSelectSchema } from "drizzle-zod"; + +import { z } from "zod"; export const settings = pgTable( "settings", @@ -30,5 +32,12 @@ export const settings = pgTable( ] ); -export type Setting = InferSelectModel; -export type NewSetting = InferInsertModel; +export const settingSchema = createSelectSchema(settings); +export const newSettingSchema = createInsertSchema(settings, { + name: z.string().min(3, { + message: "The name of the setting must be longer than 3 letters", + }), +}); + +export type Setting = z.infer; +export type NewSetting = z.infer;