feat: add CRUD operations for modifications in modification-api
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -31,3 +31,37 @@ export async function getModification(id: number): Promise<Modification> {
|
||||
const { data } = await WebClient.get<Modification>(`/modifications/${id}`)
|
||||
return data
|
||||
}
|
||||
|
||||
export async function addModification(modification: ModificationRequest): Promise<Modification> {
|
||||
const { data } = await WebClient.post<Modification>("/modifications", modification)
|
||||
return data
|
||||
}
|
||||
|
||||
export async function addModifications(
|
||||
modifications: ModificationRequest[]
|
||||
): Promise<Modification[]> {
|
||||
const { data } = await WebClient.post<Modification[]>("/modifications/batch", {
|
||||
modifications,
|
||||
})
|
||||
return data
|
||||
}
|
||||
|
||||
export async function editModification(
|
||||
id: number,
|
||||
modification: ModificationRequest
|
||||
): Promise<Modification> {
|
||||
const { data } = await WebClient.put<Modification>(`/modifications/${id}`, modification)
|
||||
return data
|
||||
}
|
||||
|
||||
export async function removeModification(
|
||||
id: number
|
||||
): Promise<void> {
|
||||
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()}`)
|
||||
}
|
||||
Reference in New Issue
Block a user