UNPKG

node-hue-api

Version:
51 lines (50 loc) 1.57 kB
"use strict"; 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;