feat(division): change parent id to number before integrate

This commit is contained in:
riefive
2025-10-03 15:00:10 +07:00
parent 2d8c751788
commit 55559a4683
2 changed files with 12 additions and 2 deletions
+10
View File
@@ -6,7 +6,16 @@ import {
removeDivisionPosition, removeDivisionPosition,
} from '~/services/division-position.service' } from '~/services/division-position.service'
function normalizeParentId(payload: any) {
if (payload.parent_id !== undefined && payload.parent_id !== null && payload.parent_id !== '') {
payload.parent_id = Number(payload.parent_id)
if (isNaN(payload.parent_id)) payload.parent_id = null
}
return payload
}
function selectPost(payload: any) { function selectPost(payload: any) {
payload = normalizeParentId(payload)
if (payload.division_id && Number(payload.division_id) > 0) { if (payload.division_id && Number(payload.division_id) > 0) {
return postDivisionPosition return postDivisionPosition
} }
@@ -15,6 +24,7 @@ function selectPost(payload: any) {
} }
function selectPatch(id: number | string, payload: any) { function selectPatch(id: number | string, payload: any) {
payload = normalizeParentId(payload)
if (payload.division_id && Number(payload.division_id) > 0) { if (payload.division_id && Number(payload.division_id) > 0) {
return patchDivisionPosition return patchDivisionPosition
} }
+2 -2
View File
@@ -4,8 +4,8 @@ import type { Division, DivisionPosition } from '~/models/division'
const DivisionSchema = z.object({ const DivisionSchema = z.object({
code: z.string({ required_error: 'Kode harus diisi' }).min(1, 'Kode minimum 1 karakter'), 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'), name: z.string({ required_error: 'Nama harus diisi' }).min(1, 'Nama minimum 1 karakter'),
parent_id: z.number({ required_error: 'Divisi Induk harus diisi' }).optional().nullable(), parent_id: z.string({ required_error: 'Divisi Induk harus diisi' }).optional().nullable(),
division_id: z.number({ required_error: 'Divisi Induk harus diisi' }).optional().nullable(), division_id: z.string({ required_error: 'Divisi Induk harus diisi' }).optional().nullable(),
}) })
type DivisionFormData = z.infer<typeof DivisionSchema> & (Division | DivisionPosition) type DivisionFormData = z.infer<typeof DivisionSchema> & (Division | DivisionPosition)