From 7126e77839d3a1b6a6bfeab3d9e449aa1b425a6b Mon Sep 17 00:00:00 2001 From: Pat Deegan Date: Mon, 30 Mar 2015 00:44:43 -0400 Subject: [PATCH 1/2] Added support for xively.devices module, which adds CRUD as well as list() and activate() support for devices, according to the Devices API (https://personal.xively.com/dev/docs/api/product_management/devices/) --- src/xivelyjs.js | 70 +++++++++++++++++++++++++++++++++++++++++++++++ xivelyjs-1.0.4.js | 48 ++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) diff --git a/src/xivelyjs.js b/src/xivelyjs.js index a2e7c44..b9251cf 100644 --- a/src/xivelyjs.js +++ b/src/xivelyjs.js @@ -440,6 +440,76 @@ }); } }; + + + + // --------------------------------- + // Devices module + // + this.devices = { + list: function(productid, options, callback) { + request({ + url : apiEndpoint +"/products/"+ productid +"/devices", + data : options, + always : callback + }); + }, + + activate: function(activationcode, callback) { + request({ + url : apiEndpoint +"/devices/"+ activationcode +"/activate", + always : callback + }); + }, + + create: function(productid, data, callback) { + request({ + type : "post", + url : apiEndpoint +"/products/" + productid + "/devices", + data : data, + always : callback + }); + }, + + read: function(productid, deviceserial, callback) { + + request({ + url : apiEndpoint +"/products/"+ productid +"/devices/" + deviceserial, + always : callback + }); + }, + + update: function(productid, deviceserial, data, callback) { + + request({ + type : "put", + url : apiEndpoint +"/products/"+ productid +"/devices/" + deviceserial, + data : data, + always : callback + }); + }, + 'delete': function(productid, deviceserial, callback) { + + request({ + type : "delete", + url : apiEndpoint +"/products/"+ productid +"/devices/" + deviceserial, + always : callback + }); + } + + + }; + + + + + + + + + + + this._settings = function() { return { diff --git a/xivelyjs-1.0.4.js b/xivelyjs-1.0.4.js index 002f56c..97d6d2a 100644 --- a/xivelyjs-1.0.4.js +++ b/xivelyjs-1.0.4.js @@ -363,6 +363,54 @@ }); } }; + // --------------------------------- + // Devices module + // + this.devices = { + list: function(productid, options, callback) { + request({ + url : apiEndpoint +"/products/"+ productid +"/devices", + data : options, + always : callback + }); + }, + activate: function(activationcode, callback) { + request({ + url : apiEndpoint +"/devices/"+ activationcode +"/activate", + always : callback + }); + }, + create: function(productid, data, callback) { + request({ + type : "post", + url : apiEndpoint +"/products/" + productid + "/devices", + data : data, + always : callback + }); + }, + read: function(productid, deviceserial, callback) { + request({ + url : apiEndpoint +"/products/"+ productid +"/devices/" + deviceserial, + always : callback + }); + }, + update: function(productid, deviceserial, data, callback) { + request({ + type : "put", + url : apiEndpoint +"/products/"+ productid +"/devices/" + deviceserial, + data : data, + always : callback + }); + }, + 'delete': function(productid, deviceserial, callback) { + + request({ + type : "delete", + url : apiEndpoint +"/products/"+ productid +"/devices/" + deviceserial, + always : callback + }); + } + }; this._settings = function() { return { apiKey: apiKey, From 13d5d44d307931611b3a9fde08e39ed94b2bbb65 Mon Sep 17 00:00:00 2001 From: Pat Deegan Date: Mon, 13 Apr 2015 14:14:42 -0400 Subject: [PATCH 2/2] Replaced tabs in xivelyjs.js by spaces to remove jshint warnings on build. --- src/xivelyjs.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xivelyjs.js b/src/xivelyjs.js index b9251cf..c6afb47 100644 --- a/src/xivelyjs.js +++ b/src/xivelyjs.js @@ -482,7 +482,7 @@ update: function(productid, deviceserial, data, callback) { request({ - type : "put", + type : "put", url : apiEndpoint +"/products/"+ productid +"/devices/" + deviceserial, data : data, always : callback @@ -491,7 +491,7 @@ 'delete': function(productid, deviceserial, callback) { request({ - type : "delete", + type : "delete", url : apiEndpoint +"/products/"+ productid +"/devices/" + deviceserial, always : callback });