@spytecgps/nova-orm 1.0.70 → 1.0.72
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/trips/getDeviceTripConfiguration.js +24 -6
- package/dist/repositories/trips/getDeviceTripConfiguration.js.map +1 -1
- package/dist/repositories/trips/index.d.ts +1 -1
- package/dist/repositories/trips/index.js +3 -3
- package/dist/repositories/trips/index.js.map +1 -1
- package/dist/types/trip.d.ts +3 -2
- package/package.json +1 -1
|
@@ -6,14 +6,29 @@ export const getDeviceTripConfiguration = async (novaDataSource, params, logger)
|
|
|
6
6
|
logger.warn('TripRepository::getTrips missing required parameters');
|
|
7
7
|
return null;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
// Force the query to run on master or slave
|
|
10
|
+
const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
|
|
11
|
+
return novaDataSource.safeQuery(async (safeDataSource, queryRunner) => {
|
|
10
12
|
const repository = safeDataSource.getRepository(Device);
|
|
11
|
-
const queryBuilder = repository
|
|
12
|
-
|
|
13
|
-
.
|
|
13
|
+
const queryBuilder = repository.createQueryBuilder('device');
|
|
14
|
+
if (queryRunner) {
|
|
15
|
+
queryBuilder.setQueryRunner(queryRunner);
|
|
16
|
+
}
|
|
17
|
+
const deviceCdsInnerJoinCondition = params?.filters?.clientId
|
|
18
|
+
? 'cds.clientId = device.clientId AND cds.imei = device.imei'
|
|
19
|
+
: 'cds.imei = device.imei';
|
|
20
|
+
queryBuilder
|
|
21
|
+
.innerJoin(ClientDeviceSetting, 'cds', deviceCdsInnerJoinCondition)
|
|
14
22
|
.leftJoin(UserActivationDevice, 'uad', 'uad.imei = device.imei');
|
|
15
23
|
const { filters } = params;
|
|
16
|
-
|
|
24
|
+
if (filters.clientId) {
|
|
25
|
+
queryBuilder
|
|
26
|
+
.where('device.clientId = :clientId', { clientId: filters.clientId })
|
|
27
|
+
.andWhere('device.imei = :imei', { imei: filters.imei });
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
queryBuilder.where('device.imei = :imei', { imei: filters.imei });
|
|
31
|
+
}
|
|
17
32
|
const deviceTripConfiguration = await queryBuilder
|
|
18
33
|
.select([
|
|
19
34
|
'device.clientId as clientId',
|
|
@@ -25,10 +40,13 @@ export const getDeviceTripConfiguration = async (novaDataSource, params, logger)
|
|
|
25
40
|
'cds.reportingMode as reportingMode',
|
|
26
41
|
])
|
|
27
42
|
.getRawOne();
|
|
43
|
+
if (!deviceTripConfiguration) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
28
46
|
return {
|
|
29
47
|
...deviceTripConfiguration,
|
|
30
48
|
generateTrips: deviceTripConfiguration.generateTrips === 1,
|
|
31
49
|
};
|
|
32
|
-
}, 'TripRepository::getTrips error');
|
|
50
|
+
}, 'TripRepository::getTrips error', dbQueryRunner);
|
|
33
51
|
};
|
|
34
52
|
//# sourceMappingURL=getDeviceTripConfiguration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDeviceTripConfiguration.js","sourceRoot":"","sources":["../../../src/repositories/trips/getDeviceTripConfiguration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getDeviceTripConfiguration.js","sourceRoot":"","sources":["../../../src/repositories/trips/getDeviceTripConfiguration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAGlF,OAAO,EAGL,gDAAgD,GACjD,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,cAA8B,EAC9B,MAAsC,EACtC,MAAc,EACd,EAAE;IACF,IACE,kBAAkB,CAChB,MAAM,EACN,gDAAgD,CACjD,EACD;QACA,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;QACnE,OAAO,IAAI,CAAA;KACZ;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,cAA8B,EAC9B,WAAyB,EACS,EAAE;QACpC,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAEvD,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE5D,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,MAAM,2BAA2B,GAAG,MAAM,EAAE,OAAO,EAAE,QAAQ;YAC3D,CAAC,CAAC,2DAA2D;YAC7D,CAAC,CAAC,wBAAwB,CAAA;QAE5B,YAAY;aACT,SAAS,CAAC,mBAAmB,EAAE,KAAK,EAAE,2BAA2B,CAAC;aAClE,QAAQ,CAAC,oBAAoB,EAAE,KAAK,EAAE,wBAAwB,CAAC,CAAA;QAElE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QAE1B,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,YAAY;iBACT,KAAK,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;iBACpE,QAAQ,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;SAC3D;aAAM;YACL,YAAY,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;SAClE;QAED,MAAM,uBAAuB,GAAG,MAAM,YAAY;aAC/C,MAAM,CAAC;YACN,6BAA6B;YAC7B,qCAAqC;YACrC,gCAAgC;YAChC,oCAAoC;YACpC,kDAAkD;YAClD,sDAAsD;YACtD,oCAAoC;SACrC,CAAC;aACD,SAAS,EAAE,CAAA;QAEd,IAAI,CAAC,uBAAuB,EAAE;YAC5B,OAAO,IAAI,CAAA;SACZ;QAED,OAAO;YACL,GAAG,uBAAuB;YAC1B,aAAa,EAAE,uBAAuB,CAAC,aAAa,KAAK,CAAC;SAChC,CAAA;IAC9B,CAAC,EACD,gCAAgC,EAChC,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -32,5 +32,5 @@ export declare class TripRepository extends BaseRepository {
|
|
|
32
32
|
* @returns {boolean} true if the event was upserted, false otherwise
|
|
33
33
|
*/
|
|
34
34
|
upsertTrip(params: CreateTripParams): Promise<boolean>;
|
|
35
|
-
getDeviceTripConfiguration(params: GetUserTripConfigurationParams): Promise<DeviceTripConfiguration>;
|
|
35
|
+
getDeviceTripConfiguration(params: GetUserTripConfigurationParams): Promise<DeviceTripConfiguration | null>;
|
|
36
36
|
}
|
|
@@ -37,7 +37,7 @@ export class TripRepository extends BaseRepository {
|
|
|
37
37
|
* @returns {Trip} the Trip associated to the passed id or null
|
|
38
38
|
*/
|
|
39
39
|
async getTripById(id, forceUseReplica) {
|
|
40
|
-
this.logger.trace({}, `TripRepository::this.getTripById started with params`);
|
|
40
|
+
this.logger.trace({ id, forceUseReplica }, `TripRepository::this.getTripById started with params`);
|
|
41
41
|
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
42
42
|
const result = await getTripById(novaDataSource, id, this.logger, forceUseReplica);
|
|
43
43
|
this.logger.trace(result, 'TripRepository::getTripById result');
|
|
@@ -49,7 +49,7 @@ export class TripRepository extends BaseRepository {
|
|
|
49
49
|
* @returns {GetTripsResult} The GetTripsResult containing the trips and the totalCount.
|
|
50
50
|
*/
|
|
51
51
|
async getTrips(params) {
|
|
52
|
-
this.logger.trace(
|
|
52
|
+
this.logger.trace(params, `TripRepository::this.getTrips started with params`);
|
|
53
53
|
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
54
54
|
const result = await getTrips(novaDataSource, params, this.logger);
|
|
55
55
|
this.logger.trace({ totalCount: result?.totalCount ?? 0 }, 'TripRepository::getTrips result.totalCount');
|
|
@@ -68,7 +68,7 @@ export class TripRepository extends BaseRepository {
|
|
|
68
68
|
return result;
|
|
69
69
|
}
|
|
70
70
|
async getDeviceTripConfiguration(params) {
|
|
71
|
-
this.logger.trace(
|
|
71
|
+
this.logger.trace(params, `TripRepository::this.getDeviceTripConfiguration started with params`);
|
|
72
72
|
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
73
73
|
const result = await getDeviceTripConfiguration(novaDataSource, params, this.logger);
|
|
74
74
|
this.logger.trace(result, 'TripRepository::getDeviceTripConfiguration result');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/trips/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AASrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,cAAe,SAAQ,cAAc;IAChD;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qDAAqD,CAAC,CAAA;QAEhF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAA;QAE9D,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAiC;QACzD,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,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,4CAA4C,CAAC,CAAA;QAE3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,eAAyB;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/trips/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AASrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,cAAe,SAAQ,cAAc;IAChD;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qDAAqD,CAAC,CAAA;QAEhF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAA;QAE9D,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAiC;QACzD,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,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE7E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,4CAA4C,CAAC,CAAA;QAE3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,eAAyB;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,EAAE,EAAE,eAAe,EAAE,EACvB,sDAAsD,CACvD,CAAA;QAED,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAElF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAA;QAE/D,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAsB;QACnC,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,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAElE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,CAAC,EAAE,EACvC,4CAA4C,CAC7C,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAwB;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qDAAqD,CAAC,CAAA;QAEhF,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,mCAAmC,CAAC,CAAA;QAElE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,MAAsC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qEAAqE,CAAC,CAAA;QAEhG,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEpF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,mDAAmD,CAAC,CAAA;QAE9E,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
package/dist/types/trip.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Trip } from '../entities';
|
|
2
|
-
import { ReportPagination } from './common';
|
|
2
|
+
import { BaseSelectQueryParams, ReportPagination } from './common';
|
|
3
3
|
import { TripCompletionStatus, TripType } from './enums';
|
|
4
4
|
export declare const requiredCreateTripParamsAttributes: string[];
|
|
5
5
|
export interface CreateTripParams {
|
|
@@ -75,9 +75,10 @@ export interface GetTripsResult {
|
|
|
75
75
|
totalCount: number;
|
|
76
76
|
}
|
|
77
77
|
export declare const requiredGetUserTripConfigurationParamsAttributes: string[];
|
|
78
|
-
export interface GetUserTripConfigurationParams {
|
|
78
|
+
export interface GetUserTripConfigurationParams extends BaseSelectQueryParams {
|
|
79
79
|
filters: {
|
|
80
80
|
imei: string;
|
|
81
|
+
clientId?: number;
|
|
81
82
|
};
|
|
82
83
|
}
|
|
83
84
|
export interface DeviceTripConfiguration {
|