@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.0.108",
3
+ "version": "1.0.110",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,5 +0,0 @@
1
- import { UserDeviceBehaviorTask } from '../../entities';
2
- import { NovaDataSource } from '../../novaDataSource';
3
- import { GettDevicesLastBehaviorTaskParams } from '../../types/deviceBehaviors';
4
- import { Logger } from '../../types/logger';
5
- export declare const getDevicesLastBehaviorTask: (novaDataSource: NovaDataSource, params: GettDevicesLastBehaviorTaskParams, logger: Logger) => Promise<UserDeviceBehaviorTask[]>;
@@ -1,48 +0,0 @@
1
- import { UserDeviceBehaviorTask } from '../../entities';
2
- export const getDevicesLastBehaviorTask = async (novaDataSource, params, logger) => {
3
- if (!params?.filters?.imeiList?.length) {
4
- logger.warn({ params }, 'DeviceBehaviorsRepository::getDevicesLastBehaviorTask - missing required parameters');
5
- return [];
6
- }
7
- // Force the query to run on master or slave
8
- const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
9
- return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
10
- const deviceBehaviorsRepository = dataSource.getRepository(UserDeviceBehaviorTask);
11
- let queryBuilder = deviceBehaviorsRepository.createQueryBuilder('userDeviceBehaviorTask');
12
- if (queryRunner) {
13
- queryBuilder.setQueryRunner(queryRunner);
14
- }
15
- if (params.filters.imeiList?.length) {
16
- queryBuilder = queryBuilder.andWhere('userDeviceBehaviorTask.imei IN (:...imeiList)', {
17
- imeiList: params.filters.imeiList,
18
- });
19
- }
20
- if (params.filters.status) {
21
- queryBuilder = queryBuilder.andWhere('userDeviceBehaviorTask.status = :status', {
22
- status: params.filters.status,
23
- });
24
- }
25
- if (params.filters.deviceBehaviorIdList?.length) {
26
- queryBuilder = queryBuilder.andWhere('userDeviceBehaviorTask.deviceBehaviorId IN (:...deviceBehaviorIdList)', {
27
- deviceBehaviorIdList: params.filters.deviceBehaviorIdList,
28
- });
29
- }
30
- queryBuilder.andWhere(subQuery => {
31
- const subQueryAlias = subQuery
32
- .subQuery()
33
- .select('MAX(modifiedAt)')
34
- .from(UserDeviceBehaviorTask, 'subTask')
35
- .where('subTask.imei = userDeviceBehaviorTask.imei')
36
- .getQuery();
37
- return `userDeviceBehaviorTask.modifiedAt = (${subQueryAlias})`;
38
- });
39
- queryBuilder = queryBuilder.orderBy('userDeviceBehaviorTask.modifiedAt', 'DESC');
40
- if (params?.pagingOptions?.offset) {
41
- queryBuilder = queryBuilder.offset(params?.pagingOptions?.offset);
42
- }
43
- queryBuilder = queryBuilder.limit(params?.pagingOptions?.limit ?? 100);
44
- const result = await queryBuilder.getMany();
45
- return result;
46
- }, 'DeviceBehaviorsRepository::getDevicesLastBehaviorTask', dbQueryRunner);
47
- };
48
- //# sourceMappingURL=getDevicesLastBehaviorTask.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDevicesLastBehaviorTask.js","sourceRoot":"","sources":["../../../src/repositories/deviceBehaviors/getDevicesLastBehaviorTask.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAKvD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,cAA8B,EAC9B,MAAyC,EACzC,MAAc,EACqB,EAAE;IACrC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;QACtC,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,qFAAqF,CACtF,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,UAA0B,EAC1B,WAAyB,EACU,EAAE;QACrC,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;QAElF,IAAI,YAAY,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAA;QAEzF,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,+CAA+C,EAAE;gBACpF,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACzB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,yCAAyC,EAAE;gBAC9E,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;aAC9B,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE;YAC/C,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,uEAAuE,EACvE;gBACE,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB;aAC1D,CACF,CAAA;SACF;QAED,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC/B,MAAM,aAAa,GAAG,QAAQ;iBAC3B,QAAQ,EAAE;iBACV,MAAM,CAAC,iBAAiB,CAAC;iBACzB,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC;iBACvC,KAAK,CAAC,4CAA4C,CAAC;iBACnD,QAAQ,EAAE,CAAA;YACb,OAAO,wCAAwC,aAAa,GAAG,CAAA;QACjE,CAAC,CAAC,CAAA;QAEF,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAA;QAEhF,IAAI,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE;YACjC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;SAClE;QAED,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,GAAG,CAAC,CAAA;QAEtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAA;IACf,CAAC,EACD,uDAAuD,EACvD,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import { NovaDataSource } from '../../novaDataSource';
2
- import { GetLatestDeviceBehaviorTasksParams, GetLatestDeviceBehaviorTasksResult } from '../../types/deviceBehaviors';
3
- import { Logger } from '../../types/logger';
4
- export declare const getLatestDeviceBehaviorTasks: (novaDataSource: NovaDataSource, params: GetLatestDeviceBehaviorTasksParams, logger: Logger) => Promise<GetLatestDeviceBehaviorTasksResult[]>;
@@ -1,49 +0,0 @@
1
- import { UserDeviceBehaviorTask } from '../../entities';
2
- import { binaryBufferToUuidString } from '../../utils/uuidHelpers';
3
- export const getLatestDeviceBehaviorTasks = async (novaDataSource, params, logger) => {
4
- if (!params?.filters?.clientId && !params?.filters?.type && !params?.filters?.status) {
5
- logger.warn({ params }, 'DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks - missing required parameters');
6
- return [];
7
- }
8
- // Force the query to run on master or slave
9
- const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
10
- return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
11
- const deviceBehaviorsRepository = dataSource.getRepository(UserDeviceBehaviorTask);
12
- const query = `SELECT sub.imei AS imei,
13
- sub.name AS name,
14
- sub.description AS description,
15
- sub.modifiedAt AS modifiedAt,
16
- sub.taskId AS taskId
17
- FROM (
18
- SELECT userDeviceBehaviorTask.imei AS imei,
19
- deviceBehavior.name as name,
20
- deviceBehavior.description as description,
21
- userDeviceBehaviorTask.modifiedAt AS modifiedAt,
22
- userDeviceBehaviorTask.id AS taskId,
23
- RANK() OVER (PARTITION BY userDeviceBehaviorTask.imei ORDER BY userDeviceBehaviorTask.modifiedAt DESC) AS rk
24
- FROM userDeviceBehaviorTask
25
- INNER JOIN deviceBehavior ON userDeviceBehaviorTask.deviceBehaviorId = deviceBehavior.id AND deviceBehavior.type = ?
26
- WHERE userDeviceBehaviorTask.clientId = ? AND userDeviceBehaviorTask.status = ?
27
- ) AS sub
28
- WHERE sub.rk = 1`;
29
- const result = queryRunner
30
- ? await queryRunner.query(query, [
31
- params.filters.type,
32
- params.filters.clientId,
33
- params.filters.status,
34
- ])
35
- : await deviceBehaviorsRepository.query(query, [
36
- params.filters.type,
37
- params.filters.clientId,
38
- params.filters.status,
39
- ]);
40
- return result.map(item => ({
41
- imei: item.imei,
42
- name: item.name,
43
- description: item.description,
44
- modifiedAt: item.modifiedAt,
45
- taskId: binaryBufferToUuidString(item.taskId),
46
- }));
47
- }, 'DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks', dbQueryRunner);
48
- };
49
- //# sourceMappingURL=getLatestDeviceBehaviorTasks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLatestDeviceBehaviorTasks.js","sourceRoot":"","sources":["../../../src/repositories/deviceBehaviors/getLatestDeviceBehaviorTasks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAOvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAC/C,cAA8B,EAC9B,MAA0C,EAC1C,MAAc,EACiC,EAAE;IACjD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;QACpF,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,uFAAuF,CACxF,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,UAA0B,EAC1B,WAAyB,EACsB,EAAE;QACjD,MAAM,yBAAyB,GAAG,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;QAElF,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;qCAgBiB,CAAA;QAE/B,MAAM,MAAM,GAAG,WAAW;YACxB,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC7B,MAAM,CAAC,OAAO,CAAC,IAAI;gBACnB,MAAM,CAAC,OAAO,CAAC,QAAQ;gBACvB,MAAM,CAAC,OAAO,CAAC,MAAM;aACtB,CAAC;YACJ,CAAC,CAAC,MAAM,yBAAyB,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC3C,MAAM,CAAC,OAAO,CAAC,IAAI;gBACnB,MAAM,CAAC,OAAO,CAAC,QAAQ;gBACvB,MAAM,CAAC,OAAO,CAAC,MAAM;aACtB,CAAC,CAAA;QAEN,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC;SAC9C,CAAC,CAAC,CAAA;IACL,CAAC,EACD,yDAAyD,EACzD,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}