Implement tags

This commit is contained in:
Zaid Abdulla committed 2018-12-26 00:22:07 -08:00
1 parent 8e128500d0
commit 16b10a698b
7 files changed
+195 -54

No files matched your search

+28
View File
@@ -340,7 +340,35 @@ function postTasks(deviceId, tasks) {
});
}
function updateTags(deviceId, tags) {
return Promise.all(
Object.entries(tags).map(
([tag, onOff]) =>
new Promise((resolve, reject) => {
const options = url.parse(
`${config.get(
"server.nbi"
)}devices/${deviceId}/tags/${encodeURIComponent(tag)}`
);
if (onOff) options.method = "POST";
else options.method = "DELETE";
let _http = options.protocol === "https:" ? https : http;
_http
.request(options, res => {
res.resume();
if (res.statusCode === 200) resolve();
else
reject(new Error(`Unexpected status code ${res.statusCode}`));
})
.end();
})
)
);
}
exports.query = query;
exports.count = count;
exports.postTasks = postTasks;
exports.deleteResource = deleteResource;
exports.updateTags = updateTags;