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)',
    }),
  }),
});