feat(medicine): modify entry-form, create handler and service

This commit is contained in:
riefive
2025-09-29 09:57:57 +07:00
parent 97d36f1279
commit 11e63dde3e
9 changed files with 566 additions and 110 deletions

No files matched your search

+9 -8
View File
@@ -1,12 +1,13 @@
import { z } from 'zod'
import type { MedicineBase } from '~/models/medicine'
const MedicineBaseSchema = z.object({
code: z.string({ required_error: 'Kode harus diisi' }).min(1, 'Kode minimum 1 karakter'),
name: z.string({ required_error: 'Nama harus diisi' }).min(1, 'Nama minimum 1 karakter')
export const MedicineSchema = z.object({
code: z.string({ required_error: 'Kode harus diisi' }).min(1, 'Kode minimal 1 karakter'),
name: z.string({ required_error: 'Nama harus diisi' }).min(1, 'Nama minimal 1 karakter'),
medicineGroup_code: z.string({ required_error: 'Kelompok obat harus diisi' }).min(1, 'Kelompok obat harus diisi'),
medicineMethod_code: z.string({ required_error: 'Metode pemberian harus diisi' }).min(1, 'Metode pemberian harus diisi'),
uom_code: z.string({ required_error: 'Satuan harus diisi' }).min(1, 'Satuan harus diisi'),
infra_id: z.number().nullable().optional(),
stock: z.preprocess((val) => Number(val), z.number({ invalid_type_error: 'Stok harus berupa angka' }).min(1, 'Stok harus lebih besar dari 0')),
})
type MedicineBaseFormData = z.infer<typeof MedicineBaseSchema> & MedicineBase
export { MedicineBaseSchema }
export type { MedicineBaseFormData }
export type MedicineFormData = z.infer<typeof MedicineSchema>