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;