21 lines
1.2 KiB
TypeScript
21 lines
1.2 KiB
TypeScript
export interface EnrollmentState {
|
|
available:boolean; fresh?:boolean; node_id:string; name?:string; runtime_id?:string;
|
|
mode?:string; model?:string; discovery_generation?:number; mode_revision?:number;
|
|
candidates?:{id:string;name:string;rssi?:number}[];
|
|
networks?:{ssid:string;signal:number;security:string}[];
|
|
connected?:boolean; ready_to_start?:boolean; selected_device_id?:string; ip?:string;
|
|
snapshot_revision?:number; runtime_started_at?:string; allowed_actions?:string[];
|
|
connection_attempt?:unknown; command_result?:{operation_id:string;action?:string;status:string;error_code?:string};
|
|
device_session?:{device_session_id:string;device_id:string}; observed_at?:string;
|
|
}
|
|
export interface EnrollmentCommand {
|
|
operation_id:string; node_id:string; runtime_id:string; action:'scan'|'networks'|'connect'|'verify';
|
|
deadline_at:string; parameters:Record<string,unknown>;
|
|
}
|
|
export interface EnrollmentOperation {operation_id?:string;state:string;error?:string;result?:EnrollmentState}
|
|
export interface EnrollmentTransport {
|
|
state:()=>Promise<EnrollmentState>;
|
|
submit:(command:EnrollmentCommand)=>Promise<EnrollmentOperation>;
|
|
operation:(id:string)=>Promise<EnrollmentOperation>;
|
|
}
|