Unify currentRequest and sessionData structures

This commit is contained in:
Zaid Abdulla committed 2017-02-25 16:24:53 -08:00
1 parent bdcb856655
commit 59d412155b
6 files changed
+1285 -1189

No files matched your search

+13 -13
View File
@@ -23,14 +23,14 @@ const device = require("./device");
const MAX_DEPTH = config.get("MAX_DEPTH");
function refresh(sessionData, provision, declarations, startRevision, endRevision) {
function refresh(sessionContext, provision, declarations, startRevision, endRevision) {
let path = common.parsePath(provision[1]).slice();
let l = path.length;
path.length = MAX_DEPTH;
path.fill("*", l);
let every = 1000 * (provision[2] || 1);
let offset = Math.abs(common.djb2(sessionData.deviceId)) % 86400000;
let t = Math.trunc((sessionData.timestamp + offset) / every) * every - offset;
let offset = Math.abs(common.djb2(sessionContext.deviceId)) % 86400000;
let t = Math.trunc((sessionContext.timestamp + offset) / every) * every - offset;
for (let i = l; i < path.length; ++ i)
declarations.push([path.slice(0, i), t, {object: 1, writable: 1, value: t}]);
@@ -39,7 +39,7 @@ function refresh(sessionData, provision, declarations, startRevision, endRevisio
}
function value(sessionData, provision, declarations, startRevision, endRevision) {
function value(sessionContext, provision, declarations, startRevision, endRevision) {
let path = common.parsePath(provision[1]);
declarations.push([path, 1, {value: 1}, null, {value: [provision[2]]}]);
@@ -47,7 +47,7 @@ function value(sessionData, provision, declarations, startRevision, endRevision)
}
function tag(sessionData, provision, declarations, startRevision, endRevision) {
function tag(sessionContext, provision, declarations, startRevision, endRevision) {
let path = ["Tags", provision[1]];
declarations.push([path, 1, {value: 1}, null, {value: [provision[2]]}]);
@@ -55,33 +55,33 @@ function tag(sessionData, provision, declarations, startRevision, endRevision) {
}
function reboot(sessionData, provision, declarations, startRevision, endRevision) {
declarations.push([["Reboot"], 1, {value: 1}, null, {value: [sessionData.timestamp]}]);
function reboot(sessionContext, provision, declarations, startRevision, endRevision) {
declarations.push([["Reboot"], 1, {value: 1}, null, {value: [sessionContext.timestamp]}]);
return true;
}
function reset(sessionData, provision, declarations, startRevision, endRevision) {
declarations.push([["FactoryReset"], 1, {value: 1}, null, {value: [sessionData.timestamp]}]);
function reset(sessionContext, provision, declarations, startRevision, endRevision) {
declarations.push([["FactoryReset"], 1, {value: 1}, null, {value: [sessionContext.timestamp]}]);
return true;
}
function download(sessionData, provision, declarations, startRevision, endRevision) {
function download(sessionContext, provision, declarations, startRevision, endRevision) {
let alias = ["FileType", provision[1] || "", "FileName", provision[2] || "",
"TargetFileName", provision[3] || ""];
declarations.push([["Downloads", alias], 1, {}, 1]);
declarations.push([["Downloads", alias, "Download"], 1, {value: 1}, null,
{value: [sessionData.timestamp]}]);
{value: [sessionContext.timestamp]}]);
return true;
}
function instances(sessionData, provision, declarations, startRevision, endRevision) {
function instances(sessionContext, provision, declarations, startRevision, endRevision) {
let count = Number(provision[2]);
if (Number.isNaN(count))
@@ -95,7 +95,7 @@ function instances(sessionData, provision, declarations, startRevision, endRevis
if (endRevision === startRevision)
return false;
let unpacked = device.unpack(sessionData.deviceData, path, startRevision + 1);
let unpacked = device.unpack(sessionContext.deviceData, path, startRevision + 1);
count = Math.max(0, unpacked.length + count);
}