53 lines
995 B
TypeScript
53 lines
995 B
TypeScript
|
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<Device[]> {
|
||
|
return (
|
||
|
await APIClient.exec({
|
||
|
uri: "/devices/list_pending",
|
||
|
method: "GET",
|
||
|
})
|
||
|
).data;
|
||
|
}
|
||
|
}
|