auction-scrapper/app/schemas/auction_schema.ts
Vakula Uladimir 12f005e335 init
2025-10-17 11:27:52 +03:00

21 lines
715 B
TypeScript

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>