@spytecgps/nova-orm 1.0.70 → 1.0.71
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.
|
@@ -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',
|
|
@@ -29,6 +44,6 @@ export const getDeviceTripConfiguration = async (novaDataSource, params, logger)
|
|
|
29
44
|
...deviceTripConfiguration,
|
|
30
45
|
generateTrips: deviceTripConfiguration.generateTrips === 1,
|
|
31
46
|
};
|
|
32
|
-
}, 'TripRepository::getTrips error');
|
|
47
|
+
}, 'TripRepository::getTrips error', dbQueryRunner);
|
|
33
48
|
};
|
|
34
49
|
//# 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,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"}
|
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 {
|