Files
website/layers/diary/shared/utils/schemas.ts
T
2026-10-01 19:39:20 +02:00

19 lines
530 B
TypeScript

import { z } from 'zod'
const isoDate = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, 'Pick a date')
const requiredText = z.string().trim().min(1, 'Write something first')
export const newNoteSchema = z.object({
date: isoDate,
text: requiredText
})
export const newReviewSchema = z.object({
bookId: z.number({ error: 'Pick a book' }).int().positive('Pick a book'),
date: isoDate,
text: requiredText
})
export type NewNoteInput = z.output<typeof newNoteSchema>
export type NewReviewInput = z.output<typeof newReviewSchema>