From abc4c68a0f1279a7a33955ebff9c1abba08849dd Mon Sep 17 00:00:00 2001 From: zihluwang Date: Wed, 22 Apr 2026 16:52:19 +0800 Subject: [PATCH] feat: add CRUD operations for modifications in modification-api --- src/api/modification-api.ts | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/api/modification-api.ts b/src/api/modification-api.ts index 1d95436..84254c2 100644 --- a/src/api/modification-api.ts +++ b/src/api/modification-api.ts @@ -1,4 +1,4 @@ -import { Modification, Page, PageQueryParams } from "@/types" +import { Modification, ModificationRequest, Page, PageQueryParams } from "@/types" import { WebClient } from "@/shared/web-client" import { asUrlSearchParam } from "@/utils/query-param-utils.ts" @@ -30,4 +30,38 @@ export async function getModifications(params?: ModificationParams): Promise { const { data } = await WebClient.get(`/modifications/${id}`) return data +} + +export async function addModification(modification: ModificationRequest): Promise { + const { data } = await WebClient.post("/modifications", modification) + return data +} + +export async function addModifications( + modifications: ModificationRequest[] +): Promise { + const { data } = await WebClient.post("/modifications/batch", { + modifications, + }) + return data +} + +export async function editModification( + id: number, + modification: ModificationRequest +): Promise { + const { data } = await WebClient.put(`/modifications/${id}`, modification) + return data +} + +export async function removeModification( + id: number +): Promise { + await WebClient.delete(`/modifications/${id}`) +} + +export async function removeModifications(ids: number[]) { + const urlSearchParams = new URLSearchParams() + ids.forEach((id) => urlSearchParams.append("ids", "" + id)) + await WebClient.delete(`/modifications/batch-delete?${urlSearchParams.toString()}`) } \ No newline at end of file