import WebClient from "@/shared/web-client" export interface Device { id: string deviceId: string status: "online" | "offline" | "upgrading" lastHeartbeat: string currentVersion?: string targetVersion?: string groupId?: string createdAt: string updatedAt: string } export interface DevicesResponse { data: Device[] total: number page: number pageSize: number } export interface DevicesQuery { page?: number pageSize?: number status?: string groupId?: string search?: string } export async function getDevices(query?: DevicesQuery): Promise { const params = new URLSearchParams() if (query?.page) params.append("page", query.page.toString()) if (query?.pageSize) params.append("pageSize", query.pageSize.toString()) if (query?.status) params.append("status", query.status) if (query?.groupId) params.append("groupId", query.groupId) if (query?.search) params.append("search", query.search) const queryString = params.toString() const { data } = await WebClient.get(`/devices${queryString ? `?${queryString}` : ""}`) return data }