@@ -18,6 +18,7 @@ import { Decoder } from "./Decoder";
1818import { DecodingState } from "./DecodingState" ;
1919import { SkipError } from "./SkipError" ;
2020import { AskPayloadReceiveFormated } from "./types/PayloadEvents" ;
21+ import { DeviceMeasureSource } from "../measure/types/MeasureSources" ;
2122
2223export class PayloadService extends BaseService {
2324 constructor ( plugin : DeviceManagerPlugin ) {
@@ -110,19 +111,14 @@ export class PayloadService extends BaseService {
110111 const devices = await this . retrieveDevices (
111112 decoder . deviceModel ,
112113 decodedPayload . references ,
113- { refresh } ,
114+ {
115+ refresh,
116+ } ,
114117 ) ;
115118 for ( const device of devices ) {
116119 const {
117120 _id,
118- _source : {
119- reference,
120- model,
121- metadata,
122- linkedMeasures,
123- engineId,
124- groups,
125- } ,
121+ _source : { reference, linkedMeasures, engineId } ,
126122 } = device ;
127123 // ? Done here to avoid invoque Measure service only for device metadata change (if no engineId)
128124 const deviceMetadataChanges = decodedPayload . getMetadata ( reference ) ;
@@ -152,15 +148,10 @@ export class PayloadService extends BaseService {
152148 {
153149 measurements,
154150 payloadUuids : [ uuid ] ,
155- source : {
156- deviceMetadata : metadata ,
157- groups,
158- id : _id ,
159- metadata : deviceMetadataChanges ,
160- model : model ,
161- reference : reference ,
162- type : "device" ,
163- } ,
151+ source : this . getDeviceMeasureSource (
152+ device ,
153+ deviceMetadataChanges ,
154+ ) ,
164155 target : {
165156 assetId : null ,
166157 indexId : engineId ,
@@ -183,15 +174,10 @@ export class PayloadService extends BaseService {
183174 {
184175 measurements : assetMeasurements ,
185176 payloadUuids : [ uuid ] ,
186- source : {
187- deviceMetadata : metadata ,
188- groups,
189- id : _id ,
190- metadata : deviceMetadataChanges ,
191- model : model ,
192- reference : reference ,
193- type : "device" ,
194- } ,
177+ source : this . getDeviceMeasureSource (
178+ device ,
179+ deviceMetadataChanges ,
180+ ) ,
195181 target : {
196182 assetId : assetId ,
197183 indexId : engineId ,
@@ -215,15 +201,10 @@ export class PayloadService extends BaseService {
215201 {
216202 measurements : unlinkedMeasurements ,
217203 payloadUuids : [ uuid ] ,
218- source : {
219- deviceMetadata : metadata ,
220- groups,
221- id : _id ,
222- metadata : deviceMetadataChanges ,
223- model : model ,
224- reference : reference ,
225- type : "device" ,
226- } ,
204+ source : this . getDeviceMeasureSource (
205+ device ,
206+ deviceMetadataChanges ,
207+ ) ,
227208 target : {
228209 assetId : null ,
229210 indexId : engineId ,
@@ -245,8 +226,7 @@ export class PayloadService extends BaseService {
245226 ) {
246227 const apiAction = "device-manager/devices:receiveMeasure" ;
247228 const {
248- _id,
249- _source : { reference, model, metadata, linkedMeasures, engineId, groups } ,
229+ _source : { model, linkedMeasures, engineId } ,
250230 } = device ;
251231
252232 // TODO: do we want update a metadata from formatted payload to ?
@@ -270,14 +250,10 @@ export class PayloadService extends BaseService {
270250 {
271251 measurements : assetMeasurements ,
272252 payloadUuids,
273- source : {
274- deviceMetadata : metadata ,
275- groups,
276- id : _id ,
277- model : model ,
278- reference : reference ,
279- type : "device" ,
280- } ,
253+ source : this . getDeviceMeasureSource (
254+ device ,
255+ device . _source . metadata ,
256+ ) ,
281257 target : {
282258 assetId : assetId ,
283259 indexId : engineId ,
@@ -301,14 +277,10 @@ export class PayloadService extends BaseService {
301277 {
302278 measurements : unlinkedMeasurements ,
303279 payloadUuids,
304- source : {
305- deviceMetadata : metadata ,
306- groups,
307- id : _id ,
308- model : model ,
309- reference : reference ,
310- type : "device" ,
311- } ,
280+ source : this . getDeviceMeasureSource (
281+ device ,
282+ device . _source . metadata ,
283+ ) ,
312284 target : {
313285 assetId : null ,
314286 indexId : engineId ,
@@ -398,9 +370,7 @@ export class PayloadService extends BaseService {
398370 updatedDevices . push ( ...newDevices ) ;
399371 } else {
400372 this . app . log . info (
401- `Skipping new devices "${ errors . join (
402- ", " ,
403- ) } ". Auto-provisioning is disabled.`,
373+ `Skipping new devices "${ errors . join ( ", " ) } ". Auto-provisioning is disabled.` ,
404374 ) ;
405375 }
406376 }
@@ -485,7 +455,9 @@ export class PayloadService extends BaseService {
485455 const deleted = await this . sdk . bulk . deleteByQuery (
486456 this . config . platformIndex ,
487457 "payloads" ,
488- { query : { bool : { filter } } } ,
458+ {
459+ query : { bool : { filter } } ,
460+ } ,
489461 ) ;
490462
491463 return deleted ;
@@ -498,4 +470,21 @@ export class PayloadService extends BaseService {
498470 ) {
499471 await this . savePayload ( deviceModel , uuidv4 ( ) , false , payload , apiAction ) ;
500472 }
473+
474+ private getDeviceMeasureSource (
475+ device : KDocument < DeviceContent > ,
476+ deviceMetadataChanges : JSONObject ,
477+ ) : DeviceMeasureSource {
478+ const { reference, model, metadata, groups } = device . _source ;
479+
480+ return {
481+ deviceMetadata : metadata ,
482+ groups,
483+ id : device . _id ,
484+ metadata : deviceMetadataChanges ,
485+ model : model ,
486+ reference : reference ,
487+ type : "device" ,
488+ } ;
489+ }
501490}
0 commit comments