Tokiva-backend-Node / src /schemas /ops.schema.ts
anoderb
feat: initial commit of Tokiva POS Node backend for Hugging Face
ef874e6
Raw
History Blame Contribute Delete
1.18 kB
import { z } from 'zod';
export const bukaShiftSchema = z.object({
body: z.object({
modal_awal: z.number({ required_error: 'Modal awal wajib diisi' }).nonnegative('Modal awal tidak boleh negatif'),
catatan: z.string().optional().nullable(),
}),
});
export const tutupShiftSchema = z.object({
body: z.object({
modal_akhir_fisik: z.number({ required_error: 'Modal akhir fisik wajib diisi' }).nonnegative('Modal akhir fisik tidak boleh negatif'),
catatan: z.string().optional().nullable(),
}),
});
export const updatePengaturanSchema = z.object({
body: z.object({
nilai: z.string({ required_error: 'Nilai pengaturan wajib diisi' }),
deskripsi: z.string().optional().nullable(),
}),
});
export const laporanQuerySchema = z.object({
query: z.object({
tgl_mulai: z.string({ required_error: 'tgl_mulai wajib diisi' }).refine((val) => !isNaN(Date.parse(val)), {
message: 'Format tgl_mulai tidak valid (harus YYYY-MM-DD)',
}),
tgl_selesai: z.string({ required_error: 'tgl_selesai wajib diisi' }).refine((val) => !isNaN(Date.parse(val)), {
message: 'Format tgl_selesai tidak valid (harus YYYY-MM-DD)',
}),
}),
});