Files
Environment-Monitoring-System/ems-frontend/ems-monitoring-system/src/api/grid.ts
ChuXun 02a830145e 1
2025-10-25 19:18:43 +08:00

42 lines
1.2 KiB
TypeScript

import apiClient from './index';
import type { Grid } from './types';
/**
* DTO for updating a grid's core properties.
* This should align with GridUpdateRequest in the backend.
*/
export interface GridUpdateRequest {
isObstacle?: boolean;
description?: string;
}
/**
* 更新网格信息
* @param gridId - 要更新的网格ID
* @param data - 包含更新数据的对象
* @returns 更新后的网格对象
*/
export const updateGrid = (gridId: number, data: GridUpdateRequest): Promise<Grid> => {
return apiClient.patch(`/grids/${gridId}`, data);
};
/**
* 通过坐标将网格员分配到网格
* @param gridX - 网格X坐标
* @param gridY - 网格Y坐标
* @param userId - 要分配的用户ID
* @returns 成功则返回void
*/
export const assignWorkerByCoordinates = (gridX: number, gridY: number, userId: number): Promise<void> => {
return apiClient.post(`/grids/coordinates/${gridX}/${gridY}/assign`, { userId });
};
/**
* 通过坐标从网格中移除网格员
* @param gridX - 网格X坐标
* @param gridY - 网格Y坐标
* @returns 成功则返回void
*/
export const unassignWorkerByCoordinates = (gridX: number, gridY: number): Promise<void> => {
return apiClient.post(`/grids/coordinates/${gridX}/${gridY}/unassign`);
};