From 3036adece9ab86c879b80cbf5c59cc3c4972c08b Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Tue, 6 Aug 2024 11:35:52 +0200 Subject: [PATCH] fix metadata obj into jexl context --- lib/services/ngsi/entities-NGSI-v2.js | 4 +++- test/functional/testCases.js | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/lib/services/ngsi/entities-NGSI-v2.js b/lib/services/ngsi/entities-NGSI-v2.js index 22217bf9e..81bf1a2a4 100644 --- a/lib/services/ngsi/entities-NGSI-v2.js +++ b/lib/services/ngsi/entities-NGSI-v2.js @@ -277,7 +277,9 @@ function sendUpdateValueNgsi2(entityName, originMeasures, originTypeInformation, function reduceMetadataAttrToPlainObject(attrs, initObj = {}) { if (attrs !== undefined && Array.isArray(attrs)) { return attrs.reduce((result, item) => { - result['metadata'] = {}; + if (result['metadata'] === undefined) { + result['metadata'] = {}; + } if (item.metadata !== undefined) { result['metadata'][item.name] = {}; for (var meta in item.metadata) { diff --git a/test/functional/testCases.js b/test/functional/testCases.js index 44431d996..3c360197a 100644 --- a/test/functional/testCases.js +++ b/test/functional/testCases.js @@ -1843,6 +1843,17 @@ const testCases = [ commands: [], lazy: [], static_attributes: [ + { + name: 'st_attr1', + type: 'Number', + value: 1.5, + metadata: { + coef1: { + value: 0.8, + type: 'Float' + } + } + }, { name: 'st_attr', type: 'Number', @@ -1853,6 +1864,17 @@ const testCases = [ type: 'Float' } } + }, + { + name: 'st_attr2', + type: 'Number', + value: 1.5, + metadata: { + coef2: { + value: 0.8, + type: 'Float' + } + } } ], attributes: [