feat: add functionality to create, edit, and remove firearms
This commit is contained in:
+19
-1
@@ -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 { WebClient } from "@/shared/web-client"
|
||||||
import { asUrlSearchParam } from "@/utils/query-param-utils.ts"
|
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}`)
|
const { data } = await WebClient.get<Firearm>(`/firearms/${id}`)
|
||||||
return data
|
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
@@ -27,9 +27,11 @@ export interface Firearm {
|
|||||||
fireRate: number
|
fireRate: number
|
||||||
armourDamage: number
|
armourDamage: number
|
||||||
bodyDamage: number
|
bodyDamage: number
|
||||||
review: string
|
review: string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface AddFirearmRequest extends Omit<Firearm, "id"> {}
|
||||||
|
|
||||||
export interface Modification {
|
export interface Modification {
|
||||||
id: number
|
id: number
|
||||||
firearmId: number
|
firearmId: number
|
||||||
|
|||||||
Reference in New Issue
Block a user