import { z } from 'zod'
import type { DiagnoseSrc } from '~/models/diagnose-src'

const DiagnoseSrcSchema = z.object({
  code: z
    .string({ required_error: 'Kode harus diisi' })
    .min(1, 'Kode minimum 1 karakter')
    .max(10, 'Kode maksimum 10 karakter'),
  name: z
    .string({ required_error: 'Nama harus diisi' })
    .min(1, 'Nama minimum 1 karakter')
    .max(2048, 'Nama maksimum 2048 karakter'),
  indName: z
    .string({ required_error: 'Nama (ID) harus diisi' })
    .min(1, 'Nama (ID) minimum 1 karakter')
    .max(2048, 'Nama (ID) maksimum 2048 karakter'),
})

type DiagnoseSrcFormData = z.infer<typeof DiagnoseSrcSchema> & Partial<DiagnoseSrc>

export { DiagnoseSrcSchema }
export type { DiagnoseSrcFormData }
