Files
NODEDC_MISSION_CORE/packages/sensor-ui/src/enrollment.ts
T

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>;
}