node-hue-api
Version:
Philips Hue API Library for Node.js
51 lines (50 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Rules = void 0;
const ApiDefinition_1 = require("./http/ApiDefinition");
const rules_1 = require("./http/endpoints/rules");
class Rules extends ApiDefinition_1.ApiDefinition {
constructor(hueApi) {
super(hueApi);
}
getAll() {
return this.execute(rules_1.rulesApi.getAll);
}
getRule(id) {
return this.execute(rules_1.rulesApi.getRule, { id: id });
}
// /**
// * @deprecated since 4.x, use getRule(id) instead
// */
// get(id) {
// util.deprecatedFunction('5.x', 'rules.get(id)', 'Use rules.getRule(id) instead.');
// return this.getRule(id);
// }
// getOrphanedRules() {
// return this._filterRules(rule => {return rule.status === 'resourcedeleted'});
// }
//
// getDisabledRules() {
// return this._filterRules(rule => {return rule.status === 'disabled'});
// }
getRuleByName(name) {
return this.getAll()
.then(rules => {
return rules.filter(rule => rule.name === name);
});
}
createRule(rule) {
const self = this;
return self.execute(rules_1.rulesApi.createRule, { rule: rule })
.then(data => {
return self.getRule(data.id);
});
}
deleteRule(id) {
return this.execute(rules_1.rulesApi.deleteRule, { id: id });
}
updateRule(rule) {
return this.execute(rules_1.rulesApi.updateRule, { id: rule.id, rule: rule });
}
}
exports.Rules = Rules;