Unify currentRequest and sessionData structures
This commit is contained in:
1 parent
bdcb856655
commit
59d412155b
6 files changed
+1285
-1189
No files matched your search
+13
-13
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user