Add support for timestamp in smart query
This commit is contained in:
1 parent
46c1781816
commit
71bb2d4f28
1 file changed
+21
@@ -63,6 +63,22 @@ function queryNumber(param, value) {
|
|||||||
return [op, param, v];
|
return [op, param, v];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function queryTimestamp(param, value) {
|
||||||
|
let op = "=";
|
||||||
|
for (const o of ["<>", "=", "<=", "<", ">=", ">"]) {
|
||||||
|
if (value.startsWith(o)) {
|
||||||
|
op = o;
|
||||||
|
value = value.slice(o.length).trim();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let v = parseInt(value);
|
||||||
|
if (v !== +value) v = Date.parse(value);
|
||||||
|
if (isNaN(v)) return null;
|
||||||
|
return [op, param, v];
|
||||||
|
}
|
||||||
|
|
||||||
function queryString(param, value) {
|
function queryString(param, value) {
|
||||||
return ["LIKE", ["FUNC", "LOWER", param], value.toLowerCase()];
|
return ["LIKE", ["FUNC", "LOWER", param], value.toLowerCase()];
|
||||||
}
|
}
|
||||||
@@ -105,6 +121,11 @@ function unpack(resource, label, value) {
|
|||||||
if (q) res.push(q);
|
if (q) res.push(q);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (type.length === 0 || type.includes("timestamp")) {
|
||||||
|
const q = queryTimestamp(resources[resource][label].parameter, value);
|
||||||
|
if (q) res.push(q);
|
||||||
|
}
|
||||||
|
|
||||||
if (type.includes("mac")) {
|
if (type.includes("mac")) {
|
||||||
const q = queryMac(resources[resource][label].parameter, value);
|
const q = queryMac(resources[resource][label].parameter, value);
|
||||||
if (q) res.push(q);
|
if (q) res.push(q);
|
||||||
|
|||||||
Reference in new issue
Block a user