eletrotupi / tcc/ api/src/schemas/medicineRegimen.schema.tse859306d5d146d94a8a17ec574c428b9cb94792c
937 B | 27 lines Raw
1
import { z } from 'zod';
2
import { MedicinePeriodicity } from '@prisma/client';
3

4
export const CreateMedicineRegimenSchema = z.object({
5
  name: z.string().min(1),
6
  dosage: z.string().min(1),
7
  periodicity: z.nativeEnum(MedicinePeriodicity),
8
  scheduledAt: z.array(z.string()).optional().default([]),
9
});
10

11
export type CreateMedicineRegimenInput = z.infer<typeof CreateMedicineRegimenSchema>;
12

13
export const UpdateMedicineRegimenSchema = z.object({
14
  name: z.string().min(1).optional(),
15
  dosage: z.string().min(1).optional(),
16
  periodicity: z.nativeEnum(MedicinePeriodicity).optional(),
17
  scheduledAt: z.array(z.string()).optional().default([]),
18
  active: z.boolean().optional(),
19
});
20

21
export type UpdateMedicineRegimenInput = z.infer<typeof UpdateMedicineRegimenSchema>;
22

23
export const ToggleMedicineRegimenSchema = z.object({
24
  active: z.boolean(),
25
});
26

27
export type ToggleMedicineRegimenInput = z.infer<typeof ToggleMedicineRegimenSchema>;