Spaces:
Sleeping
Sleeping
File size: 1,176 Bytes
ef874e6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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)',
}),
}),
});
|