-
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathdeadsensor.js
36 lines (34 loc) · 1.78 KB
/
deadsensor.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"use strict";
var JSONAPISerializer = require("jsonapi-serializer").Serializer;
function DeadsensorSerializer(deadsensor) {
this.serialize = function() {
return new JSONAPISerializer("deadsensor", {
keyForAttribute: "underscore_case",
attributes : [ "ttl", "name", "latest_value", "warning", "user_id", "dead_notification", "dead_notification_interval", "dead_notification_latest", "flow_id" ],
topLevelLinks : {
parent : sprintf("%s/v%s/objects/deadsensors", baseUrl_https, version),
first : deadsensor.pageFirst!==undefined?sprintf("%s/v%s/objects/deadsensors/?page=%s&size=%s", baseUrl_https, version, deadsensor.pageFirst, deadsensor.size):undefined,
prev : deadsensor.pagePrev!==undefined?sprintf("%s/v%s/objects/deadsensors/?page=%s&size=%s", baseUrl_https, version, deadsensor.pagePrev, deadsensor.size):undefined,
next : deadsensor.pageNext!==undefined?sprintf("%s/v%s/objects/deadsensors/?page=%s&size=%s", baseUrl_https, version, deadsensor.pageNext, deadsensor.size):undefined,
last : deadsensor.pageLast!==undefined?sprintf("%s/v%s/objects/deadsensors/?page=%s&size=%s", baseUrl_https, version, deadsensor.pageLast, deadsensor.size):undefined,
},
dataLinks : {
flow : function(deadsensor) {
if ( typeof deadsensor.flow_id!=="undefined" ) {
return sprintf("%s/v%s/flows/%s", baseUrl_https, version, deadsensor.flow_id);
} else {
return null;
}
},
latest_value : function(deadsensor) {
if ( typeof deadsensor.flow_id!=="undefined" && typeof deadsensor.latest_value_ts!=="undefined" ) {
return sprintf("%s/v%s/data/%s/%s", baseUrl_https, version, deadsensor.flow_id, deadsensor.latest_value_ts);
} else {
return null;
}
},
}
}).serialize(deadsensor);
};
}
module.exports = DeadsensorSerializer;