Files
simrsx-fe/app/handlers/division.handler.ts
2025-10-02 14:12:10 +07:00

50 lines
1.3 KiB
TypeScript

import { createCrudHandler } from '~/handlers/_handler'
import { postDivision, patchDivision, removeDivision } from '~/services/division.service'
import {
postDivisionPosition,
patchDivisionPosition,
removeDivisionPosition,
} from '~/services/division-position.service'
function selectPost(payload: any) {
if (payload.division_id && Number(payload.division_id) > 0) {
return postDivisionPosition
}
delete payload.division_id;
return postDivision
}
function selectPatch(id: number | string, payload: any) {
if (payload.division_id && Number(payload.division_id) > 0) {
return patchDivisionPosition
}
delete payload.division_id;
return patchDivision
}
function selectRemove(payload: any) {
if (payload.division_id && Number(payload.division_id) > 0) {
return removeDivisionPosition
}
return removeDivision
}
export const {
recId,
recAction,
recItem,
isReadonly,
isProcessing,
isFormEntryDialogOpen,
isRecordConfirmationOpen,
onResetState,
handleActionSave,
handleActionEdit,
handleActionRemove,
handleCancelForm,
} = createCrudHandler({
post: (payload: any) => selectPost(payload)(payload),
patch: (id: number | string, payload: any) => selectPatch(id, payload)(id, payload),
remove: (payload: any) => selectRemove(payload)(payload),
})