@spytecgps/nova-orm 1.0.117 → 1.0.119

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.
@@ -26,6 +26,7 @@ export const addDevicesToBLEMesh = async (novaDataSource, params, logger) => {
26
26
  deviceId: device.id,
27
27
  bleMeshId: params.bleMeshId,
28
28
  clientId: params.clientId,
29
+ status: params.status,
29
30
  createdAt: now,
30
31
  modifiedAt: now,
31
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"addDevicesToBLEMesh.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/addDevicesToBLEMesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,cAA8B,EAC9B,MAAiC,EACjC,MAAc,EACY,EAAE;IAC5B,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,oEAAoE,CAAC,CAAA;QAC7F,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAA4B,EAAE;QAC7F,MAAM,uBAAuB,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAEvE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAEtB,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;YACpC,KAAK,EAAE;gBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;aACvB;SACF,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAC/C,MAAM,CAAC,KAAK;aACT,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;YACrD,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,2DAA2D,CAAC,CAAA;gBAClF,OAAO,IAAI,CAAA;aACZ;YACD,OAAO;gBACL,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB,CAAA;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAC1B,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,wCAAwC,CAAC,CAAA;AAC9C,CAAC,CAAA"}
1
+ {"version":3,"file":"addDevicesToBLEMesh.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/addDevicesToBLEMesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,cAA8B,EAC9B,MAAiC,EACjC,MAAc,EACY,EAAE;IAC5B,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,oEAAoE,CAAC,CAAA;QAC7F,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAA4B,EAAE;QAC7F,MAAM,uBAAuB,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAEvE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAEtB,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;YACpC,KAAK,EAAE;gBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;aACvB;SACF,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAC/C,MAAM,CAAC,KAAK;aACT,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;YACrD,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,2DAA2D,CAAC,CAAA;gBAClF,OAAO,IAAI,CAAA;aACZ;YACD,OAAO;gBACL,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,GAAG;aAChB,CAAA;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAC1B,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,wCAAwC,CAAC,CAAA;AAC9C,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { NovaDataSource } from '../../novaDataSource';
2
+ import { GetDeviceBLEMeshesParams, GetDeviceBLEMeshesResult } from '../../types/bleMesh';
3
+ import { Logger } from '../../types/logger';
4
+ export declare const getDeviceBLEMeshes: (novaDataSource: NovaDataSource, params: GetDeviceBLEMeshesParams, logger: Logger) => Promise<GetDeviceBLEMeshesResult>;
@@ -0,0 +1,50 @@
1
+ import { DeviceBleMesh } from '../../entities';
2
+ export const getDeviceBLEMeshes = async (novaDataSource, params, logger) => {
3
+ if (!params?.filters?.clientId) {
4
+ logger.warn({ params }, 'BLEMeshRepository::getDeviceBLEMeshes missing required parameters');
5
+ return null;
6
+ }
7
+ return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
8
+ const bleMeshRepository = dataSource.getRepository(DeviceBleMesh);
9
+ let queryBuilder = bleMeshRepository.createQueryBuilder('deviceBLEMesh');
10
+ if (queryRunner) {
11
+ queryBuilder.setQueryRunner(queryRunner);
12
+ }
13
+ queryBuilder = queryBuilder.andWhere('deviceBLEMesh.clientId = :clientId', {
14
+ clientId: params.filters.clientId,
15
+ });
16
+ if (params.filters.imeis || params?.projectionOptions?.withDevice) {
17
+ queryBuilder = queryBuilder.leftJoinAndSelect('deviceBLEMesh.device', 'device');
18
+ }
19
+ if (params.filters.imeis) {
20
+ queryBuilder = queryBuilder.andWhere('device.imei IN (:...imeis)', {
21
+ imeis: params.filters.imeis,
22
+ });
23
+ }
24
+ if (params.filters.status) {
25
+ queryBuilder = queryBuilder.andWhere('deviceBLEMesh.status = :deviceBLEMeshStatus', {
26
+ deviceBLEMeshStatus: params.filters.status,
27
+ });
28
+ }
29
+ if (params?.projectionOptions?.withBLEMeshes || params?.projectionOptions?.withBeacons) {
30
+ queryBuilder = queryBuilder.leftJoinAndSelect('deviceBLEMesh.bleMesh', 'bleMesh');
31
+ }
32
+ if (params?.projectionOptions?.withBeacons) {
33
+ queryBuilder = queryBuilder.leftJoinAndSelect('bleMesh.beacons', 'beacon');
34
+ }
35
+ const pageSize = params.pagingOptions?.pageSize ?? 100;
36
+ const pageIndex = params.pagingOptions?.pageIndex ?? 0;
37
+ queryBuilder = queryBuilder.limit(pageSize).offset(pageSize * pageIndex);
38
+ let deviceBleMeshes;
39
+ let count = undefined;
40
+ if (params?.projectionOptions?.withTotalCount) {
41
+ ;
42
+ [deviceBleMeshes, count] = await queryBuilder.getManyAndCount();
43
+ }
44
+ else {
45
+ deviceBleMeshes = await queryBuilder.getMany();
46
+ }
47
+ return { deviceBLEMeshes: deviceBleMeshes, totalCount: count };
48
+ }, 'BLEMeshRepository::getDeviceBLEMeshes');
49
+ };
50
+ //# sourceMappingURL=getDeviceBLEMeshes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDeviceBLEMeshes.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/getDeviceBLEMeshes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAK9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,cAA8B,EAC9B,MAAgC,EAChC,MAAc,EACqB,EAAE;IACrC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,mEAAmE,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,UAA0B,EAC1B,WAAyB,EACU,EAAE;QACrC,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAEjE,IAAI,YAAY,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;QAExE,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,oCAAoC,EAAE;YACzE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;SAClC,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE;YACjE,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;SAChF;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;YACxB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,4BAA4B,EAAE;gBACjE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK;aAC5B,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YACzB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,6CAA6C,EAAE;gBAClF,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;aAC3C,CAAC,CAAA;SACH;QAED,IAAI,MAAM,EAAE,iBAAiB,EAAE,aAAa,IAAI,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE;YACtF,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAA;SAClF;QAED,IAAI,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE;YAC1C,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;SAC3E;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,EAAE,QAAQ,IAAI,GAAG,CAAA;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,CAAA;QAEtD,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;QAExE,IAAI,eAAgC,CAAA;QACpC,IAAI,KAAK,GAAW,SAAS,CAAA;QAC7B,IAAI,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE;YAC7C,CAAC;YAAA,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;SACjE;aAAM;YACL,eAAe,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;SAC/C;QAED,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC,EACD,uCAAuC,CACxC,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { BeaconBleMesh, BLEMesh, DeviceBleMesh } from '../../entities';
2
- import { AddBeaconsToBLEMeshParams, AddDevicesToBLEMeshParams, CreateBLEMeshParams, GetBLEMeshesParams, GetBLEMeshesResult, RemoveBeaconsFromBLEMeshParams, RemoveBLEMeshParams, RemoveDevicesFromBLEMeshParams, UpdateBLEMeshParams, UpdateDevicesBLEMeshParams } from '../../types/bleMesh';
2
+ import { AddBeaconsToBLEMeshParams, AddDevicesToBLEMeshParams, CreateBLEMeshParams, GetBLEMeshesParams, GetBLEMeshesResult, GetDeviceBLEMeshesParams, GetDeviceBLEMeshesResult, RemoveBeaconsFromBLEMeshParams, RemoveBLEMeshParams, RemoveDevicesFromBLEMeshParams, UpdateBLEMeshParams, UpdateDevicesBLEMeshParams } from '../../types/bleMesh';
3
3
  import { BaseRepository } from '../baseRepository';
