feat: add functionality to create, edit, and remove firearms

This commit is contained in:
2026-04-21 14:30:13 +08:00
parent a2e3676d05
commit 16db0eb0ee
2 changed files with 22 additions and 2 deletions
+19 -1
View File
@@ -1,4 +1,4 @@
import { Direction, Firearm, FirearmType, Page, PageQueryParams } from "@/types"
import { AddFirearmRequest, Direction, Firearm, FirearmType, Page, PageQueryParams } from "@/types"
import { WebClient } from "@/shared/web-client"
import { asUrlSearchParam } from "@/utils/query-param-utils.ts"
@@ -36,3 +36,21 @@ export async function getFirearm(id: number): Promise<Firearm> {
const { data } = await WebClient.get<Firearm>(`/firearms/${id}`)
return data
}
/**
* 新建武器
* @param request
*/
export async function addFirearm(request: AddFirearmRequest): Promise<Firearm> {
const { data } = await WebClient.post<Firearm>("/firearms", request)
return data
}
export async function editFirearm(id: number, request: AddFirearmRequest): Promise<Firearm> {
const { data } = await WebClient.put<Firearm>(`/firearms/${id}`, request)
return data
}
export async function removeFirearm(id: number) {
await WebClient.delete<void>(`/firearms/${id}`)
}
+3 -1
View File
@@ -27,9 +27,11 @@ export interface Firearm {
fireRate: number
armourDamage: number
bodyDamage: number
review: string
review: string | null
}
export interface AddFirearmRequest extends Omit<Firearm, "id"> {}
export interface Modification {
id: number
firearmId: number