@spytecgps/nova-orm 1.0.120 → 1.0.122
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/entities/dataExport.d.ts +18 -0
- package/dist/entities/dataExport.js +84 -0
- package/dist/entities/dataExport.js.map +1 -0
- package/dist/entities/deviceBleMeshUpdateTask.d.ts +17 -0
- package/dist/entities/deviceBleMeshUpdateTask.js +83 -0
- package/dist/entities/deviceBleMeshUpdateTask.js.map +1 -0
- package/dist/entities/entityTag.d.ts +1 -1
- package/dist/entities/entityTag.js +1 -1
- package/dist/entities/entityTag.js.map +1 -1
- package/dist/entities/index.d.ts +3 -1
- package/dist/entities/index.js +3 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/userInvitation.d.ts +1 -0
- package/dist/entities/userInvitation.js +9 -0
- package/dist/entities/userInvitation.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/repositories/bleMesh/createDeviceBLEMeshUpdateTask.d.ts +5 -0
- package/dist/repositories/bleMesh/createDeviceBLEMeshUpdateTask.js +47 -0
- package/dist/repositories/bleMesh/createDeviceBLEMeshUpdateTask.js.map +1 -0
- package/dist/repositories/bleMesh/getDeviceBLEMeshUpdateTasks.d.ts +4 -0
- package/dist/repositories/bleMesh/getDeviceBLEMeshUpdateTasks.js +56 -0
- package/dist/repositories/bleMesh/getDeviceBLEMeshUpdateTasks.js.map +1 -0
- package/dist/repositories/bleMesh/index.d.ts +29 -2
- package/dist/repositories/bleMesh/index.js +48 -0
- package/dist/repositories/bleMesh/index.js.map +1 -1
- package/dist/repositories/bleMesh/updateDevicesBLEMesh.js +3 -3
- package/dist/repositories/bleMesh/updateDevicesBLEMesh.js.map +1 -1
- package/dist/repositories/bleMesh/updateDevicesBLEMeshUpdateTask.d.ts +4 -0
- package/dist/repositories/bleMesh/updateDevicesBLEMeshUpdateTask.js +27 -0
- package/dist/repositories/bleMesh/updateDevicesBLEMeshUpdateTask.js.map +1 -0
- package/dist/repositories/dataExports/createDataExports.d.ts +5 -0
- package/dist/repositories/dataExports/createDataExports.js +32 -0
- package/dist/repositories/dataExports/createDataExports.js.map +1 -0
- package/dist/repositories/dataExports/getDataExports.d.ts +4 -0
- package/dist/repositories/dataExports/getDataExports.js +50 -0
- package/dist/repositories/dataExports/getDataExports.js.map +1 -0
- package/dist/repositories/dataExports/index.d.ts +38 -0
- package/dist/repositories/dataExports/index.js +59 -0
- package/dist/repositories/dataExports/index.js.map +1 -0
- package/dist/repositories/dataExports/updateDataExports.d.ts +4 -0
- package/dist/repositories/dataExports/updateDataExports.js +26 -0
- package/dist/repositories/dataExports/updateDataExports.js.map +1 -0
- package/dist/repositories/index.d.ts +2 -1
- package/dist/repositories/index.js +2 -1
- package/dist/repositories/index.js.map +1 -1
- package/dist/repositories/userInvitations/getUserInvitations.js +18 -7
- package/dist/repositories/userInvitations/getUserInvitations.js.map +1 -1
- package/dist/types/bleMesh.d.ts +37 -1
- package/dist/types/dataExports.d.ts +44 -0
- package/dist/types/dataExports.js +2 -0
- package/dist/types/dataExports.js.map +1 -0
- package/dist/types/entitiesTags.d.ts +1 -1
- package/dist/types/enums.d.ts +10 -0
- package/dist/types/enums.js +12 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/userInvitations.d.ts +4 -1
- package/package.json +1 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DeviceBleMeshUpdateTask } from '../../entities';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { CreateDeviceBLEMeshUpdateTasksParams } from '../../types/bleMesh';
|
|
4
|
+
import { Logger } from '../../types/logger';
|
|
5
|
+
export declare const createDeviceBLEMeshUpdateTask: (novaDataSource: NovaDataSource, params: CreateDeviceBLEMeshUpdateTasksParams, logger: Logger) => Promise<DeviceBleMeshUpdateTask[]>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { In } from 'typeorm';
|
|
2
|
+
import { Utils } from '../..';
|
|
3
|
+
import { DeviceBleMesh, DeviceBleMeshUpdateTask } from '../../entities';
|
|
4
|
+
export const createDeviceBLEMeshUpdateTask = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (!params?.clientId ||
|
|
6
|
+
!params?.updateTasks?.length ||
|
|
7
|
+
params?.updateTasks?.some(t => !t.imei || !t.behaviorName || !t.behaviorParams)) {
|
|
8
|
+
logger.warn({ params }, 'BLEMeshRepository::createDeviceBLEMeshUpdateTask missing required parameters');
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
12
|
+
const deviceBleMeshUpdateTaskRepository = dataSource.getRepository(DeviceBleMeshUpdateTask);
|
|
13
|
+
const now = new Date();
|
|
14
|
+
const deviceRepo = dataSource.getRepository(DeviceBleMesh);
|
|
15
|
+
const devices = await deviceRepo.find({
|
|
16
|
+
relations: ['device'],
|
|
17
|
+
where: {
|
|
18
|
+
clientId: params.clientId,
|
|
19
|
+
device: {
|
|
20
|
+
imei: In(params.updateTasks.map(t => t.imei)),
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const result = await deviceBleMeshUpdateTaskRepository.save(params.updateTasks
|
|
25
|
+
.map(task => {
|
|
26
|
+
const deviceBLEMesh = devices.find(dev => dev.device.imei === task.imei);
|
|
27
|
+
if (deviceBLEMesh == null) {
|
|
28
|
+
logger.warn({ imei: task }, 'BLEMeshRepository::createDeviceBLEMeshUpdateTask - device not found');
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
id: Utils.uuidStringToBinaryBuffer(task.id),
|
|
33
|
+
deviceId: deviceBLEMesh.device.id,
|
|
34
|
+
deviceBleMeshId: deviceBLEMesh.id,
|
|
35
|
+
clientId: params.clientId,
|
|
36
|
+
status: task.status,
|
|
37
|
+
behaviorName: task.behaviorName,
|
|
38
|
+
behaviorParams: task.behaviorParams,
|
|
39
|
+
createdAt: now,
|
|
40
|
+
modifiedAt: now,
|
|
41
|
+
};
|
|
42
|
+
})
|
|
43
|
+
.filter(d => d != null));
|
|
44
|
+
return result;
|
|
45
|
+
}, 'BLEMeshRepository::createDeviceBLEMeshUpdateTask');
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=createDeviceBLEMeshUpdateTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDeviceBLEMeshUpdateTask.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/createDeviceBLEMeshUpdateTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAKvE,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,cAA8B,EAC9B,MAA4C,EAC5C,MAAc,EACsB,EAAE;IACtC,IACE,CAAC,MAAM,EAAE,QAAQ;QACjB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM;QAC5B,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAC/E;QACA,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,8EAA8E,CAC/E,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAE/D,EAAE;QACF,MAAM,iCAAiC,GAAG,UAAU,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAA;QAE3F,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAEtB,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;YACpC,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,KAAK,EAAE;gBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE;oBACN,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC9C;aACF;SACF,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC,IAAI,CACzD,MAAM,CAAC,WAAW;aACf,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;YACxE,IAAI,aAAa,IAAI,IAAI,EAAE;gBACzB,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,IAAI,EAAE,EACd,qEAAqE,CACtE,CAAA;gBACD,OAAO,IAAI,CAAA;aACZ;YACD,OAAO;gBACL,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;gBACjC,eAAe,EAAE,aAAa,CAAC,EAAE;gBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,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,kDAAkD,CAAC,CAAA;AACxD,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { GetDeviceBLEMeshUpdateTaskParams, GetDeviceBLEMeshUpdateTaskResult } from '../../types/bleMesh';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
export declare const getDeviceBLEMeshUpdateTasks: (novaDataSource: NovaDataSource, params: GetDeviceBLEMeshUpdateTaskParams, logger: Logger) => Promise<GetDeviceBLEMeshUpdateTaskResult>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Utils } from '../..';
|
|
2
|
+
import { DeviceBleMeshUpdateTask } from '../../entities';
|
|
3
|
+
export const getDeviceBLEMeshUpdateTasks = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.filters?.clientId && !params?.filters?.ids?.length) {
|
|
5
|
+
logger.warn({ params }, 'BLEMeshRepository::getDeviceBLEMeshUpdateTask missing required parameters');
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
|
|
9
|
+
const bleMeshUpdateTaskRepository = dataSource.getRepository(DeviceBleMeshUpdateTask);
|
|
10
|
+
let queryBuilder = bleMeshUpdateTaskRepository.createQueryBuilder('deviceBLEMeshUpdTask');
|
|
11
|
+
if (queryRunner) {
|
|
12
|
+
queryBuilder.setQueryRunner(queryRunner);
|
|
13
|
+
}
|
|
14
|
+
if (params?.filters?.clientId) {
|
|
15
|
+
queryBuilder = queryBuilder.andWhere('deviceBLEMeshUpdTask.clientId = :clientId', {
|
|
16
|
+
clientId: params.filters.clientId,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
if (params?.filters?.ids) {
|
|
20
|
+
queryBuilder = queryBuilder.andWhere('deviceBLEMeshUpdTask.id IN (:...ids)', {
|
|
21
|
+
ids: params.filters.ids.map(i => Utils.uuidStringToBinaryBuffer(i)),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (params.filters.imeis || params?.projectionOptions?.withDevice) {
|
|
25
|
+
queryBuilder = queryBuilder.leftJoinAndSelect('deviceBLEMeshUpdTask.device', 'device');
|
|
26
|
+
}
|
|
27
|
+
if (params.filters.imeis) {
|
|
28
|
+
queryBuilder = queryBuilder.andWhere('device.imei IN (:...imeis)', {
|
|
29
|
+
imeis: params.filters.imeis,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (params.filters.status) {
|
|
33
|
+
queryBuilder = queryBuilder.andWhere('deviceBLEMeshUpdTask.status = :deviceBLEMeshUpdTaskStatus', {
|
|
34
|
+
deviceBLEMeshUpdTaskStatus: params.filters.status,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (params?.projectionOptions?.withDeviceBLEMesh) {
|
|
38
|
+
queryBuilder = queryBuilder.leftJoinAndSelect('deviceBLEMeshUpdTask.deviceBleMesh', 'deviceBleMesh');
|
|
39
|
+
}
|
|
40
|
+
const pageSize = params.pagingOptions?.pageSize ?? 100;
|
|
41
|
+
const pageIndex = params.pagingOptions?.pageIndex ?? 0;
|
|
42
|
+
queryBuilder = queryBuilder.orderBy('deviceBLEMeshUpdTask.modifiedAt', 'DESC');
|
|
43
|
+
queryBuilder = queryBuilder.limit(pageSize).offset(pageSize * pageIndex);
|
|
44
|
+
let updateTasks;
|
|
45
|
+
let count = undefined;
|
|
46
|
+
if (params?.projectionOptions?.withTotalCount) {
|
|
47
|
+
;
|
|
48
|
+
[updateTasks, count] = await queryBuilder.getManyAndCount();
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
updateTasks = await queryBuilder.getMany();
|
|
52
|
+
}
|
|
53
|
+
return { updateTasks, totalCount: count };
|
|
54
|
+
}, 'BLEMeshRepository::getDeviceBLEMeshes');
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=getDeviceBLEMeshUpdateTasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDeviceBLEMeshUpdateTasks.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/getDeviceBLEMeshUpdateTasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BeaconBleMesh, BLEMesh, DeviceBleMesh } from '../../entities';
|
|
2
|
-
import { AddBeaconsToBLEMeshParams, AddDevicesToBLEMeshParams, CreateBLEMeshParams, GetBLEMeshesParams, GetBLEMeshesResult, GetDeviceBLEMeshesParams, GetDeviceBLEMeshesResult, RemoveBeaconsFromBLEMeshParams, RemoveBLEMeshParams, RemoveDevicesFromBLEMeshParams, UpdateBLEMeshParams, UpdateDevicesBLEMeshParams } from '../../types/bleMesh';
|
|
1
|
+
import { BeaconBleMesh, BLEMesh, DeviceBleMesh, DeviceBleMeshUpdateTask } from '../../entities';
|
|
2
|
+
import { AddBeaconsToBLEMeshParams, AddDevicesToBLEMeshParams, CreateBLEMeshParams, CreateDeviceBLEMeshUpdateTasksParams, GetBLEMeshesParams, GetBLEMeshesResult, GetDeviceBLEMeshesParams, GetDeviceBLEMeshesResult, GetDeviceBLEMeshUpdateTaskParams, GetDeviceBLEMeshUpdateTaskResult, RemoveBeaconsFromBLEMeshParams, RemoveBLEMeshParams, RemoveDevicesFromBLEMeshParams, UpdateBLEMeshParams, UpdateDeviceBLEMeshUpdateTaskParams, UpdateDevicesBLEMeshParams } from '../../types/bleMesh';
|
|
3
3
|
import { BaseRepository } from '../baseRepository';
|
|
4
4
|
export declare class BLEMeshRepository extends BaseRepository {
|
|
5
5
|
/**
|
|
@@ -100,4 +100,31 @@ export declare class BLEMeshRepository extends BaseRepository {
|
|
|
100
100
|
* @returns Promise<GetDeviceBLEMeshesResult> the device BLE Meshes result
|
|
101
101
|
**/
|
|
102
102
|
getDeviceBLEMeshes(params: GetDeviceBLEMeshesParams): Promise<GetDeviceBLEMeshesResult>;
|
|
103
|
+
/**
|
|
104
|
+
* Create device BLE Mesh update task
|
|
105
|
+
* @param params params containing information to create device BLE Mesh update task
|
|
106
|
+
* params.clientId: the client ID, required
|
|
107
|
+
* params.updateTasks: the update tasks, required
|
|
108
|
+
* @returns Promise<DeviceBleMeshUpdateTasks[]> the created Device BLE Mesh Update
|
|
109
|
+
* */
|
|
110
|
+
createDeviceBLEMeshUpdateTask(params: CreateDeviceBLEMeshUpdateTasksParams): Promise<DeviceBleMeshUpdateTask[]>;
|
|
111
|
+
/**
|
|
112
|
+
* Get device BLE Mesh update tasks
|
|
113
|
+
* @param params params containing information to get device BLE Mesh update tasks
|
|
114
|
+
* params.filters.clientId: the client ID, required if ids is not provided
|
|
115
|
+
* params.filters.ids: the ids, required if clientId is not provided
|
|
116
|
+
* params.filters.status: the status, optional
|
|
117
|
+
* params.filters.imeis: the IMEIs, optional
|
|
118
|
+
* params.pagingOptions: the paging options, optional
|
|
119
|
+
* @returns Promise<GetDeviceBLEMeshUpdateTaskResult> the device BLE Mesh Update tasks
|
|
120
|
+
* */
|
|
121
|
+
getDeviceBLEMeshUpdateTasks(params: GetDeviceBLEMeshUpdateTaskParams): Promise<GetDeviceBLEMeshUpdateTaskResult>;
|
|
122
|
+
/**
|
|
123
|
+
* Update devices BLE Mesh update task
|
|
124
|
+
* @param params params containing information to update devices BLE Mesh update task
|
|
125
|
+
* params.filters.id: the task Id, required
|
|
126
|
+
* params.values.status: the status to update, required
|
|
127
|
+
* @returns Promise<boolean> true if the devices were updated
|
|
128
|
+
* */
|
|
129
|
+
updateDevicesBLEMeshUpdateTask(params: UpdateDeviceBLEMeshUpdateTaskParams): Promise<boolean>;
|
|
103
130
|
}
|
|
@@ -3,13 +3,16 @@ import { BaseRepository } from '../baseRepository';
|
|
|
3
3
|
import { addBeaconsToBLEMesh } from './addBeaconsToBLEMesh';
|
|
4
4
|
import { addDevicesToBLEMesh } from './addDevicesToBLEMesh';
|
|
5
5
|
import { createBLEMesh } from './createBLEMesh';
|
|
6
|
+
import { createDeviceBLEMeshUpdateTask } from './createDeviceBLEMeshUpdateTask';
|
|
6
7
|
import { getBLEMeshes } from './getBLEMeshes';
|
|
7
8
|
import { getDeviceBLEMeshes } from './getDeviceBLEMeshes';
|
|
9
|
+
import { getDeviceBLEMeshUpdateTasks } from './getDeviceBLEMeshUpdateTasks';
|
|
8
10
|
import { removeBeaconsFromBLEMesh } from './removeBeaconsFromBLEMesh';
|
|
9
11
|
import { removeBLEMesh } from './removeBLEMesh';
|
|
10
12
|
import { removeDevicesFromBLEMesh } from './removeDevicesFromBLEMesh';
|
|
11
13
|
import { updateBLEMesh } from './updateBLEMesh';
|
|
12
14
|
import { updateDevicesBLEMesh } from './updateDevicesBLEMesh';
|
|
15
|
+
import { updateDevicesBLEMeshUpdateTask } from './updateDevicesBLEMeshUpdateTask';
|
|
13
16
|
export class BLEMeshRepository extends BaseRepository {
|
|
14
17
|
/**
|
|
15
18
|
* Create a BLE Mesh
|
|
@@ -169,5 +172,50 @@ export class BLEMeshRepository extends BaseRepository {
|
|
|
169
172
|
this.logger.trace(result, 'BLEMeshRepository::getDeviceBLEMeshes result');
|
|
170
173
|
return result;
|
|
171
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Create device BLE Mesh update task
|
|
177
|
+
* @param params params containing information to create device BLE Mesh update task
|
|
178
|
+
* params.clientId: the client ID, required
|
|
179
|
+
* params.updateTasks: the update tasks, required
|
|
180
|
+
* @returns Promise<DeviceBleMeshUpdateTasks[]> the created Device BLE Mesh Update
|
|
181
|
+
* */
|
|
182
|
+
async createDeviceBLEMeshUpdateTask(params) {
|
|
183
|
+
this.logger.trace(params, 'BLEMeshRepository::createDeviceBLEMeshUpdateTask started with params');
|
|
184
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
185
|
+
const result = await createDeviceBLEMeshUpdateTask(novaDataSource, params, this.logger);
|
|
186
|
+
this.logger.trace(result, 'BLEMeshRepository::createDeviceBLEMeshUpdateTask result');
|
|
187
|
+
return result;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Get device BLE Mesh update tasks
|
|
191
|
+
* @param params params containing information to get device BLE Mesh update tasks
|
|
192
|
+
* params.filters.clientId: the client ID, required if ids is not provided
|
|
193
|
+
* params.filters.ids: the ids, required if clientId is not provided
|
|
194
|
+
* params.filters.status: the status, optional
|
|
195
|
+
* params.filters.imeis: the IMEIs, optional
|
|
196
|
+
* params.pagingOptions: the paging options, optional
|
|
197
|
+
* @returns Promise<GetDeviceBLEMeshUpdateTaskResult> the device BLE Mesh Update tasks
|
|
198
|
+
* */
|
|
199
|
+
async getDeviceBLEMeshUpdateTasks(params) {
|
|
200
|
+
this.logger.trace(params, 'BLEMeshRepository::getDeviceBLEMeshUpdateTasks started with params');
|
|
201
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
202
|
+
const result = await getDeviceBLEMeshUpdateTasks(novaDataSource, params, this.logger);
|
|
203
|
+
this.logger.trace(result, 'BLEMeshRepository::getDeviceBLEMeshUpdateTasks result');
|
|
204
|
+
return result;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Update devices BLE Mesh update task
|
|
208
|
+
* @param params params containing information to update devices BLE Mesh update task
|
|
209
|
+
* params.filters.id: the task Id, required
|
|
210
|
+
* params.values.status: the status to update, required
|
|
211
|
+
* @returns Promise<boolean> true if the devices were updated
|
|
212
|
+
* */
|
|
213
|
+
async updateDevicesBLEMeshUpdateTask(params) {
|
|
214
|
+
this.logger.trace(params, 'BLEMeshRepository::updateDevicesBLEMeshUpdateTask started with params');
|
|
215
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
216
|
+
const result = await updateDevicesBLEMeshUpdateTask(novaDataSource, params, this.logger);
|
|
217
|
+
this.logger.trace({ result }, 'BLEMeshRepository::updateDevicesBLEMeshUpdateTask result');
|
|
218
|
+
return result;
|
|
219
|
+
}
|
|
172
220
|
}
|
|
173
221
|
//# 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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { DeviceBleMesh } from '../../entities';
|
|
2
2
|
export const updateDevicesBLEMesh = async (novaDataSource, params, logger) => {
|
|
3
3
|
if (!params?.filters?.imeis?.length || !params.filters.clientId) {
|
|
4
|
-
logger.warn({ params }, 'BLEMeshRepository::
|
|
4
|
+
logger.warn({ params }, 'BLEMeshRepository::updateDevicesBLEMesh missing required parameters');
|
|
5
5
|
return false;
|
|
6
6
|
}
|
|
7
7
|
if (!params?.values?.status) {
|
|
8
|
-
logger.warn({ params }, 'BLEMeshRepository::
|
|
8
|
+
logger.warn({ params }, 'BLEMeshRepository::updateDevicesBLEMesh missing required parameters');
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
11
11
|
return novaDataSource.safeQuery(async (dataSource) => {
|
|
@@ -25,6 +25,6 @@ export const updateDevicesBLEMesh = async (novaDataSource, params, logger) => {
|
|
|
25
25
|
.andWhere('clientId = :clientId', { clientId: params.filters.clientId })
|
|
26
26
|
.execute();
|
|
27
27
|
return result.affected > 0;
|
|
28
|
-
}, 'BLEMeshRepository::
|
|
28
|
+
}, 'BLEMeshRepository::updateDevicesBLEMesh');
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=updateDevicesBLEMesh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateDevicesBLEMesh.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/updateDevicesBLEMesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAK9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,cAA8B,EAC9B,MAAkC,EAClC,MAAc,EACI,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"updateDevicesBLEMesh.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/updateDevicesBLEMesh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAK9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,cAA8B,EAC9B,MAAkC,EAClC,MAAc,EACI,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,qEAAqE,CAAC,CAAA;QAC9F,OAAO,KAAK,CAAA;KACb;IAED,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,qEAAqE,CAAC,CAAA;QAC9F,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAEjE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAEtB,MAAM,MAAM,GAAG,MAAM,iBAAiB;aACnC,kBAAkB,EAAE;aACpB,MAAM,CAAC,aAAa,CAAC;aACrB,GAAG,CAAC;YACH,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAC5B,UAAU,EAAE,GAAG;SAChB,CAAC;aACD,KAAK,CACJ,sFAAsF,EACtF;YACE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK;YAC3B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;SAClC,CACF;aACA,QAAQ,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;aACvE,OAAO,EAAE,CAAA;QAEZ,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5B,CAAC,EAAE,yCAAyC,CAAC,CAAA;AAC/C,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { UpdateDeviceBLEMeshUpdateTaskParams } from '../../types/bleMesh';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
export declare const updateDevicesBLEMeshUpdateTask: (novaDataSource: NovaDataSource, params: UpdateDeviceBLEMeshUpdateTaskParams, logger: Logger) => Promise<boolean>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Utils } from '../..';
|
|
2
|
+
import { DeviceBleMeshUpdateTask } from '../../entities';
|
|
3
|
+
export const updateDevicesBLEMeshUpdateTask = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.filters?.id) {
|
|
5
|
+
logger.warn({ params }, 'BLEMeshRepository::updateDevicesBLEMeshUpdateTask missing required parameters');
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (!params?.values?.status) {
|
|
9
|
+
logger.warn({ params }, 'BLEMeshRepository::updateDevicesBLEMeshUpdateTask missing required parameters');
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
13
|
+
const deviceBleMeshUpdateTaskRepository = dataSource.getRepository(DeviceBleMeshUpdateTask);
|
|
14
|
+
const now = new Date();
|
|
15
|
+
const result = await deviceBleMeshUpdateTaskRepository
|
|
16
|
+
.createQueryBuilder()
|
|
17
|
+
.update(DeviceBleMeshUpdateTask)
|
|
18
|
+
.set({
|
|
19
|
+
status: params.values.status,
|
|
20
|
+
modifiedAt: now,
|
|
21
|
+
})
|
|
22
|
+
.where('id = :id', { id: Utils.uuidStringToBinaryBuffer(params.filters.id) })
|
|
23
|
+
.execute();
|
|
24
|
+
return result.affected > 0;
|
|
25
|
+
}, 'BLEMeshRepository::updateDevicesBLEMeshUpdateTask');
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=updateDevicesBLEMeshUpdateTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateDevicesBLEMeshUpdateTask.js","sourceRoot":"","sources":["../../../src/repositories/bleMesh/updateDevicesBLEMeshUpdateTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAKxD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EACjD,cAA8B,EAC9B,MAA2C,EAC3C,MAAc,EACI,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACxB,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,+EAA+E,CAChF,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;QAC3B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,+EAA+E,CAChF,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,iCAAiC,GAAG,UAAU,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAA;QAE3F,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAEtB,MAAM,MAAM,GAAG,MAAM,iCAAiC;aACnD,kBAAkB,EAAE;aACpB,MAAM,CAAC,uBAAuB,CAAC;aAC/B,GAAG,CAAC;YACH,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAC5B,UAAU,EAAE,GAAG;SAChB,CAAC;aACD,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;aAC5E,OAAO,EAAE,CAAA;QAEZ,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5B,CAAC,EAAE,mDAAmD,CAAC,CAAA;AACzD,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DataExport } from '../../entities';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { CreateDataExportsParams } from '../../types/dataExports';
|
|
4
|
+
import { Logger } from '../../types/logger';
|
|
5
|
+
export declare const createDataExports: (novaDataSource: NovaDataSource, params: CreateDataExportsParams, logger: Logger) => Promise<DataExport[]>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { v4 as uuidV4 } from 'uuid';
|
|
2
|
+
import { DataExport } from '../../entities';
|
|
3
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
4
|
+
export const createDataExports = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (!params?.dataExports?.length || params.dataExports.some(e => !e.clientId)) {
|
|
6
|
+
logger.warn({ params }, 'DataExportsRepository::createDataExports - missing required parameters');
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
10
|
+
const dataExportsRepository = dataSource.getRepository(DataExport);
|
|
11
|
+
const now = new Date();
|
|
12
|
+
const dataExports = params.dataExports.map(e => {
|
|
13
|
+
let bufferId = uuidStringToBinaryBuffer(e.id);
|
|
14
|
+
if (bufferId === null) {
|
|
15
|
+
bufferId = uuidStringToBinaryBuffer(uuidV4());
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
id: bufferId,
|
|
19
|
+
clientId: e.clientId,
|
|
20
|
+
deviceId: e.deviceId,
|
|
21
|
+
createdAt: now,
|
|
22
|
+
dataType: e.dataType,
|
|
23
|
+
status: e.status,
|
|
24
|
+
parameters: e.parameters,
|
|
25
|
+
exportLocation: e.exportLocation,
|
|
26
|
+
downloadLink: e.downloadLink,
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
return await dataExportsRepository.save(dataExports);
|
|
30
|
+
}, 'DataExportsRepository::createDataExports');
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=createDataExports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createDataExports.js","sourceRoot":"","sources":["../../../src/repositories/dataExports/createDataExports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAI3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,cAA8B,EAC9B,MAA+B,EAC/B,MAAc,EACS,EAAE;IACzB,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;QAC7E,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,wEAAwE,CACzE,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAyB,EAAE;QAC1F,MAAM,qBAAqB,GAAG,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAElE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAEtB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7C,IAAI,QAAQ,GAAG,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC7C,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACrB,QAAQ,GAAG,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAA;aAC9C;YACD,OAAO;gBACL,EAAE,EAAE,QAAQ;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,YAAY,EAAE,CAAC,CAAC,YAAY;aAC7B,CAAA;QACH,CAAC,CAAiB,CAAA;QAElB,OAAO,MAAM,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACtD,CAAC,EAAE,0CAA0C,CAAC,CAAA;AAChD,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { GetDataExportsParams, GetDataExportsResult } from '../../types/dataExports';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
export declare const getDataExports: (novaDataSource: NovaDataSource, params: GetDataExportsParams, logger: Logger) => Promise<GetDataExportsResult>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DataExport } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const getDataExports = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.filter?.id && !params?.filter?.clientId) {
|
|
5
|
+
logger.warn({ params }, 'DataExportsRepository::getDataExports - missing required parameters');
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const binaryBuffer = uuidStringToBinaryBuffer(params.filter.id);
|
|
9
|
+
if (!binaryBuffer?.length) {
|
|
10
|
+
logger.warn({ params }, 'DataExportsRepository::getDataExports - id should be a valid UUID');
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return novaDataSource.safeQuery(async (safeDataSource, queryRunner) => {
|
|
14
|
+
const dataExportsRepository = safeDataSource.getRepository(DataExport);
|
|
15
|
+
let queryBuilder = dataExportsRepository.createQueryBuilder('dataExport');
|
|
16
|
+
if (queryRunner) {
|
|
17
|
+
queryBuilder.setQueryRunner(queryRunner);
|
|
18
|
+
}
|
|
19
|
+
if (params?.filter?.id) {
|
|
20
|
+
queryBuilder = queryBuilder.where('dataExport.id = :id', {
|
|
21
|
+
id: binaryBuffer,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (params?.filter?.clientId) {
|
|
25
|
+
queryBuilder = queryBuilder.andWhere('dataExport.clientId = :clientId', {
|
|
26
|
+
clientId: params.filter.clientId,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (params?.projectionOptions?.withDevice) {
|
|
30
|
+
queryBuilder = queryBuilder.leftJoinAndSelect('dataExport.device', 'device');
|
|
31
|
+
}
|
|
32
|
+
if (params?.projectionOptions?.withClient) {
|
|
33
|
+
queryBuilder = queryBuilder.leftJoinAndSelect('dataExport.client', 'client');
|
|
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 dataExports;
|
|
39
|
+
let count = undefined;
|
|
40
|
+
if (params?.projectionOptions?.withTotalCount) {
|
|
41
|
+
;
|
|
42
|
+
[dataExports, count] = await queryBuilder.getManyAndCount();
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
dataExports = await queryBuilder.getMany();
|
|
46
|
+
}
|
|
47
|
+
return { dataExports, totalCount: count };
|
|
48
|
+
}, 'DataExportsRepository::getDataExports');
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=getDataExports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDataExports.js","sourceRoot":"","sources":["../../../src/repositories/dataExports/getDataExports.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAI3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,cAA8B,EAC9B,MAA4B,EAC5B,MAAc,EACiB,EAAE;IACjC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;QACpD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,qEAAqE,CAAC,CAAA;QAC9F,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAE/D,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE;QACzB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,mEAAmE,CAAC,CAAA;QAC5F,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,cAA8B,EAC9B,WAAyB,EACM,EAAE;QACjC,MAAM,qBAAqB,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAEtE,IAAI,YAAY,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAEzE,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YACtB,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,qBAAqB,EAAE;gBACvD,EAAE,EAAE,YAAY;aACjB,CAAC,CAAA;SACH;QAED,IAAI,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC5B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,iCAAiC,EAAE;gBACtE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;aACjC,CAAC,CAAA;SACH;QAED,IAAI,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE;YACzC,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;SAC7E;QAED,IAAI,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE;YACzC,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;SAC7E;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,WAAyB,CAAA;QAC7B,IAAI,KAAK,GAAW,SAAS,CAAA;QAC7B,IAAI,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE;YAC7C,CAAC;YAAA,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;SAC7D;aAAM;YACL,WAAW,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;SAC3C;QAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;IAC3C,CAAC,EACD,uCAAuC,CACxC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DataExport } from '../../entities';
|
|
2
|
+
import { CreateDataExportsParams, GetDataExportsParams, GetDataExportsResult, UpdateDataExportParams } from '../../types/dataExports';
|
|
3
|
+
import { BaseRepository } from '../baseRepository';
|
|
4
|
+
export declare class DataExportsRepository extends BaseRepository {
|
|
5
|
+
/**
|
|
6
|
+
* Create data exports
|
|
7
|
+
* @param params Params to create data exports
|
|
8
|
+
* params.dataExports: List of data exports to create
|
|
9
|
+
* @returns The list of created data exports
|
|
10
|
+
*/
|
|
11
|
+
createDataExports(params: CreateDataExportsParams): Promise<DataExport[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Get the list of data exports
|
|
14
|
+
* @param params Params to get the list of data exports
|
|
15
|
+
* params.filter.id: Filter by data export id
|
|
16
|
+
* params.filter.clientId: Filter by client id
|
|
17
|
+
* params.projectionOptions: Projection options
|
|
18
|
+
* params.projectionOptions.withClient: Include client in the projection
|
|
19
|
+
* params.projectionOptions.withDevice: Include device in the projection
|
|
20
|
+
* params.projectionOptions.withTotalCount: Include total count
|
|
21
|
+
* @returns The list of data exports with the total count if requested
|
|
22
|
+
*/
|
|
23
|
+
getDataExports(params: GetDataExportsParams): Promise<GetDataExportsResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Update data export
|
|
26
|
+
* @param params Params to update data export
|
|
27
|
+
* params.filter.id: Filter by data export id
|
|
28
|
+
* params.values: Values to update
|
|
29
|
+
* params.values.completedAt: Completed at date
|
|
30
|
+
* params.values.dataType: Data export type
|
|
31
|
+
* params.values.status: Data export status
|
|
32
|
+
* params.values.parameters: Parameters
|
|
33
|
+
* params.values.exportLocation: Export location
|
|
34
|
+
* params.values.downloadLink: Download link
|
|
35
|
+
* @returns True if the data export was updated successfully
|
|
36
|
+
*/
|
|
37
|
+
updateDataExport(params: UpdateDataExportParams): Promise<boolean>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { BaseRepository } from '../baseRepository';
|
|
3
|
+
import { createDataExports } from './createDataExports';
|
|
4
|
+
import { getDataExports } from './getDataExports';
|
|
5
|
+
import { updateDataExport } from './updateDataExports';
|
|
6
|
+
export class DataExportsRepository extends BaseRepository {
|
|
7
|
+
/**
|
|
8
|
+
* Create data exports
|
|
9
|
+
* @param params Params to create data exports
|
|
10
|
+
* params.dataExports: List of data exports to create
|
|
11
|
+
* @returns The list of created data exports
|
|
12
|
+
*/
|
|
13
|
+
async createDataExports(params) {
|
|
14
|
+
this.logger.trace(params, 'DataExportsRepository::createDataExports started with params');
|
|
15
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
16
|
+
const result = await createDataExports(novaDataSource, params, this.logger);
|
|
17
|
+
this.logger.trace({ result }, 'DataExportsRepository::createDataExports result');
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the list of data exports
|
|
22
|
+
* @param params Params to get the list of data exports
|
|
23
|
+
* params.filter.id: Filter by data export id
|
|
24
|
+
* params.filter.clientId: Filter by client id
|
|
25
|
+
* params.projectionOptions: Projection options
|
|
26
|
+
* params.projectionOptions.withClient: Include client in the projection
|
|
27
|
+
* params.projectionOptions.withDevice: Include device in the projection
|
|
28
|
+
* params.projectionOptions.withTotalCount: Include total count
|
|
29
|
+
* @returns The list of data exports with the total count if requested
|
|
30
|
+
*/
|
|
31
|
+
async getDataExports(params) {
|
|
32
|
+
this.logger.trace(params, 'DataExportsRepository::getDataExports started with params');
|
|
33
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
34
|
+
const result = await getDataExports(novaDataSource, params, this.logger);
|
|
35
|
+
this.logger.trace({ result }, 'DataExportsRepository::getDataExports result');
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Update data export
|
|
40
|
+
* @param params Params to update data export
|
|
41
|
+
* params.filter.id: Filter by data export id
|
|
42
|
+
* params.values: Values to update
|
|
43
|
+
* params.values.completedAt: Completed at date
|
|
44
|
+
* params.values.dataType: Data export type
|
|
45
|
+
* params.values.status: Data export status
|
|
46
|
+
* params.values.parameters: Parameters
|
|
47
|
+
* params.values.exportLocation: Export location
|
|
48
|
+
* params.values.downloadLink: Download link
|
|
49
|
+
* @returns True if the data export was updated successfully
|
|
50
|
+
*/
|
|
51
|
+
async updateDataExport(params) {
|
|
52
|
+
this.logger.trace(params, 'DataExportsRepository::updateDataExport started with params');
|
|
53
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
54
|
+
const result = await updateDataExport(novaDataSource, params, this.logger);
|
|
55
|
+
this.logger.trace({ result }, 'DataExportsRepository::updateDataExport result');
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/dataExports/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAOrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACvD;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAA+B;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,8DAA8D,CAAC,CAAA;QAEzF,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,EAAE,MAAM,EAAE,EAAE,iDAAiD,CAAC,CAAA;QAEhF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,2DAA2D,CAAC,CAAA;QAEtF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAExE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,8CAA8C,CAAC,CAAA;QAE7E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAA8B;QACnD,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,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE1E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,gDAAgD,CAAC,CAAA;QAE/E,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { UpdateDataExportParams } from '../../types/dataExports';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
export declare const updateDataExport: (novaDataSource: NovaDataSource, params: UpdateDataExportParams, logger: Logger) => Promise<boolean>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DataExport } from '../../entities';
|
|
2
|
+
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
|
+
export const updateDataExport = async (novaDataSource, params, logger) => {
|
|
4
|
+
if (!params?.filter?.id || Object.values(params.values).every(v => v == null)) {
|
|
5
|
+
logger.warn({ params }, 'DataExportsRepository::updateDataExport - missing required parameters');
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const binaryBuffer = uuidStringToBinaryBuffer(params.filter.id);
|
|
9
|
+
if (!binaryBuffer?.length) {
|
|
10
|
+
logger.warn({ params }, 'DataExportsRepository::updateDataExport - id should be a valid UUID');
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
14
|
+
const dataExportsRepository = dataSource.getRepository(DataExport);
|
|
15
|
+
const result = await dataExportsRepository
|
|
16
|
+
.createQueryBuilder()
|
|
17
|
+
.update(DataExport)
|
|
18
|
+
.set({
|
|
19
|
+
...params.values,
|
|
20
|
+
})
|
|
21
|
+
.where('id = :id', { id: binaryBuffer })
|
|
22
|
+
.execute();
|
|
23
|
+
return result?.affected > 0;
|
|
24
|
+
}, 'DataExportsRepository::updateDataExport');
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=updateDataExports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateDataExports.js","sourceRoot":"","sources":["../../../src/repositories/dataExports/updateDataExports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAI3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,cAA8B,EAC9B,MAA8B,EAC9B,MAAc,EACI,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;QAC7E,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,uEAAuE,CAAC,CAAA;QAChG,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAE/D,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE;QACzB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,qEAAqE,CAAC,CAAA;QAC9F,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,qBAAqB,GAAG,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAElE,MAAM,MAAM,GAAG,MAAM,qBAAqB;aACvC,kBAAkB,EAAE;aACpB,MAAM,CAAC,UAAU,CAAC;aAClB,GAAG,CAAC;YACH,GAAG,MAAM,CAAC,MAAM;SACjB,CAAC;aACD,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;aACvC,OAAO,EAAE,CAAA;QAEZ,OAAO,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAA;IAC7B,CAAC,EAAE,yCAAyC,CAAC,CAAA;AAC/C,CAAC,CAAA"}
|
|
@@ -11,6 +11,7 @@ import { BLEMeshConfigurationRepository } from './bleMeshConfiguration';
|
|
|
11
11
|
import { BoundariesRepository } from './boundaries';
|
|
12
12
|
import { ClientsRepository } from './clients';
|
|
13
13
|
import { CountriesRepository } from './countries';
|
|
14
|
+
import { DataExportsRepository } from './dataExports';
|
|
14
15
|
import { DeactivationsRepository } from './deactivations';
|
|
15
16
|
import { DeviceBehaviorsRepository } from './deviceBehaviors';
|
|
16
17
|
import { DevicePairingsRepository } from './devicePairings';
|
|
@@ -38,4 +39,4 @@ import { UserInvitationsRepository } from './userInvitations';
|
|
|
38
39
|
import { UserRatingRequestsRepository } from './userRatingRequests';
|
|
39
40
|
import { UserRegistrationAttemptsRepository } from './userRegistrationAttempts';
|
|
40
41
|
import { UsersRepository } from './users';
|
|
41
|
-
export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, DeviceTypeFeatureRepository, EntityTagsRepository, FeatureRepository, FirmwaresRepository, LatestUserAppInfoRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, PromotionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
|
|
42
|
+
export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DataExportsRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, DeviceTypeFeatureRepository, EntityTagsRepository, FeatureRepository, FirmwaresRepository, LatestUserAppInfoRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, PromotionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
|