Files
padmaja/lib/validations/product.ts
2026-01-17 14:17:42 +05:30

23 lines
841 B
TypeScript

import { z } from 'zod'
export const productSchema = z.object({
name: z.string().min(1, 'Product name is required'),
description: z.string().optional(),
price: z.number().positive('Price must be positive'),
discount: z.number().min(0).max(100).default(0),
images: z.array(z.string().url()).default([]),
stock: z.number().int().min(0).default(0),
categoryId: z.string().min(1, 'Category is required'),
sku: z.string().min(1, 'SKU is required'),
slug: z.string().min(1, 'Slug is required')
})
export const categorySchema = z.object({
name: z.string().min(1, 'Category name is required'),
description: z.string().optional(),
image: z.string().url().optional(),
isActive: z.boolean().default(true)
})
export type ProductInput = z.infer<typeof productSchema>
export type CategoryInput = z.infer<typeof categorySchema>