@spytecgps/nova-orm 1.0.94 → 1.0.96
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.
- package/dist/index.js +1 -1
- package/dist/repositories/devices/getDevices.js +9 -1
- package/dist/repositories/devices/getDevices.js.map +1 -1
- package/dist/repositories/devices/getDevicesCountByStatus.js +10 -2
- package/dist/repositories/devices/getDevicesCountByStatus.js.map +1 -1
- package/dist/types/devices.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ClientDeviceSetting, Device, ImeiIccidCarrier, ServiceProvider } from '../../entities';
|
|
1
|
+
import { ClientDeviceSetting, Device, EntityTag, ImeiIccidCarrier, ServiceProvider, } from '../../entities';
|
|
2
2
|
export const getDevices = async (novaDataSource, params, logger) => {
|
|
3
3
|
if (!params?.filters?.deviceTypeId &&
|
|
4
4
|
!params?.filters?.clientId &&
|
|
5
5
|
!params?.filters?.imeiList?.length &&
|
|
6
|
+
!params?.filters?.tagIdList?.length &&
|
|
6
7
|
!params?.filters?.status) {
|
|
7
8
|
logger.warn({ params }, 'DevicesRepository::getDevices missing required parameters');
|
|
8
9
|
return [];
|
|
@@ -35,6 +36,13 @@ export const getDevices = async (novaDataSource, params, logger) => {
|
|
|
35
36
|
imeiList: params.filters.imeiList,
|
|
36
37
|
});
|
|
37
38
|
}
|
|
39
|
+
if (params.filters.tagIdList?.length) {
|
|
40
|
+
queryBuilder = queryBuilder.innerJoin(EntityTag, 'entityTag', `entityTag.entityId = device.id
|
|
41
|
+
AND entityTag.entityType = 'Device'
|
|
42
|
+
AND entityTag.tagId IN (:...tagIdList)`, {
|
|
43
|
+
tagIdList: params.filters.tagIdList,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
38
46
|
if (params.projectionOptions?.withDeviceType) {
|
|
39
47
|
queryBuilder = queryBuilder.leftJoinAndSelect('device.deviceType', 'deviceType');
|
|
40
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDevices.js","sourceRoot":"","sources":["../../../src/repositories/devices/getDevices.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"getDevices.js","sourceRoot":"","sources":["../../../src/repositories/devices/getDevices.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Device } from '../../entities';
|
|
1
|
+
import { Device, EntityTag } from '../../entities';
|
|
2
2
|
export const getDevicesCountByStatus = async (novaDataSource, params, logger) => {
|
|
3
3
|
if (!params?.filters?.clientId) {
|
|
4
4
|
logger.warn({ params }, 'DevicesRepository::getDevicesCountByStatus missing required parameters');
|
|
@@ -12,7 +12,15 @@ export const getDevicesCountByStatus = async (novaDataSource, params, logger) =>
|
|
|
12
12
|
.createQueryBuilder('device')
|
|
13
13
|
.where('device.clientId = :clientId', {
|
|
14
14
|
clientId: params.filters.clientId,
|
|
15
|
-
})
|
|
15
|
+
});
|
|
16
|
+
if (params.filters.tagIdList?.length) {
|
|
17
|
+
queryBuilder.innerJoin(EntityTag, 'entityTag', `entityTag.entityId = device.id
|
|
18
|
+
AND entityTag.entityType = 'Device'
|
|
19
|
+
AND entityTag.tagId IN (:...tagIdList)`, {
|
|
20
|
+
tagIdList: params.filters.tagIdList,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
queryBuilder
|
|
16
24
|
.groupBy('device.status')
|
|
17
25
|
.select('device.status', 'status')
|
|
18
26
|
.addSelect('COUNT(device.status)', 'count');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDevicesCountByStatus.js","sourceRoot":"","sources":["../../../src/repositories/devices/getDevicesCountByStatus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"getDevicesCountByStatus.js","sourceRoot":"","sources":["../../../src/repositories/devices/getDevicesCountByStatus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAKlD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,cAA8B,EAC9B,MAAqC,EACrC,MAAc,EACmB,EAAE;IACnC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,wEAAwE,CACzE,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,EACQ,EAAE;QACnC,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE1D,MAAM,YAAY,GAAG,iBAAiB;aACnC,kBAAkB,CAAC,QAAQ,CAAC;aAC5B,KAAK,CAAC,6BAA6B,EAAE;YACpC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;SAClC,CAAC,CAAA;QAEJ,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;YACpC,YAAY,CAAC,SAAS,CACpB,SAAS,EACT,WAAW,EACX;;kDAEwC,EACxC;gBACE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;aACpC,CACF,CAAA;SACF;QACD,YAAY;aACT,OAAO,CAAC,eAAe,CAAC;aACxB,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC;aACjC,SAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAA;QAE7C,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,MAAM,oBAAoB,GAAG,MAAM,YAAY,CAAC,UAAU,EAAwB,CAAA;QAElF,OAAO,oBAAoB,CAAA;IAC7B,CAAC,EACD,4CAA4C,EAC5C,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
package/dist/types/devices.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface GetDevicesParams extends OptionalReportPagination {
|
|
|
17
17
|
status?: DeviceStatus;
|
|
18
18
|
clientId?: number;
|
|
19
19
|
imeiList?: string[];
|
|
20
|
+
tagIdList?: number[];
|
|
20
21
|
};
|
|
21
22
|
projectionOptions?: {
|
|
22
23
|
withDeviceType?: boolean;
|
|
@@ -350,6 +351,7 @@ export interface UpdateDeviceTypeParams {
|
|
|
350
351
|
export interface GetDevicesCountByStatusParams extends BaseSelectQueryParams {
|
|
351
352
|
filters: {
|
|
352
353
|
clientId: number;
|
|
354
|
+
tagIdList?: number[];
|
|
353
355
|
};
|
|
354
356
|
}
|
|
355
357
|
export interface DevicesCountByStatus {
|