alb3rt-sensors
Version:
56 lines (45 loc) • 1.3 kB
JavaScript
;
const moment = require('moment'),
core = require('alb3rt-core'),
camera = require('../camera'),
motion = require('../motion'),
endpoints = {
camera: camera.endpoint,
motion: motion.endpoint
};
class Alb3rtSensorsResource {
constructor() {
this.endpoints = Object.keys(endpoints);
this.timestamps = {
post: {
motion: moment()
}
};
}
reject(response) {
core.api.responder.reject(response, true);
}
get sensors() {
const self = this;
return {
get(request, response) {
const id = request.params.id;
if (!id || id && self.endpoints.indexOf(id) === -1) {
self.reject(response);
return;
}
endpoints[id].get(request.query, (result, data) => {
if (!result) {
self.reject(response);
return;
}
core.api.responder.send(response, {
status: 200,
data
});
});
}
};
}
}
module.exports = new Alb3rtSensorsResource();