From 4bb57ed0a00c3588547513213cb3ea62eb4e77ca Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 20 Apr 2026 16:21:28 +0700 Subject: [PATCH] feat: create bulkApprove and bulkReject method --- .../api/daily-checklist/daily-checklist.ts | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/services/api/daily-checklist/daily-checklist.ts b/src/services/api/daily-checklist/daily-checklist.ts index 2ea3991c..5fc7e278 100644 --- a/src/services/api/daily-checklist/daily-checklist.ts +++ b/src/services/api/daily-checklist/daily-checklist.ts @@ -192,6 +192,29 @@ export class DailyChecklistApiService extends BaseApiService< } } + async bulkApprove(ids: string[]) { + try { + const formData = new FormData(); + + formData.append('ids', ids.join(',')); + formData.append('status', 'APPROVED'); + formData.append('reject_reason', ''); + + const approvePath = `${this.basePath}/bulk-update`; + const approveRes = await httpClient(approvePath, { + method: 'PATCH', + body: formData, + }); + + return approveRes; + } catch (error) { + if (axios.isAxiosError(error)) { + return error.response?.data; + } + return undefined; + } + } + async reject(id: string, rejectReason: string) { try { const formData = new FormData(); @@ -215,6 +238,29 @@ export class DailyChecklistApiService extends BaseApiService< } } + async bulkReject(ids: string[], rejectReason: string) { + try { + const formData = new FormData(); + + formData.append('ids', ids.join(',')); + formData.append('status', 'REJECTED'); + formData.append('reject_reason', rejectReason); + + const rejectPath = `${this.basePath}/bulk-update`; + const rejectRes = await httpClient(rejectPath, { + method: 'PATCH', + body: formData, + }); + + return rejectRes; + } catch (error) { + if (axios.isAxiosError(error)) { + return error.response?.data; + } + return undefined; + } + } + async uploadImage( id: number, status: string,