@spytecgps/nova-orm 1.0.120 → 1.0.121
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/deviceBleMeshUpdateTask.d.ts +17 -0
- package/dist/entities/deviceBleMeshUpdateTask.js +83 -0
- package/dist/entities/deviceBleMeshUpdateTask.js.map +1 -0
- package/dist/entities/index.d.ts +2 -1
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.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/types/bleMesh.d.ts +37 -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"}
|
package/dist/types/bleMesh.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BLEMesh, DeviceBleMesh } from '../entities';
|
|
1
|
+
import { BLEMesh, DeviceBleMesh, DeviceBleMeshUpdateTask } from '../entities';
|
|
2
2
|
import { Enums } from '.';
|
|
3
3
|
import { OptionalReportPagination } from './common';
|
|
4
4
|
export interface CreateBLEMeshParams {
|
|
@@ -91,3 +91,39 @@ export interface GetDeviceBLEMeshesResult {
|
|
|
91
91
|
deviceBLEMeshes: DeviceBleMesh[];
|
|
92
92
|
totalCount?: number;
|
|
93
93
|
}
|
|
94
|
+
export interface CreateDeviceBLEMeshUpdateTask {
|
|
95
|
+
id: string;
|
|
96
|
+
imei: string;
|
|
97
|
+
status?: Enums.DeviceBehaviorTaskStatus;
|
|
98
|
+
behaviorName: string;
|
|
99
|
+
behaviorParams: object;
|
|
100
|
+
}
|
|
101
|
+
export interface CreateDeviceBLEMeshUpdateTasksParams {
|
|
102
|
+
clientId: number;
|
|
103
|
+
updateTasks: CreateDeviceBLEMeshUpdateTask[];
|
|
104
|
+
}
|
|
105
|
+
export interface GetDeviceBLEMeshUpdateTaskParams extends OptionalReportPagination {
|
|
106
|
+
filters: {
|
|
107
|
+
ids?: string[];
|
|
108
|
+
clientId?: number;
|
|
109
|
+
status?: Enums.DeviceBehaviorTaskStatus;
|
|
110
|
+
imeis?: string[];
|
|
111
|
+
};
|
|
112
|
+
projectionOptions?: {
|
|
113
|
+
withDevice?: boolean;
|
|
114
|
+
withDeviceBLEMesh?: boolean;
|
|
115
|
+
withTotalCount?: boolean;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export interface GetDeviceBLEMeshUpdateTaskResult {
|
|
119
|
+
updateTasks: DeviceBleMeshUpdateTask[];
|
|
120
|
+
totalCount?: number;
|
|
121
|
+
}
|
|
122
|
+
export interface UpdateDeviceBLEMeshUpdateTaskParams {
|
|
123
|
+
filters: {
|
|
124
|
+
id: string;
|
|
125
|
+
};
|
|
126
|
+
values: {
|
|
127
|
+
status?: Enums.DeviceBehaviorTaskStatus;
|
|
128
|
+
};
|
|
129
|
+
}
|