Files
simrsx-fe/app/schemas/specialist-position.schema.ts
T
Khafid Prayoga c340de3114 feat(specialist-position): implement crud operations for specialist positions
add handler, service, schema and update components for specialist position management
update list configuration and form to handle specialist relations
2025-10-31 10:55:45 +07:00

25 lines
927 B
TypeScript

import { z } from 'zod'
import type { SpecialistPosition } from '~/models/specialist-position'
const SpecialistPositionSchema = 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'),
headStatus: z.boolean().optional().nullable(),
specialist_id: z
.union([
z.string({ required_error: 'Spesialis harus diisi' }),
z.number({ required_error: 'Spesialis harus diisi' }),
])
.optional()
.nullable(),
employee_id: z
.union([z.string({ required_error: 'Karyawan harus diisi' }), z.number({ required_error: 'Karyawan harus diisi' })])
.optional()
.nullable(),
})
type SpecialistPositionFormData = z.infer<typeof SpecialistPositionSchema> & Partial<SpecialistPosition>
export { SpecialistPositionSchema }
export type { SpecialistPositionFormData }