46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import { api } from './api';
|
|
import type { ApiResponse } from '@/types/common';
|
|
import type {
|
|
PositionResponse,
|
|
CreatePositionRequest,
|
|
UpdatePositionRequest,
|
|
} from '@/types/position';
|
|
|
|
/**
|
|
* 持仓服务
|
|
*/
|
|
class PositionService {
|
|
/**
|
|
* 查询用户的所有持仓(不分页)
|
|
*/
|
|
async getPositionsByUserId(): Promise<ApiResponse<PositionResponse[]>> {
|
|
return await api.get<ApiResponse<PositionResponse[]>>('/position');
|
|
}
|
|
|
|
/**
|
|
* 创建持仓
|
|
*/
|
|
async createPosition(data: CreatePositionRequest): Promise<ApiResponse<PositionResponse>> {
|
|
return await api.post<ApiResponse<PositionResponse>>('/position', data);
|
|
}
|
|
|
|
/**
|
|
* 更新持仓
|
|
*/
|
|
async updatePosition(
|
|
id: number,
|
|
data: UpdatePositionRequest
|
|
): Promise<ApiResponse<PositionResponse>> {
|
|
return await api.patch<ApiResponse<PositionResponse>>(`/position/${id}`, data);
|
|
}
|
|
|
|
/**
|
|
* 删除持仓
|
|
*/
|
|
async deletePosition(id: number): Promise<void> {
|
|
await api.delete(`/position/${id}`);
|
|
}
|
|
}
|
|
|
|
export const positionService = new PositionService();
|