import { APIClient } from "./ApiClient"; export interface DeviceInfo { reference: string; version: string; max_relays: number; } export interface DailyMinRuntime { min_runtime: number; reset_time: number; catch_up_hours: number[]; } export interface DeviceRelay { id: string; name: string; enabled: boolean; priority: number; consumption: number; minimal_uptime: number; minimal_downtime: number; daily_runtime?: DailyMinRuntime; depends_on: DeviceRelay[]; conflicts_with: DeviceRelay[]; } export interface Device { id: string; info: DeviceInfo; time_create: number; time_update: number; name: string; description: string; validated: boolean; enabled: boolean; relays: DeviceRelay[]; } export class DeviceApi { /** * Get the list of pending devices */ static async PendingList(): Promise { return ( await APIClient.exec({ uri: "/devices/list_pending", method: "GET", }) ).data; } /** * Delete a device */ static async Delete(d: Device): Promise { await APIClient.exec({ uri: `/device/${encodeURIComponent(d.id)}`, method: "DELETE", }); } }