@spytecgps/nova-orm 1.0.108 → 1.0.110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/repositories/deviceBehaviors/index.d.ts +1 -23
  3. package/dist/repositories/deviceBehaviors/index.js +0 -36
  4. package/dist/repositories/deviceBehaviors/index.js.map +1 -1
  5. package/dist/repositories/deviceStatus/extendedDeviceStatus.d.ts +12 -0
  6. package/dist/repositories/deviceStatus/extendedDeviceStatus.js +207 -0
  7. package/dist/repositories/deviceStatus/extendedDeviceStatus.js.map +1 -0
  8. package/dist/repositories/deviceStatus/getDeviceStatuses.d.ts +2 -3
  9. package/dist/repositories/deviceStatus/getDeviceStatuses.js +7 -2
  10. package/dist/repositories/deviceStatus/getDeviceStatuses.js.map +1 -1
  11. package/dist/repositories/deviceStatus/index.d.ts +2 -3
  12. package/dist/repositories/deviceStatus/index.js +10 -0
  13. package/dist/repositories/deviceStatus/index.js.map +1 -1
  14. package/dist/repositories/liveLinks/getLiveLinkData.js +6 -1
  15. package/dist/repositories/liveLinks/getLiveLinkData.js.map +1 -1
  16. package/dist/types/deviceStatus.d.ts +48 -6
  17. package/dist/types/liveLinks.d.ts +3 -0
  18. package/dist/utils/parsingTools.d.ts +1 -0
  19. package/dist/utils/parsingTools.js +9 -0
  20. package/dist/utils/parsingTools.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/repositories/deviceBehaviors/getDevicesLastBehaviorTask.d.ts +0 -5
  23. package/dist/repositories/deviceBehaviors/getDevicesLastBehaviorTask.js +0 -48
  24. package/dist/repositories/deviceBehaviors/getDevicesLastBehaviorTask.js.map +0 -1
  25. package/dist/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.d.ts +0 -4
  26. package/dist/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.js +0 -49
  27. package/dist/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { DeviceBehavior, UserDeviceBehaviorTask } from '../../entities';
2
- import { CreateDeviceBehaviorTaskParams, GetDeviceBehaviorsByIdsParams, GetDeviceBehaviorsParams, GetDeviceBehaviorTasksParams, GetLatestDeviceBehaviorTasksParams, GetLatestDeviceBehaviorTasksResult, GettDevicesLastBehaviorTaskParams, UpdateDeviceBehaviorTaskParams, UpsertDeviceBehaviorParams } from '../../types/deviceBehaviors';
2
+ import { CreateDeviceBehaviorTaskParams, GetDeviceBehaviorsByIdsParams, GetDeviceBehaviorsParams, GetDeviceBehaviorTasksParams, UpdateDeviceBehaviorTaskParams, UpsertDeviceBehaviorParams } from '../../types/deviceBehaviors';
3
3
  import { BaseRepository } from '../baseRepository';