4
4
  export declare class BLEMeshRepository extends BaseRepository {
5
5
  /**
@@ -92,4 +92,12 @@ export declare class BLEMeshRepository extends BaseRepository {
92
92
  * @returns Promise<boolean> true if the BLE Mesh was removed
93
93
  **/
94
94
  removeBLEMesh(params: RemoveBLEMeshParams): Promise<boolean>;
95
+ /**
96
+ * Get devices with BLE Meshes
97
+ * @param params params containing information to get device with BLE Meshes
98
+ * params.filters.clientId: the client ID, required
99
+ * params.filters.status: the device status, optional
100
+ * @returns Promise<GetDeviceBLEMeshesResult> the device BLE Meshes result
101
+ **/
102
+ getDeviceBLEMeshes(params: GetDeviceBLEMeshesParams): Promise<GetDeviceBLEMeshesResult>;
95
103
  }
@@ -4,6 +4,7 @@ import { addBeaconsToBLEMesh } from './addBeaconsToBLEMesh';
4
4
  import { addDevicesToBLEMesh } from './addDevicesToBLEMesh';
5
5
  import { createBLEMesh } from './createBLEMesh';
6
6
  import { getBLEMeshes } from './getBLEMeshes';
7
+ import { getDeviceBLEMeshes } from './getDeviceBLEMeshes';
7
8
  import { removeBeaconsFromBLEMesh } from './removeBeaconsFromBLEMesh';
