From 16db0eb0eef982c7b7147641bfabbc46046975d5 Mon Sep 17 00:00:00 2001 From: zihluwang Date: Tue, 21 Apr 2026 14:30:13 +0800 Subject: [PATCH] feat: add functionality to create, edit, and remove firearms --- src/api/firearm-api.ts | 20 +++++++++++++++++++- src/types/index.ts | 4 +++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/api/firearm-api.ts b/src/api/firearm-api.ts index f2f8e0b..9b0bbba 100644 --- a/src/api/firearm-api.ts +++ b/src/api/firearm-api.ts @@ -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 { const { data } = await WebClient.get(`/firearms/${id}`) return data } + +/** + * 新建武器 + * @param request + */ +export async function addFirearm(request: AddFirearmRequest): Promise { + const { data } = await WebClient.post("/firearms", request) + return data +} + +export async function editFirearm(id: number, request: AddFirearmRequest): Promise { + const { data } = await WebClient.put(`/firearms/${id}`, request) + return data +} + +export async function removeFirearm(id: number) { + await WebClient.delete(`/firearms/${id}`) +} diff --git a/src/types/index.ts b/src/types/index.ts index 76ccf4a..ae82bae 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -27,9 +27,11 @@ export interface Firearm { fireRate: number armourDamage: number bodyDamage: number - review: string + review: string | null } +export interface AddFirearmRequest extends Omit {} + export interface Modification { id: number firearmId: number