node-hue-api
Version:
Philips Hue API Library for Node.js
56 lines (55 loc) • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Schedules = void 0;
const ApiDefinition_1 = require("./http/ApiDefinition");
const schedules_1 = require("./http/endpoints/schedules");
class Schedules extends ApiDefinition_1.ApiDefinition {
constructor(hueApi) {
super(hueApi);
}
getAll() {
return this.execute(schedules_1.schedulesApi.getAll);
}
// /**
// * @deprecated Use getSchedule(id) instead
// * @param id {int | Schedule}
// * @returns {Promise<Schedule>}
// */
// get(id) {
// util.deprecatedFunction('5.x', 'schedules.get(id)', 'Use schedules.getSchedule(id) instead.');
// return this.getSchedule(id);
// }
getSchedule(id) {
return this.execute(schedules_1.schedulesApi.getScheduleAttributes, { id: id });
}
getScheduleByName(name) {
return this.getAll()
.then(schedules => {
return schedules.filter(schedule => schedule.name === name);
});
}
createSchedule(schedule) {
const self = this;
return self.execute(schedules_1.schedulesApi.createSchedule, { schedule: schedule })
.then(result => {
return self.getSchedule(result.id);
});
}
updateSchedule(schedule) {
return this.execute(schedules_1.schedulesApi.setScheduleAttributes, { id: schedule, schedule: schedule });
}
// /**
// * @deprecated Use udpateSchedule(schedule) instead.
// * @param id
// * @param schedule
// * @returns {Promise<boolean>}
// */
// update(id, schedule) {
// return this.execute(schedulesApi.setScheduleAttributes, {id: id, schedule: schedule});
// }
deleteSchedule(id) {
return this.execute(schedules_1.schedulesApi.deleteSchedule, { id: id });
}
}
exports.Schedules = Schedules;
;