8
9
  import { removeBLEMesh } from './removeBLEMesh';
9
10
  import { removeDevicesFromBLEMesh } from './removeDevicesFromBLEMesh';
@@ -154,5 +155,19 @@ export class BLEMeshRepository extends BaseRepository {
154
155
  this.logger.trace({ result }, 'BLEMeshRepository::removeBLEMesh result');
155
156
  return result;
156
157
  }
158
+ /**
159
+ * Get devices with BLE Meshes
160
+ * @param params params containing information to get device with BLE Meshes
161
+ * params.filters.clientId: the client ID, required
162
+ * params.filters.status: the device status, optional
163
+ * @returns Promise<GetDeviceBLEMeshesResult> the device BLE Meshes result
164
+ **/
165
+ async getDeviceBLEMeshes(params) {
166
+ this.logger.trace(params, 'BLEMeshRepository::getDeviceBLEMeshes started with params');
167
+ const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
168
+ const result = await getDeviceBLEMeshes(novaDataSource, params, this.logger);
169
+ this.logger.trace(result, 'BLEMeshRepository::getDeviceBLEMeshes result');
170
+ return result;
171
+ }
157
172
  }
158
173
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAarD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IACnD;;;;;;;;;;QAUI;IACJ,KAAK,CAAC,aAAa,CAAC,MAA2B;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAA;QAEjF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAA;QAEpE,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,KAAK,CAAC,YAAY,CAAC,MAA0B;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,mDAAmD,CAAC,CAAA;QAE9E,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAA;QAEjE,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;QAOI;IACJ,KAAK,CAAC,mBAAmB,CAAC,MAAiC;QACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAA;QAEvF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,+CAA+C,CAAC,CAAA;QAE1E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;QAMI;IACJ,KAAK,CAAC,mBAAmB,CAAC,MAAiC;QACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,4DAA4D,CAAC,CAAA;QAEvF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,+CAA+C,CAAC,CAAA;QAE1E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;QAOI;IACJ,KAAK,CAAC,wBAAwB,CAAC,MAAsC;QACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,iEAAiE,CAAC,CAAA;QAE5F,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAElF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,oDAAoD,CAAC,CAAA;QAEnF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;QAQI;IACJ,KAAK,CAAC,wBAAwB,CAAC,MAAsC;QACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,iEAAiE,CAAC,CAAA;QAE5F,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAElF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,oDAAoD,CAAC,CAAA;QAEnF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;QAUI;IACJ,KAAK,CAAC,aAAa,CAAC,MAA2B;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAA;QAEjF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,yCAAyC,CAAC,CAAA;QAExE,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;SAOK;IACL,KAAK,CAAC,oBAAoB,CAAC,MAAkC;QAC3D,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,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,gDAAgD,CAAC,CAAA;QAE/E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;QAMI;IACJ,KAAK,CAAC,aAAa,CAAC,MAA2B;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAA;QAEjF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,yCAAyC,CAAC,CAAA;QAExE,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BeaconBleMesh } from '../../entities';
2
2
  export const removeBeaconsFromBLEMesh = async (novaDataSource, params, logger) => {
3
- if (!params?.beaconIds?.length || !params?.bleMeshId || !params.clientId) {
3
+ if (!params?.bleMacs?.length || !params?.bleMeshId || !params.clientId) {
4
4
  logger.warn({ params }, 'BLEMeshRepository::removeBeaconsFromBLEMesh missing required parameters');
5
5
  return false;
6
6
  }
@@ -14,8 +14,8 @@ export const removeBeaconsFromBLEMesh = async (novaDataSource, params, logger) =
14
14
  .andWhere('clientId = :clientId', {
15
15
  clientId: params.clientId,
16
16
  })
17
- .andWhere('id IN (:...beaconIds)', {
18
- beaconIds: params.beaconIds,
17
+ .andWhere('bleMac IN (:...beaconBleMacs)', {
18
+ beaconBleMacs: params.bleMacs,
19
19
  });
20
20
  const result = await queryBuilder.execute();
21
21
  return result.affected > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"removeBeaconsFromBLEMesh.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/removeBeaconsFromBLEMesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAK9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,cAA8B,EAC9B,MAAsC,EACtC,MAAc,EACI,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACxE,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,yEAAyE,CAC1E,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,uBAAuB,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAEvE,IAAI,YAAY,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAA;QAExE,YAAY,GAAG,YAAY;aACxB,KAAK,CAAC,wBAAwB,EAAE;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;aACD,QAAQ,CAAC,sBAAsB,EAAE;YAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;aACD,QAAQ,CAAC,uBAAuB,EAAE;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAA;QAEJ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5B,CAAC,EAAE,6CAA6C,CAAC,CAAA;AACnD,CAAC,CAAA"}
1
+ {"version":3,"file":"removeBeaconsFromBLEMesh.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/removeBeaconsFromBLEMesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAK9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,cAA8B,EAC9B,MAAsC,EACtC,MAAc,EACI,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACtE,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,yEAAyE,CAC1E,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,uBAAuB,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAEvE,IAAI,YAAY,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAA;QAExE,YAAY,GAAG,YAAY;aACxB,KAAK,CAAC,wBAAwB,EAAE;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;aACD,QAAQ,CAAC,sBAAsB,EAAE;YAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;aACD,QAAQ,CAAC,+BAA+B,EAAE;YACzC,aAAa,EAAE,MAAM,CAAC,OAAO;SAC9B,CAAC,CAAA;QAEJ,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5B,CAAC,EAAE,6CAA6C,CAAC,CAAA;AACnD,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
- import { BLEMesh } from '../entities';
1
+ import { BLEMesh, DeviceBleMesh } from '../entities';
2
+ import { Enums } from '.';
2
3
  import { OptionalReportPagination } from './common';
3
4
  export interface CreateBLEMeshParams {
4
5
  id?: number;
@@ -30,7 +31,7 @@ export interface UpdateDevicesBLEMeshParams {
30
31
  imeis: string[];
31
32
  };
32
33
  values: {
33
- status?: string;
34
+ status?: Enums.DeviceBLEMeshStatus;
34
35
  };
35
36
  }
36
37
  export interface NewBeaconToBLEMeshParams {
@@ -46,6 +47,7 @@ export interface AddDevicesToBLEMeshParams {
46
47
  bleMeshId: number;
47
48
  clientId: number;
48
49
  imeis: string[];
50
+ status?: Enums.DeviceBLEMeshStatus;
49
51
  }
50
52
  export interface GetBLEMeshesParams extends OptionalReportPagination {
51
53
  filters: {
@@ -65,10 +67,27 @@ export interface GetBLEMeshesResult {
65
67
  export interface RemoveBeaconsFromBLEMeshParams {
66
68
  bleMeshId: number;
67
69
  clientId: number;
68
- beaconIds: number[];
70
+ bleMacs: string[];
69
71
  }
70
72
  export interface RemoveDevicesFromBLEMeshParams {
71
73
  bleMeshId?: number;
72
74
  clientId: number;
73
75
  imeis: string[];
74
76
  }
77
+ export interface GetDeviceBLEMeshesParams extends OptionalReportPagination {
78
+ filters: {
79
+ clientId: number;
80
+ status?: Enums.DeviceBLEMeshStatus;
81
+ imeis?: string[];
82
+ };
83
+ projectionOptions?: {
84
+ withBeacons?: boolean;
85
+ withBLEMeshes?: boolean;
86
+ withDevice?: boolean;
87
+ withTotalCount?: boolean;
88
+ };
89
+ }
90
+ export interface GetDeviceBLEMeshesResult {
91
+ deviceBLEMeshes: DeviceBleMesh[];
92
+ totalCount?: number;
93
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.0.117",
3
+ "version": "1.0.119",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",