This commit is contained in:
Vakula Uladimir
2025-10-17 11:27:52 +03:00
commit 12f005e335
72 changed files with 14402 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
import { z } from 'zod'
/**
* Zod schema for auction data validation
* Ensures all scraped data conforms to expected structure before database insertion
*/
export const AuctionSchema = z.object({
auctionNum: z.string().trim().min(1, 'Auction number is required'),
title: z.string().trim().min(1, 'Title is required'),
organization: z.string().trim().min(1, 'Organization is required'),
status: z.string().trim().min(1, 'Status is required'),
deadline: z.string().nullable().default(null),
link: z.string().url('Link must be a valid URL'),
description: z.string().nullable().default(null),
})
/**
* TypeScript type inferred from schema
*/
export type AuctionData = z.infer<typeof AuctionSchema>