4
4
  export declare class DeviceBehaviorsRepository extends BaseRepository {
5
5
  /**
@@ -35,19 +35,6 @@ export declare class DeviceBehaviorsRepository extends BaseRepository {
35
35
  * @returns The device behavior tasks list
36
36
  */
37
37
  getDeviceBehaviorTasks(params: GetDeviceBehaviorTasksParams): Promise<UserDeviceBehaviorTask[]>;
38
- /**
39
- * Get the devices last behavior task
40
- * @param {GettDevicesLastBehaviorTaskParams} params containing information to get device behavior tasks
41
- * Filters (One of taskId or imeiList is required):
42
- * - filters.imeiList: The imei list
43
- * - filters.status: The status, optional
44
- * - filters.deviceBehaviorIdList: The device behavior id list, optional
45
- * Paging options:
46
- * - pagingOptions.offset: The offset, optional. Default is 0
47
- * - pagingOptions.limit: The limit, optional. Default is 100
48
- * @returns The device behavior tasks list
49
- */
50
- getDevicesLastBehaviorTask(params: GettDevicesLastBehaviorTaskParams): Promise<UserDeviceBehaviorTask[]>;
51
38
  /**
52
39
  * Create device behavior task
53
40
  * @param {CreateDeviceBehaviorTaskParams} params containing information to create a device behavior task
@@ -74,15 +61,6 @@ export declare class DeviceBehaviorsRepository extends BaseRepository {
74
61
  * @returns Whether the device behavior task was updated
75
62
  */
76
63
  updateDeviceBehaviorTask(params: UpdateDeviceBehaviorTaskParams): Promise<boolean>;
77
- /**
78
- * Get latest device behavior tasks
79
- * @param {GetLatestDeviceBehaviorTasksParams} params containing information to get latest device behavior tasks
80
- * - params.filters.clientId: The client id
81
- * - params.filters.type: The device behavior type
82
- * - params.filters.status: The task status
83
- * @returns The latest device behavior tasks list
84
- */
85
- getLatestDeviceBehaviorTasks(params: GetLatestDeviceBehaviorTasksParams): Promise<GetLatestDeviceBehaviorTasksResult[]>;
86
64
  /**
87
65
  * Upsert device behavior
88
66
  * @param {UpsertDeviceBehaviorParams} params containing information to upsert a device behavior
@@ -4,8 +4,6 @@ import { createDeviceBehaviorTask } from './createDeviceBehaviorTask';
4
4
  import { getDeviceBehaviors } from './getDeviceBehaviors';
5
5
  import { getDeviceBehaviorsByIds } from './getDeviceBehaviorsByIds';
6
6
  import { getDeviceBehaviorTasks } from './getDeviceBehaviorTasks';
7
- import { getDevicesLastBehaviorTask } from './getDevicesLastBehaviorTask';
8
- import { getLatestDeviceBehaviorTasks } from './getLatestDeviceBehaviorTasks';
9
7
  import { updateDeviceBehaviorTask } from './updateDeviceBehaviorTask';
10
8
  import { upsertDeviceBehavior } from './upsertDeviceBehavior';
11
9
  export class DeviceBehaviorsRepository extends BaseRepository {
@@ -60,25 +58,6 @@ export class DeviceBehaviorsRepository extends BaseRepository {
60
58
  this.logger.trace(result, 'DeviceBehaviorsRepository::getDeviceBehaviorTasks result');
61
59
  return result;
62
60
  }
63
- /**
64
- * Get the devices last behavior task
65
- * @param {GettDevicesLastBehaviorTaskParams} params containing information to get device behavior tasks
66
- * Filters (One of taskId or imeiList is required):
67
- * - filters.imeiList: The imei list
68
- * - filters.status: The status, optional
69
- * - filters.deviceBehaviorIdList: The device behavior id list, optional
70
- * Paging options:
71
- * - pagingOptions.offset: The offset, optional. Default is 0
72
- * - pagingOptions.limit: The limit, optional. Default is 100
73
- * @returns The device behavior tasks list
74
- */
75
- async getDevicesLastBehaviorTask(params) {
76
- this.logger.trace(params, 'DeviceBehaviorsRepository::getDevicesLastBehaviorTask started with params');
77
- const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
78
- const result = await getDevicesLastBehaviorTask(novaDataSource, params, this.logger);
79
- this.logger.trace(result, 'DeviceBehaviorsRepository::getDevicesLastBehaviorTask result');
80
- return result;
81
- }
82
61
  /**
83
62
  * Create device behavior task
84
63
  * @param {CreateDeviceBehaviorTaskParams} params containing information to create a device behavior task
@@ -117,21 +96,6 @@ export class DeviceBehaviorsRepository extends BaseRepository {
117
96
  this.logger.trace({ result }, 'DeviceBehaviorsRepository::updateDeviceBehaviorTask result');
118
97
  return result;
119
98
  }
120
- /**
121
- * Get latest device behavior tasks
122
- * @param {GetLatestDeviceBehaviorTasksParams} params containing information to get latest device behavior tasks
123
- * - params.filters.clientId: The client id
124
- * - params.filters.type: The device behavior type
125
- * - params.filters.status: The task status
126
- * @returns The latest device behavior tasks list
127
- */
128
- async getLatestDeviceBehaviorTasks(params) {
129
- this.logger.trace(params, 'DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks started with params');
130
- const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
131
- const result = await getLatestDeviceBehaviorTasks(novaDataSource, params, this.logger);
132
- this.logger.trace(result, 'DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks result');
133
- return result;
134
- }
135
99
  /**
136
100
  * Upsert device behavior
137
101
  * @param {UpsertDeviceBehaviorParams} params containing information to upsert a device behavior
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/deviceBehaviors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/deviceBehaviors/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Device } from '../../entities';
2
+ import { ConnectionStatusInfo, DeviceStatusEntity, DeviceStatusRecord, GetDeviceStatusesParams } from '../../types/deviceStatus';
3
+ import { Logger } from '../../types/logger';
4
+ export declare const getExtendedDeviceStatus: (deviceStatus: DeviceStatusEntity, deviceInfo: Device) => ConnectionStatusInfo[];
5
+ export declare const addOnlineStatus: (deviceStatus: DeviceStatusEntity) => string | undefined;
6
+ export declare const adjustDeviceStatusProperties: (params: GetDeviceStatusesParams) => void;
7
+ export declare const tryExtendDeviceStatus: (params: {
8
+ logger: Logger;
9
+ deviceStatus: DeviceStatusRecord;
10
+ withConnectionStatusInfo?: boolean;
11
+ withOnlineStatus?: boolean;
12
+ }) => void;
@@ -0,0 +1,207 @@
1
+ // threshold since exodus was created start ~ 2019-01-01
2
+ const ALWAYS_ON_THRESHOLD = new Date().getTime() - new Date(2019, 0, 1).getTime();
3
+ const THRESHOLD_24HRS = 24 * 60 * 60 * 1000; //24hrs
4
+ const CELL_THRESHOLD_MS = 300000; // 1000*60*5 // 5mins
5
+ const CELL_STOPPED_THRESHOLD_MS = 10800000; // 200*60*1000 // 200min - 3:20 - 3hr and 20 min
6
+ //add 100% padding for moving reporting frequency
7
+ const PADDING_MOVING = 2;
8
+ //add 20% padding for stopped reporting frequency
9
+ const PADDING_STOPPED = 1.2;
10
+ const HOUR_IN_MS = 60 * 60 * 1000;
11
+ const assetTrackerIdsList = [8, 9, 13, 20, 31, 32];
12
+ // Custom workflow only applies to Device Extanded Status
13
+ /*
14
+ We Had conversations of centralizing this flow .. but it is only consumed by deviceExt status so we only populate here
15
+ */
16
+ const getConfidenceValue = (dateDiffInMs, thresholdWindowMS) => {
17
+ let confidenceValue = 0;
18
+ if (dateDiffInMs > thresholdWindowMS) {
19
+ confidenceValue = 0;
20
+ }
21
+ else {
22
+ if (dateDiffInMs === 0) {
23
+ confidenceValue = 1;
24
+ }
25
+ else {
26
+ confidenceValue = dateDiffInMs / thresholdWindowMS;
27
+ }
28
+ }
29
+ return confidenceValue;
30
+ };
31
+ const isDeviceSettingsCalculationMethod = (deviceInfo) => {
32
+ return !!(deviceInfo?.clientDeviceSetting?.fixedStatus ||
33
+ (deviceInfo.clientDeviceSetting?.movingPingFrequency &&
34
+ deviceInfo.clientDeviceSetting?.movingPingFrequency > 0));
35
+ };
36
+ const getThresholdInMS = (devStatus, deviceInfo) => {
37
+ const { speed, deviceTypeId } = devStatus;
38
+ const isDeviceStopped = Number(speed) < 2;
39
+ if (isDeviceSettingsCalculationMethod(deviceInfo)) {
40
+ //new calculation using device settings
41
+ const { fixedStatus, movingPingFrequency, stoppedPingFrequency, } = deviceInfo.clientDeviceSetting;
42
+ //manual override/ fixed status
43
+ return fixedStatus
44
+ ? fixedStatus === 'ON'
45
+ ? ALWAYS_ON_THRESHOLD // always on, device status will never be older than this threshold
46
+ : 0
47
+ : isDeviceStopped
48
+ ? movingPingFrequency * 1000 * PADDING_STOPPED // value stored in seconds. threshold add 20% to reporting freq
49
+ : stoppedPingFrequency * 1000 * PADDING_MOVING; // value stored in seconds. threshold add 100% to reporting freq (values are smaller add room for delays)
50
+ }
51
+ // old legacy calculation method by deviceType
52
+ switch (deviceTypeId) {
53
+ case 8:
54
+ case 9:
55
+ return THRESHOLD_24HRS; //24hr
56
+ default:
57
+ return isDeviceStopped ? CELL_STOPPED_THRESHOLD_MS : CELL_THRESHOLD_MS;
58
+ }
59
+ };
60
+ // Extended Statuses
61
+ const deviceStatusCellularNetwork = (devStatus, deviceInfo) => {
62
+ const resp = {
63
+ name: 'cellularNetwork',
64
+ };
65
+ try {
66
+ const thresholdMS = getThresholdInMS(devStatus, deviceInfo);
67
+ // move to helper
68
+ const nowMS = new Date().getTime();
69
+ const thresholdDateMS = nowMS - thresholdMS;
70
+ const created = new Date(devStatus.created);
71
+ const createdMS = created.getTime();
72
+ //connection
73
+ resp.ok = createdMS >= thresholdDateMS;
74
+ resp.msg = `${devStatus.deviceTypeId}`;
75
+ //confidence
76
+ const dateDiffInMs = Math.abs(nowMS - createdMS);
77
+ resp.confidence = getConfidenceValue(dateDiffInMs, thresholdMS);
78
+ }
79
+ catch (err) {
80
+ resp.msg = JSON.stringify(err);
81
+ }
82
+ return resp;
83
+ };
84
+ const deviceStatusGPSNetwork = (devStatus, deviceInfo, cellularNetworkConnected) => {
85
+ const resp = {
86
+ name: 'gpsNetwork',
87
+ };
88
+ try {
89
+ if (!cellularNetworkConnected) {
90
+ // no cellular network, then no gps connection
91
+ resp.ok = false;
92
+ resp.confidence = 1;
93
+ }
94
+ else {
95
+ // there is cellularNetowkr connection, then check if GPS connected
96
+ //const gps:Date = new Date(devStatus.gpsUTCTime)
97
+ // gpsDate format -> "yyyyMMddHHmmss"
98
+ let gpsDateTime = new Date(0); //1970-01-01 very old date
99
+ if (devStatus.gpsUTCTime) {
100
+ const gpsYear = Number(devStatus.gpsUTCTime.substring(0, 4));
101
+ const gpsMonth = Number(devStatus.gpsUTCTime.substring(4, 6)) - 1; // the month is 0-indexed
102
+ const gpsDay = Number(devStatus.gpsUTCTime.substring(6, 8));
103
+ const gpsHour = Number(devStatus.gpsUTCTime.substring(8, 10));
104
+ const gpsMin = Number(devStatus.gpsUTCTime.substring(10, 12));
105
+ const gpsSec = Number(devStatus.gpsUTCTime.substring(12));
106
+ gpsDateTime = new Date(gpsYear, gpsMonth, gpsDay, gpsHour, gpsMin, gpsSec);
107
+ }
108
+ const sendTime = new Date(devStatus.sendTime);
109
+ const thresholdMS = getThresholdInMS(devStatus, deviceInfo);
110
+ const gpsMS = gpsDateTime.getTime();
111
+ const sendMS = sendTime.getTime();
112
+ const diff = Math.abs(sendMS - gpsMS);
113
+ //connection
114
+ resp.ok = diff < thresholdMS;
115
+ //confidence
116
+ resp.confidence = getConfidenceValue(diff, thresholdMS);
117
+ //resp.msg = ` GPS:${gpsDateTime.toISOString()} Send:${sendTime.toISOString()} sendT:${sendTime.getTime()} `
118
+ }
119
+ }
120
+ catch (err) {
121
+ resp.msg = JSON.stringify(err);
122
+ }
123
+ return resp;
124
+ };
125
+ const deviceStatusBatteryCharge = (devStatus) => {
126
+ const resp = {
127
+ name: 'batteryCharge',
128
+ };
129
+ try {
130
+ const batteryCharge = Number(devStatus.batteryPercentage);
131
+ resp.ok = !!batteryCharge === true;
132
+ resp.confidence = batteryCharge;
133
+ }
134
+ catch (err) {
135
+ resp.msg = JSON.stringify(err);
136
+ }
137
+ return resp;
138
+ };
139
+ export const getExtendedDeviceStatus = (deviceStatus, deviceInfo) => {
140
+ const result = [];
141
+ if (!(deviceStatus && deviceInfo))
142
+ return result;
143
+ // read from config
144
+ const extendedStatus = true;
145
+ const { deviceTypeId } = deviceInfo;
146
+ const validatedStatus = { ...deviceStatus, deviceTypeId };
147
+ //cell network
148
+ if (extendedStatus) {
149
+ //cellular net
150
+ const cellNetworkData = deviceStatusCellularNetwork(validatedStatus, deviceInfo);
151
+ result.push(cellNetworkData);
152
+ //gps net
153
+ const gpsNetworkData = deviceStatusGPSNetwork(validatedStatus, deviceInfo, !!cellNetworkData.ok);
154
+ result.push(gpsNetworkData);
155
+ //battery charge //BatteryCharge, only if it is not undefined, there are devices that do not report battery
156
+ const { batteryPercentage } = validatedStatus;
157
+ if (typeof batteryPercentage !== 'undefined') {
158
+ const batteryChargeData = deviceStatusBatteryCharge(validatedStatus);
159
+ result.push(batteryChargeData);
160
+ }
161
+ }
162
+ return result;
163
+ };
164
+ export const addOnlineStatus = (deviceStatus) => {
165
+ let offlineTime = 3.5 * HOUR_IN_MS;
166
+ if (assetTrackerIdsList.some((i) => i == deviceStatus.deviceTypeId)) {
167
+ offlineTime = 25 * HOUR_IN_MS;
168
+ }
169
+ if (deviceStatus?.restFrequency && deviceStatus?.restFrequency * 1000 > offlineTime) {
170
+ offlineTime = deviceStatus.restFrequency * 1000 + HOUR_IN_MS;
171
+ }
172
+ const sendTime = new Date(deviceStatus.sendTime);
173
+ const isOnline = new Date().getTime() - sendTime.getTime() < offlineTime;
174
+ return `${isOnline}`;
175
+ };
176
+ export const adjustDeviceStatusProperties = (params) => {
177
+ if (!params?.projectionOptions?.deviceStatusProperties?.length) {
178
+ return;
179
+ }
180
+ if (params?.projectionOptions?.deviceStatusProperties?.includes('connectionStatus')) {
181
+ params?.projectionOptions?.deviceStatusProperties?.push('deviceTypeId');
182
+ params?.projectionOptions?.deviceStatusProperties?.push('created');
183
+ params?.projectionOptions?.deviceStatusProperties?.push('speed');
184
+ params?.projectionOptions?.deviceStatusProperties?.push('gpsUTCTime');
185
+ params?.projectionOptions?.deviceStatusProperties?.push('sendTime');
186
+ params?.projectionOptions?.deviceStatusProperties?.push('batteryPercentage');
187
+ }
188
+ if (params?.projectionOptions?.deviceStatusProperties?.includes('isOnline')) {
189
+ params?.projectionOptions?.deviceStatusProperties?.push('sendTime');
190
+ params?.projectionOptions?.deviceStatusProperties?.push('restFrequency');
191
+ }
192
+ };
193
+ export const tryExtendDeviceStatus = (params) => {
194
+ const { logger, deviceStatus, withConnectionStatusInfo, withOnlineStatus } = params;
195
+ try {
196
+ if (withConnectionStatusInfo) {
197
+ deviceStatus.data.connectionStatus = getExtendedDeviceStatus(deviceStatus.data, deviceStatus.device);
198
+ }
199
+ if (withOnlineStatus) {
200
+ deviceStatus.data.isOnline = addOnlineStatus(deviceStatus.data);
201
+ }
202
+ }
203
+ catch (err) {
204
+ logger.error(err, 'Error while extending device status properties');
205
+ }
206
+ };
207
+ //# sourceMappingURL=extendedDeviceStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extendedDeviceStatus.js","sourceRoot":"","sources":["../../../src/repositories/deviceStatus/extendedDeviceStatus.ts"],"names":[],"mappings":"AASA,wDAAwD;AACxD,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;AAEjF,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,OAAO;AACnD,MAAM,iBAAiB,GAAG,MAAM,CAAA,CAAC,qBAAqB;AACtD,MAAM,yBAAyB,GAAG,QAAQ,CAAA,CAAC,iDAAiD;AAE5F,kDAAkD;AAClD,MAAM,cAAc,GAAG,CAAC,CAAA;AACxB,kDAAkD;AAClD,MAAM,eAAe,GAAG,GAAG,CAAA;AAE3B,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AACjC,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAElD,yDAAyD;AACzD;;EAEE;AAEF,MAAM,kBAAkB,GAAG,CAAC,YAAoB,EAAE,iBAAyB,EAAU,EAAE;IACrF,IAAI,eAAe,GAAG,CAAC,CAAA;IAEvB,IAAI,YAAY,GAAG,iBAAiB,EAAE;QACpC,eAAe,GAAG,CAAC,CAAA;KACpB;SAAM;QACL,IAAI,YAAY,KAAK,CAAC,EAAE;YACtB,eAAe,GAAG,CAAC,CAAA;SACpB;aAAM;YACL,eAAe,GAAG,YAAY,GAAG,iBAAiB,CAAA;SACnD;KACF;IACD,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,iCAAiC,GAAG,CAAC,UAAkB,EAAW,EAAE;IACxE,OAAO,CAAC,CAAC,CACP,UAAU,EAAE,mBAAmB,EAAE,WAAW;QAC5C,CAAC,UAAU,CAAC,mBAAmB,EAAE,mBAAmB;YAClD,UAAU,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,CAAC,CAAC,CAC3D,CAAA;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,SAA6B,EAAE,UAAkB,EAAU,EAAE;IACrF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;IACzC,MAAM,eAAe,GAAY,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAElD,IAAI,iCAAiC,CAAC,UAAU,CAAC,EAAE;QACjD,uCAAuC;QACvC,MAAM,EACJ,WAAW,EACX,mBAAmB,EACnB,oBAAoB,GACrB,GAAG,UAAU,CAAC,mBAAoB,CAAA;QAEnC,+BAA+B;QAC/B,OAAO,WAAW;YAChB,CAAC,CAAC,WAAW,KAAK,IAAI;gBACpB,CAAC,CAAC,mBAAmB,CAAC,mEAAmE;gBACzF,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,mBAAoB,GAAG,IAAI,GAAG,eAAe,CAAC,+DAA+D;gBAC/G,CAAC,CAAC,oBAAqB,GAAG,IAAI,GAAG,cAAc,CAAA,CAAC,yGAAyG;KAC5J;IAED,8CAA8C;IAC9C,QAAQ,YAAY,EAAE;QACpB,KAAK,CAAC,CAAC;QACP,KAAK,CAAC;YACJ,OAAO,eAAe,CAAA,CAAC,MAAM;QAC/B;YACE,OAAO,eAAe,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,iBAAiB,CAAA;KACzE;AACH,CAAC,CAAA;AAED,oBAAoB;AAEpB,MAAM,2BAA2B,GAAG,CAClC,SAA6B,EAC7B,UAAkB,EACI,EAAE;IACxB,MAAM,IAAI,GAAyB;QACjC,IAAI,EAAE,iBAAiB;KACxB,CAAA;IAED,IAAI;QACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAE3D,iBAAiB;QACjB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;QAClC,MAAM,eAAe,GAAG,KAAK,GAAG,WAAW,CAAA;QAE3C,MAAM,OAAO,GAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;QACnC,YAAY;QACZ,IAAI,CAAC,EAAE,GAAG,SAAS,IAAI,eAAe,CAAA;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,YAAY,EAAE,CAAA;QACtC,YAAY;QACZ,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KAChE;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;KAC/B;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAC7B,SAA6B,EAC7B,UAAkB,EAClB,wBAAiC,EACX,EAAE;IACxB,MAAM,IAAI,GAAyB;QACjC,IAAI,EAAE,YAAY;KACnB,CAAA;IAED,IAAI;QACF,IAAI,CAAC,wBAAwB,EAAE;YAC7B,8CAA8C;YAC9C,IAAI,CAAC,EAAE,GAAG,KAAK,CAAA;YACf,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;SACpB;aAAM;YACL,mEAAmE;YAEnE,iDAAiD;YACjD,qCAAqC;YACrC,IAAI,WAAW,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,0BAA0B;YAE9D,IAAI,SAAS,CAAC,UAAU,EAAE;gBACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,yBAAyB;gBAC3F,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;gBAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;gBAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;gBAEzD,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;aAC3E;YAED,MAAM,QAAQ,GAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAEnD,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;YAE3D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,CAAA;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;YAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;YACrC,YAAY;YACZ,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,WAAW,CAAA;YAE5B,YAAY;YACZ,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;YAEvD,4GAA4G;SAC7G;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;KAC/B;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,SAA6B,EAAwB,EAAE;IACxF,MAAM,IAAI,GAAyB;QACjC,IAAI,EAAE,eAAe;KACtB,CAAA;IACD,IAAI;QACF,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QACzD,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,KAAK,IAAI,CAAA;QAClC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAA;KAChC;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;KAC/B;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,YAAgC,EAChC,UAAkB,EACM,EAAE;IAC1B,MAAM,MAAM,GAA2B,EAAE,CAAA;IAEzC,IAAI,CAAC,CAAC,YAAY,IAAI,UAAU,CAAC;QAAE,OAAO,MAAM,CAAA;IAEhD,mBAAmB;IACnB,MAAM,cAAc,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAA;IACnC,MAAM,eAAe,GAAG,EAAE,GAAG,YAAY,EAAE,YAAY,EAAE,CAAA;IAEzD,cAAc;IACd,IAAI,cAAc,EAAE;QAClB,cAAc;QACd,MAAM,eAAe,GAAyB,2BAA2B,CACvE,eAAe,EACf,UAAU,CACX,CAAA;QACD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAE5B,SAAS;QACT,MAAM,cAAc,GAAyB,sBAAsB,CACjE,eAAe,EACf,UAAU,EACV,CAAC,CAAC,eAAe,CAAC,EAAE,CACrB,CAAA;QACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAE3B,2GAA2G;QAC3G,MAAM,EAAE,iBAAiB,EAAE,GAAG,eAAe,CAAA;QAC7C,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE;YAC5C,MAAM,iBAAiB,GAAyB,yBAAyB,CAAC,eAAe,CAAC,CAAA;YAC1F,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;SAC/B;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAgC,EAAsB,EAAE;IACtF,IAAI,WAAW,GAAG,GAAG,GAAG,UAAU,CAAA;IAClC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAW,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,EAAE;QAC5E,WAAW,GAAG,EAAE,GAAG,UAAU,CAAA;KAC9B;IAED,IAAI,YAAY,EAAE,aAAa,IAAI,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,WAAW,EAAE;QACnF,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,IAAI,GAAG,UAAU,CAAA;KAC7D;IAED,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,WAAW,CAAA;IAExE,OAAO,GAAG,QAAQ,EAAE,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAA+B,EAAQ,EAAE;IACpF,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,EAAE;QAC9D,OAAM;KACP;IAED,IAAI,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QACnF,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACvE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAClE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACrE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QACnE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;KAC7E;IACD,IAAI,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC3E,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QACnE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;KACzE;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAKrC,EAAQ,EAAE;IACT,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAA;IACnF,IAAI;QACF,IAAI,wBAAwB,EAAE;YAC5B,YAAY,CAAC,IAAI,CAAC,gBAAgB,GAAG,uBAAuB,CAC1D,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,MAAM,CACpB,CAAA;SACF;QAED,IAAI,gBAAgB,EAAE;YACpB,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;SAChE;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,gDAAgD,CAAC,CAAA;KACpE;AACH,CAAC,CAAA"}
@@ -1,5 +1,4 @@
1
- import { DeviceStatus } from '../../entities/deviceStatus';
2
1
  import { NovaDataSource } from '../../novaDataSource';
3
- import { GetDeviceStatusesParams } from '../../types/deviceStatus';
2
+ import { DeviceStatusRecord, GetDeviceStatusesParams } from '../../types/deviceStatus';
4
3
  import { Logger } from '../../types/logger';
5
- export declare const getDeviceStatuses: (novaDataSource: NovaDataSource, params: GetDeviceStatusesParams, logger: Logger) => Promise<DeviceStatus[]>;
4
+ export declare const getDeviceStatuses: (novaDataSource: NovaDataSource, params: GetDeviceStatusesParams, logger: Logger) => Promise<DeviceStatusRecord[]>;
@@ -28,7 +28,10 @@ export const getDeviceStatuses = async (novaDataSource, params, logger) => {
28
28
  sendTimeMin: params.filters.minSendTime,
29
29
  });
