Tokiva-backend-Node / src /schemas /stok.schema.ts
anoderb
feat: initial commit of Tokiva POS Node backend for Hugging Face
ef874e6
Raw
History Blame Contribute Delete
855 Bytes
import { z } from 'zod';
export const barangMasukSchema = z.object({
body: z.object({
produk_id: z.number({ required_error: 'produk_id wajib diisi' }),
qty: z.number({ required_error: 'Kuantitas (qty) wajib diisi' }).positive(),
harga_beli: z.number({ required_error: 'Harga beli wajib diisi' }).positive(),
batch_no: z.string().optional().nullable(),
expired_date: z.string().optional().nullable().transform((val) => (val ? new Date(val) : null)),
supplier_id: z.number().optional().nullable(),
catatan: z.string().optional().nullable(),
}),
});
export const stokOpnameSchema = z.object({
body: z.object({
produk_id: z.number({ required_error: 'produk_id wajib diisi' }),
stok_fisik: z.number({ required_error: 'stok_fisik wajib diisi' }).nonnegative(),
alasan: z.string().optional().nullable(),
}),
});