/* =========================
Devices module
========================= */
export class DevicesApi {
constructor(core) {
this.core = core;
}
// GET /api/v1/devices/list
list(cb) {
return this.core.api_get("/api/v1/devices/list", cb);
}
// GET /api/v1/devices/scanning/setup
scanning_setup(cb) {
return this.core.api_get("/api/v1/devices/scanning/setup", cb);
}
// GET /api/v1/devices/scanning/all
scanning_all(cb) {
return this.core.api_get("/api/v1/devices/scanning/all", cb);
}
// POST /api/v1/devices/setup/new-device
setup_new_device(payload, cb) {
// payload: { device_ip, alias, name, description }
return this.core.api_post("/api/v1/devices/setup/new-device", payload, cb);
}
// GET /api/v1/devices/id/{{id}}/info
info(id, cb) {
const safe = encodeURIComponent(String(id));
return this.core.api_get(`/api/v1/devices/id/${safe}/info`, cb);
}
// GET /api/v1/devices/id/{{id}}
get(id, cb) {
const safe = encodeURIComponent(String(id));
return this.core.api_get(`/api/v1/devices/id/${safe}`, cb);
}
// GET /api/v1/devices/id/{{id}}/status
status(id, cb) {
const safe = encodeURIComponent(String(id));
return this.core.api_get(`/api/v1/devices/id/${safe}/status`, cb);
}
// POST /api/v1/devices/action
action(payload, cb) {
// payload: { device_id, action, params }
return this.core.api_post("/api/v1/devices/action", payload, cb);
}
// GET /api/v1/devices/id/{{id}}/remove
remove(id, cb) {
const safe = encodeURIComponent(String(id));
return this.core.api_get(`/api/v1/devices/id/${safe}/remove`, cb);
}
// GET /api/v1/devices/id/{{id}}/reboot
reboot(id, cb) {
const safe = encodeURIComponent(String(id));
return this.core.api_get(`/api/v1/devices/id/${safe}/reboot`, cb);
}
}