30
30
  }
31
- if (params.filters.deviceStatus || params.projectionOptions?.withDevice) {
31
+ if (params.filters.deviceStatus ||
32
+ params.projectionOptions?.withDevice ||
33
+ params.projectionOptions?.deviceStatusProperties?.includes('connectionStatus') ||
34
+ params.projectionOptions?.withConnectionStatus) {
32
35
  queryBuilder = queryBuilder.leftJoinAndMapOne('deviceStatus.device', Device, 'device', 'deviceStatus.imei = device.imei and deviceStatus.clientId = device.clientId');
33
36
  if (params.filters.deviceStatus) {
34
37
  queryBuilder = queryBuilder.andWhere('device.status = :status', {
@@ -39,7 +42,9 @@ export const getDeviceStatuses = async (novaDataSource, params, logger) => {
39
42
  if (params.projectionOptions?.withClient) {
40
43
  queryBuilder = queryBuilder.leftJoinAndSelect('deviceStatus.client', 'client');
41
44
  }
42
- if (params.projectionOptions?.withClientDeviceSettings) {
45
+ if (params.projectionOptions?.withClientDeviceSettings ||
46
+ params.projectionOptions?.deviceStatusProperties?.includes('connectionStatus') ||
47
+ params.projectionOptions?.withConnectionStatus) {
43
48
  queryBuilder = queryBuilder.leftJoinAndMapOne('deviceStatus.clientDeviceSetting', ClientDeviceSetting, 'clientDeviceSetting', 'deviceStatus.imei = clientDeviceSetting.imei and deviceStatus.clientId = clientDeviceSetting.clientId');
44
49
  }
45
50
  queryBuilder = queryBuilder
@@ -1 +1 @@
1
- {"version":3,"file":"getDeviceStatuses.js","sourceRoot":"","sources":["../../../src/repositories/deviceStatus/getDeviceStatuses.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAK1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,cAA8B,EAC9B,MAA+B,EAC/B,MAAc,EACW,EAAE;IAC3B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QACpE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,+DAA+D,CAAC,CAAA;QACxF,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,SAAS,CAC7C,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAA2B,EAAE;QACvF,MAAM,sBAAsB,GAAG,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QAErE,IAAI,YAAY,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;QAE5E,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;YACnC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,kCAAkC,EAAE;gBACvE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAC/B,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC3B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,mCAAmC,EAAE;gBACxE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;YAC9B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,sCAAsC,EAAE;gBAC3E,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;aACxC,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE;YACvE,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAC3C,qBAAqB,EACrB,MAAM,EACN,QAAQ,EACR,6EAA6E,CAC9E,CAAA;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC/B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,yBAAyB,EAAE;oBAC9D,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;iBACpC,CAAC,CAAA;aACH;SACF;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE;YACxC,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAA;SAC/E;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE;YACtD,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAC3C,kCAAkC,EAClC,mBAAmB,EACnB,qBAAqB,EACrB,uGAAuG,CACxG,CAAA;SACF;QAED,YAAY,GAAG,YAAY;aACxB,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,GAAG,CAAC;aACzC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;QAE5C,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAEnD,OAAO,cAAc,CAAA;IACvB,CAAC,EACD,mCAAmC,EACnC,aAAa,CACd,CAAA;IAED,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACpB,IAAI,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,EAAE;YAC5D,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE;oBAC1E,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;iBACpB;aACF;SACF;QACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,EAAE;YACtD,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE;oBACpE,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;iBACtB;aACF;SACF;QACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,EAAE;YACtD,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE;oBACpE,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;iBACtB;aACF;SACF;QACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,EAAE;YACpE,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,mBAAmB,EAAE;gBACxC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,8BAA8B,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE;oBAClF,OAAO,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;iBACnC;aACF;SACF;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"file":"getDeviceStatuses.js","sourceRoot":"","sources":["../../../src/repositories/deviceStatus/getDeviceStatuses.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { DeviceStatus } from '../../entities/deviceStatus';
2
- import { GetDeviceStatusesCountParams, GetDeviceStatusesParams, UpsertDeviceStatusesParams } from '../../types/deviceStatus';
1
+ import { DeviceStatusRecord, GetDeviceStatusesCountParams, GetDeviceStatusesParams, UpsertDeviceStatusesParams } from '../../types/deviceStatus';
3
2
  import { BaseRepository } from './../baseRepository';
4
3
  export declare class DeviceStatusRepository extends BaseRepository {
5
4
  /**
@@ -17,7 +16,7 @@ export declare class DeviceStatusRepository extends BaseRepository {
17
16
  * - projectionOptions.withClientDeviceSettings: Whether to get the client device settings
18
17
  * - projectionOptions.clientDeviceSettingsProperties: The client device settings properties to get
19
18
  */
20
- getDeviceStatuses(params: GetDeviceStatusesParams): Promise<DeviceStatus[]>;
19
+ getDeviceStatuses(params: GetDeviceStatusesParams): Promise<DeviceStatusRecord[]>;
21
20
  /**
22
21
  * Get total count of device statuses based on the filters
23
22
  * @param {GetDeviceStatusesCountParams} params containing information to get device statuses count
@@ -1,5 +1,6 @@
1
1
  import { NovaDataSource } from '../../novaDataSource';
2
2
  import { BaseRepository } from './../baseRepository';
3
+ import { adjustDeviceStatusProperties, tryExtendDeviceStatus } from './extendedDeviceStatus';
3
4
  import { getDeviceStatuses } from './getDeviceStatuses';
4
5
  import { getDeviceStatusesCount } from './getDeviceStatusesCount';
5
6
  import { upsertDeviceStatuses } from './upsertDeviceStatuses';
@@ -22,7 +23,16 @@ export class DeviceStatusRepository extends BaseRepository {
22
23
  async getDeviceStatuses(params) {
23
24
  this.logger.trace(params, 'DeviceStatusRepository::getDeviceStatus started with params');
24
25
  const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
26
+ adjustDeviceStatusProperties(params);
25
27
  const result = await getDeviceStatuses(novaDataSource, params, this.logger);
28
+ result?.forEach(deviceStatus => tryExtendDeviceStatus({
29
+ logger: this.logger,
30
+ deviceStatus,
31
+ withConnectionStatusInfo: params.projectionOptions?.withConnectionStatus ||
32
+ params.projectionOptions?.deviceStatusProperties?.includes('connectionStatus'),
33
+ withOnlineStatus: params.projectionOptions?.withOnlineStatus ||
34
+ params.projectionOptions?.deviceStatusProperties?.includes('isOnline'),
35
+ }));
26
36
  this.logger.trace(result, 'DeviceStatusRepository::getDeviceStatus result');
27
37
  return result;
28
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/deviceStatus/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAMrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAA+B;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,6DAA6D,CAAC,CAAA;QAExF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gDAAgD,CAAC,CAAA;QAE3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAAoC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,oEAAoE,CAAC,CAAA;QAE/F,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEhF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,uDAAuD,CAAC,CAAA;QAEtF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAkC;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gEAAgE,CAAC,CAAA;QAE3F,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,mDAAmD,CAAC,CAAA;QAElF,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/deviceStatus/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAOrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAA+B;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,6DAA6D,CAAC,CAAA;QAExF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,4BAA4B,CAAC,MAAM,CAAC,CAAA;QAEpC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3E,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,CAC7B,qBAAqB,CAAC;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY;YACZ,wBAAwB,EACtB,MAAM,CAAC,iBAAiB,EAAE,oBAAoB;gBAC9C,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;YAChF,gBAAgB,EACd,MAAM,CAAC,iBAAiB,EAAE,gBAAgB;gBAC1C,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,UAAU,CAAC;SACzE,CAAC,CACH,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gDAAgD,CAAC,CAAA;QAE3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAAoC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,oEAAoE,CAAC,CAAA;QAE/F,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEhF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,uDAAuD,CAAC,CAAA;QAEtF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAkC;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gEAAgE,CAAC,CAAA;QAE3F,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,mDAAmD,CAAC,CAAA;QAElF,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { LiveLink } from '../../entities/liveLink';
2
2
  import { Enums } from '../../types';
3
- import { tryParseDate, tryParseFloat } from '../../utils/parsingTools';
3
+ import { tryParseBoolean, tryParseDate, tryParseFloat } from '../../utils/parsingTools';
4
4
  import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
5
5
  export const getLiveLinkData = async (novaDataSource, params, logger, deviceStatusRepository) => {
6
6
  if (!params?.filters?.id || !params?.filters?.clientId) {
@@ -49,6 +49,7 @@ export const getLiveLinkData = async (novaDataSource, params, logger, deviceStat
49
49
  withDevice: true,
50
50
  deviceProperties: ['imei', 'name', 'description', 'deviceTypeId', 'color', 'icon'],
51
51
  deviceStatusProperties: [
52
+ 'created',
52
53
  'latitude',
53
54
  'longitude',
54
55
  'address',
@@ -60,6 +61,8 @@ export const getLiveLinkData = async (novaDataSource, params, logger, deviceStat
60
61
  'batteryVoltage',
61
62
  'externalPowerVoltage',
62
63
  'reportType',
64
+ 'connectionStatus',
65
+ 'isOnline',
63
66
  ],
64
67
  },
65
68
  pagingOptions: {
@@ -91,6 +94,8 @@ export const getLiveLinkData = async (novaDataSource, params, logger, deviceStat
91
94
  batteryVoltage: tryParseFloat(data?.batteryVoltage) ?? undefined,
92
95
  externalPowerVoltage: tryParseFloat(data?.externalPowerVoltage) ?? undefined,
93
96
  reportType: tryParseFloat(data?.reportType) ?? undefined,
97
+ connectionStatus: data?.connectionStatus ?? undefined,
98
+ isOnline: tryParseBoolean(data?.isOnline) ?? undefined,
94
99
  },
95
100
  };
96
101
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"getLiveLinkData.js","sourceRoot":"","sources":["../../../src/repositories/liveLinks/getLiveLinkData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getLiveLinkData.js","sourceRoot":"","sources":["../../../src/repositories/liveLinks/getLiveLinkData.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,49 @@
1
- import { Client, ClientDeviceSetting, Device } from '../entities';
1
+ import { Client, ClientDeviceSetting, Device, DeviceStatus } from '../entities';
2
2
  import { Enums } from '.';
3
3
  import { BaseSelectQueryParams } from './common';
4
- interface DeviceStatusEntity {
4
+ export interface DeviceStatusEntity {
5
+ address: string;
5
6
  imei: string;
6
7
  clientId: number;
7
8
  created: string;
8
9
  sendTime: string;
10
+ latitude?: string;
11
+ longitude?: string;
12
+ speed?: string;
13
+ gpsUTCTime?: string;
14
+ batteryPercentage?: string;
15
+ azimuth?: string;
16
+ deviceTypeId?: number;
17
+ staleGPS?: string;
18
+ isStaleGPS?: boolean;
19
+ insideCellularRadio?: string;
20
+ isInsideCellularRadio?: boolean;
21
+ message_id?: string;
22
+ gpsMessageId?: string;
23
+ isOnline?: string;
24
+ lastGPSCellTower?: string;
25
+ mcc?: string;
26
+ mnc?: string;
27
+ cellId?: string;
28
+ lac?: string;
29
+ cellTowerLat?: number;
30
+ cellTowerLocationTime?: string;
31
+ cellTowerLon?: number;
32
+ cellTowerRange?: number;
33
+ restFrequency?: number;
34
+ connectionStatus?: ConnectionStatusInfo[];
35
+ odoMileage?: string;
36
+ batteryVoltage?: string;
37
+ externalPowerVoltage?: string;
38
+ externalPowerVoltage2?: string;
39
+ hoursOfOperation?: string;
40
+ reportType?: string;
41
+ }
42
+ export interface ConnectionStatusInfo {
43
+ name: string;
44
+ ok?: boolean;
45
+ confidence?: number;
46
+ msg?: string;
9
47
  }
10
48
  export interface GetDeviceStatusesParams extends BaseSelectQueryParams {
11
49
  filters: {
@@ -15,12 +53,14 @@ export interface GetDeviceStatusesParams extends BaseSelectQueryParams {
15
53
  deviceStatus?: Enums.DeviceStatus;
16
54
  };
17
55
  projectionOptions?: {
18
- deviceStatusProperties?: string[];
19
56
  withClient?: boolean;
20
- clientProperties?: (keyof Client)[];
21
57
  withDevice?: boolean;
22
- deviceProperties?: (keyof Device)[];
23
58
  withClientDeviceSettings?: boolean;
59
+ withConnectionStatus?: boolean;
60
+ withOnlineStatus?: boolean;
61
+ deviceStatusProperties?: (keyof DeviceStatusEntity)[];
62
+ deviceProperties?: (keyof Device)[];
63
+ clientProperties?: (keyof Client)[];
24
64
  clientDeviceSettingsProperties?: (keyof ClientDeviceSetting)[];
25
65
  };
26
66
  pagingOptions?: {
@@ -39,4 +79,6 @@ export interface GetDeviceStatusesCountParams extends BaseSelectQueryParams {
39
79
  export interface UpsertDeviceStatusesParams {
40
80
  items: DeviceStatusEntity[];
41
81
  }
42
- export {};
82
+ export interface DeviceStatusRecord extends Omit<DeviceStatus, 'data'> {
83
+ data: DeviceStatusEntity;
84
+ }
@@ -1,4 +1,5 @@
1
1
  import { BaseSelectQueryParams, OptionalReportPagination } from './common';
2
+ import { ConnectionStatusInfo } from './deviceStatus';
2
3
  export interface CreateLiveLinkParams {
3
4
  id: string;
4
5
  name: string;
@@ -81,6 +82,8 @@ export interface TrackerWithStatus {
81
82
  batteryVoltage?: number;
82
83
  externalPowerVoltage?: number;
83
84
  reportType?: number;
85
+ connectionStatus?: ConnectionStatusInfo[];
86
+ isOnline?: boolean;
84
87
  };
85
88
  }
86
89
  export interface LiveLinkData {
@@ -1,2 +1,3 @@
1
1
  export declare const tryParseFloat: (valueToParse: any, defaultValue?: number | null) => number | null;
2
2
  export declare const tryParseDate: (anyDate: any, defaultValue?: Date | null) => Date;
3
+ export declare const tryParseBoolean: (valueToParse: any, defaultValue?: boolean | null) => boolean | null;
@@ -10,4 +10,13 @@ export const tryParseDate = (anyDate, defaultValue = null) => {
10
10
  return defaultValue;
11
11
  }
12
12
  };
13
+ export const tryParseBoolean = (valueToParse, defaultValue = null) => {
14
+ if (typeof valueToParse === 'boolean') {
15
+ return valueToParse;
16
+ }
17
+ if (typeof valueToParse === 'string') {
18
+ return valueToParse.toLowerCase() === 'true';
19
+ }
20
+ return defaultValue;
21
+ };
13
22
  //# sourceMappingURL=parsingTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsingTools.js","sourceRoot":"","sources":["../../src/utils/parsingTools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,YAAiB,EACjB,eAA8B,IAAI,EACnB,EAAE;IACjB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAY,EAAE,eAA4B,IAAI,EAAQ,EAAE;IACnF,IAAI;QACF,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;KAC7D;IAAC,OAAO,MAAM,EAAE;QACf,OAAO,YAAY,CAAA;KACpB;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"parsingTools.js","sourceRoot":"","sources":["../../src/utils/parsingTools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,YAAiB,EACjB,eAA8B,IAAI,EACnB,EAAE;IACjB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAY,EAAE,eAA4B,IAAI,EAAQ,EAAE;IACnF,IAAI;QACF,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;KAC7D;IAAC,OAAO,MAAM,EAAE;QACf,OAAO,YAAY,CAAA;KACpB;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,YAAiB,EACjB,eAA+B,IAAI,EACnB,EAAE;IAClB,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE;QACrC,OAAO,YAAY,CAAA;KACpB;IAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;QACpC,OAAO,YAAY,CAAC,WAAW,EAAE,KAAK,MAAM,CAAA;KAC7C;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}