Loading http-bridge/controllers/generalControllers.js +6 −4 Original line number Diff line number Diff line const axios = require("axios"); const qs = require("qs"); const NGSITranslator = require("../translator/NGSITranslator"); const typeMaps = require("../typeMaps/typeMaps"); Loading @@ -20,7 +19,8 @@ function generateMeasurementTypeParam(type, attributes) { ? attributes.split(",").map(attr => Object.entries(typeMap) .find(([_, value]) => value.slug === attr)?.[0]) .filter(Boolean) : Object.keys(typeMap); .map(type => `"${type}"`) // Ensure all attributes are quoted : Object.keys(typeMap).map(type => `"${type}"`); // Quote all keys if (measurementTypes.length === 0) { throw new Error(`No valid attributes found for type '${type}' and attributes '${attributes}'`); Loading Loading @@ -85,7 +85,6 @@ const fetchTemporalData = async (type, measurementTypes, params) => { measurement_type: `in.(${measurementTypes.join(",")})`, ts: params.ts, }, paramsSerializer: (params) => qs.stringify(params, { encode: false }) // Prevent double encoding }); return response; Loading Loading @@ -144,9 +143,12 @@ const fetchRealTimeData = async (type, measurementTypes, params) => { const getTemporalEntities = async (req, res) => { console.log("Incoming temporal request:", req.query); let { type, timerel, time, endTime, attrs } = req.query; let tsParams = []; // Decode the time parameter if it's encoded time = decodeURIComponent(time); endTime = decodeURIComponent(endTime); switch (timerel) { case "after": tsParams.push(`gte.${time}`); Loading http-bridge/package-lock.json +3 −19 Original line number Diff line number Diff line { "name": "wrappertest", "name": "uowm-http-bridge", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "wrappertest", "name": "uowm-http-bridge", "version": "1.0.0", "license": "ISC", "dependencies": { "axios": "^1.7.8", "dotenv": "^16.4.5", "express": "^4.21.1", "morgan": "^1.10.0", "qs": "^6.14.0" "morgan": "^1.10.0" } }, "node_modules/accepts": { Loading Loading @@ -784,21 +783,6 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, "node_modules/qs": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", Loading http-bridge/package.json +1 −2 Original line number Diff line number Diff line Loading @@ -13,7 +13,6 @@ "axios": "^1.7.8", "dotenv": "^16.4.5", "express": "^4.21.1", "morgan": "^1.10.0", "qs": "^6.14.0" "morgan": "^1.10.0" } } Loading
http-bridge/controllers/generalControllers.js +6 −4 Original line number Diff line number Diff line const axios = require("axios"); const qs = require("qs"); const NGSITranslator = require("../translator/NGSITranslator"); const typeMaps = require("../typeMaps/typeMaps"); Loading @@ -20,7 +19,8 @@ function generateMeasurementTypeParam(type, attributes) { ? attributes.split(",").map(attr => Object.entries(typeMap) .find(([_, value]) => value.slug === attr)?.[0]) .filter(Boolean) : Object.keys(typeMap); .map(type => `"${type}"`) // Ensure all attributes are quoted : Object.keys(typeMap).map(type => `"${type}"`); // Quote all keys if (measurementTypes.length === 0) { throw new Error(`No valid attributes found for type '${type}' and attributes '${attributes}'`); Loading Loading @@ -85,7 +85,6 @@ const fetchTemporalData = async (type, measurementTypes, params) => { measurement_type: `in.(${measurementTypes.join(",")})`, ts: params.ts, }, paramsSerializer: (params) => qs.stringify(params, { encode: false }) // Prevent double encoding }); return response; Loading Loading @@ -144,9 +143,12 @@ const fetchRealTimeData = async (type, measurementTypes, params) => { const getTemporalEntities = async (req, res) => { console.log("Incoming temporal request:", req.query); let { type, timerel, time, endTime, attrs } = req.query; let tsParams = []; // Decode the time parameter if it's encoded time = decodeURIComponent(time); endTime = decodeURIComponent(endTime); switch (timerel) { case "after": tsParams.push(`gte.${time}`); Loading
http-bridge/package-lock.json +3 −19 Original line number Diff line number Diff line { "name": "wrappertest", "name": "uowm-http-bridge", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "wrappertest", "name": "uowm-http-bridge", "version": "1.0.0", "license": "ISC", "dependencies": { "axios": "^1.7.8", "dotenv": "^16.4.5", "express": "^4.21.1", "morgan": "^1.10.0", "qs": "^6.14.0" "morgan": "^1.10.0" } }, "node_modules/accepts": { Loading Loading @@ -784,21 +783,6 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, "node_modules/qs": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", Loading
http-bridge/package.json +1 −2 Original line number Diff line number Diff line Loading @@ -13,7 +13,6 @@ "axios": "^1.7.8", "dotenv": "^16.4.5", "express": "^4.21.1", "morgan": "^1.10.0", "qs": "^6.14.0" "morgan": "^1.10.0" } }