Files
invest-mind-store/apps/web/src/services/position.ts
2026-01-13 16:46:18 +08:00

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();