@spytecgps/nova-orm 1.1.9 → 1.2.2

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.
@@ -1,4 +1,4 @@
1
- import { DataSource, EntityTarget, LoggerOptions, ObjectLiteral, QueryRunner, ReplicationMode, Repository, SelectQueryBuilder } from 'typeorm';
1
+ import { DataSource, EntityTarget, LoggerOptions, ObjectLiteral, QueryBuilder, QueryRunner, ReplicationMode, Repository, SelectQueryBuilder } from 'typeorm';
2
2
  import { BaseSelectQueryParams } from './types/common';
3
3
  import { Logger } from './types/logger';
4
4
  export type queryBuilderHandler<T> = (novaDataSource: NovaDataSource, queryRunner?: QueryRunner) => Promise<T>;
@@ -32,9 +32,15 @@ export interface NovaDataSourceConfig {
32
32
  */
33
33
  logging?: LoggerOptions;
34
34
  }
35
+ interface SafeQuery3Options {
36
+ tag?: string;
37
+ replicationMode?: ReplicationMode;
38
+ }
39
+ export type SafeQuery3Callback<T> = (queryBuilder: (q: QueryBuilder<T>) => any) => Promise<T>;
35
40
  export declare class NovaDataSource {
36
41
  protected readonly dataSource: DataSource;
37
42
  protected readonly logger: Logger;
43
+ safeQuery3<T extends ObjectLiteral, R>(target: EntityTarget<T>, alias: string, callback: (q: QueryBuilder<T>) => Promise<R>, { replicationMode, tag }?: SafeQuery3Options): Promise<R>;
38
44
  constructor(config: NovaDataSourceConfig, logger: Logger, replicaConfig?: NovaDataSourceConfig);
39
45
  /**
40
46
  * Performs connection to the database.
@@ -72,3 +78,4 @@ export declare class NovaDataSource {
72
78
  safeQuery<T>(queryBuilderHandler: queryBuilderHandler<T>, tag?: string, queryRunner?: QueryRunner): Promise<T>;
73
79
  safeQuery2<T>(queryBuilderHandler: queryBuilderHandler<T>, tag?: string, queryRunner?: QueryRunner): Promise<T>;
74
80
  }
81
+ export {};
@@ -5,6 +5,34 @@ import { QueryLogger } from './utils/queryLogger';
5
5
  export class NovaDataSource {
6
6
  dataSource;
7
7
  logger;
8
+ async safeQuery3(target, alias,
9
+ // eslint-disable-next-line no-unused-vars
10
+ callback, { replicationMode = 'slave', tag } = {}) {
11
+ let queryRunner;
12
+ try {
13
+ if (!this.dataSource.isInitialized) {
14
+ this.logger.info('nova-orm new connection');
15
+ await this.connect();
16
+ }
17
+ else {
18
+ this.logger.info('nova-orm reusing connection');
19
+ }
20
+ queryRunner = this.dataSource.createQueryRunner(replicationMode);
21
+ // const queryBuilder = this.getRepository(target).createQueryBuilder()
22
+ const queryBuilder = this.dataSource.createQueryBuilder(target, alias, queryRunner);
23
+ const result = await callback(queryBuilder);
24
+ return result;
25
+ }
26
+ catch (error) {
27
+ this.logger.error({ error }, tag ? tag + ' ' : '' + 'Error while executing query');
28
+ throw error;
29
+ }
30
+ finally {
31
+ if (queryRunner) {
32
+ await queryRunner.release();
33
+ }
34
+ }
35
+ }
8
36
  constructor(config, logger, replicaConfig) {
9
37
  this.logger = logger;
10
38
  const entities = [];
@@ -1 +1 @@
1
- {"version":3,"file":"novaDataSource.js","sourceRoot":"","sources":["../src/novaDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAQX,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAA;AAC5B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAA;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAwCjD,MAAM,OAAO,cAAc;IACN,UAAU,CAAY;IACtB,MAAM,CAAQ;IAEjC,YAAY,MAA4B,EAAE,MAAc,EAAE,aAAoC;QAC5F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAC5B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aACtB;SACF;QAED,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;YAC7B,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBACnC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;gBACnC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;aAC7B;SACF;QAED,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE;gBACH,kBAAkB,EAAE,IAAI;aACzB;SACF,CAAA;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC;YAC/B,IAAI,EAAE,OAAO;YACb,gBAAgB,EAAE,QAAQ;YAC1B,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;YACpD,QAAQ;YACR,WAAW;YACX,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE;gBACL,cAAc,EAAE,IAAI;aACrB;YACD,GAAG,UAAU;YACb,GAAG,MAAM;YACT,WAAW,EAAE;gBACX,MAAM,EAAE;oBACN,GAAG,UAAU;oBACb,GAAG,MAAM;iBACV;gBACD,MAAM,EAAE,aAAa;oBACnB,CAAC,CAAC;wBACE;4BACE,GAAG,UAAU;4BACb,GAAG,aAAa;yBACjB;qBACF;oBACH,CAAC,CAAC;wBACE;4BACE,GAAG,UAAU;4BACb,GAAG,MAAM;yBACV;qBACF;gBACL,WAAW,EAAE,QAAQ;aACtB;SACwB,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,IAAI;YACF,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBACjC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA;aAChC;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,wCAAwC,CAAC,CAAA;SACvE;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAA+B,MAA4B;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,UAAkB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,WAAiC,EACjC,KAAa;QAEb,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACrE,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,IAAsB;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,2BAA2B,CAAC,MAA6B;QACvD,MAAM,eAAe,GAAG,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;QAElF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,EAAE,6CAA6C,CAAC,CAAA;QAErF,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,SAAS,CACb,mBAA2C,EAC3C,GAAY,EACZ,WAAyB;QAEzB,IAAI;YACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YAEpB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;YAE3D,OAAO,MAAM,CAAA;SACd;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,6BAA6B,CAAC,CAAA;YAClF,MAAM,KAAK,CAAA;SACZ;gBAAS;YACR,IAAI,WAAW,EAAE;gBACf,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;aAC5B;YACD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;SACxB;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CACd,mBAA2C,EAC3C,GAAY,EACZ,WAAyB;QAEzB,IAAI;YACF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;gBAC3C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;aACrB;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;aAChD;YAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;YAE3D,OAAO,MAAM,CAAA;SACd;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,6BAA6B,CAAC,CAAA;YAClF,MAAM,KAAK,CAAA;SACZ;gBAAS;YACR,IAAI,WAAW,EAAE;gBACf,MAAM,WAAW,CAAC,OAAO,EAAE,CAAA;aAC5B;SACF;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"novaDataSource.js","sourceRoot":"","sources":["../src/novaDataSource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { OrderShipmentInternational } from '../../entities/orderShipmentInternational';
2
+ import { NovaDataSource } from '../../novaDataSource';
3
+ import { GetOrderShipmentInternationalParams } from '../../types/acumatica';
4
+ import { Logger } from '../../types/logger';
5
+ export declare const getOrderShipmentInternational: (novaDataSource: NovaDataSource, params: GetOrderShipmentInternationalParams, logger: Logger) => Promise<OrderShipmentInternational[]>;
@@ -0,0 +1,23 @@
1
+ import { OrderShipmentInternational } from '../../entities/orderShipmentInternational';
2
+ export const getOrderShipmentInternational = async (novaDataSource, params, logger) => {
3
+ if (!params.filters.imei) {
4
+ logger.warn({ params }, 'AcumaticaRepository::getOrderShipmentInternational - missing required parameters');
5
+ return [];
6
+ }
7
+ // Force the query to run on master or slave
8
+ const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
9
+ return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
10
+ const orderShipmentInternationalRepository = dataSource.getRepository(OrderShipmentInternational);
11
+ const queryBuilder = orderShipmentInternationalRepository
12
+ .createQueryBuilder('orderShipmentInternational')
13
+ .where('LOWER(orderShipmentInternational.imei) = LOWER(:imei)', {
14
+ imei: params.filters.imei,
15
+ });
16
+ if (queryRunner) {
17
+ queryBuilder.setQueryRunner(queryRunner);
18
+ }
19
+ const result = await queryBuilder.getMany();
20
+ return result;
21
+ }, 'AcumaticaRepository::getOrderShipmentInternational', dbQueryRunner);
22
+ };
23
+ //# sourceMappingURL=getOrderShipmentInternational.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOrderShipmentInternational.js","sourceRoot":"","sources":["../../../src/repositories/acumatica/getOrderShipmentInternational.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AAKtF,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,cAA8B,EAC9B,MAA2C,EAC3C,MAAc,EACyB,EAAE;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;QACxB,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,kFAAkF,CACnF,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,EACc,EAAE;QACzC,MAAM,oCAAoC,GAAG,UAAU,CAAC,aAAa,CACnE,0BAA0B,CAC3B,CAAA;QAED,MAAM,YAAY,GAAG,oCAAoC;aACtD,kBAAkB,CAAC,4BAA4B,CAAC;aAChD,KAAK,CAAC,uDAAuD,EAAE;YAC9D,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;SAC1B,CAAC,CAAA;QAEJ,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAA;IACf,CAAC,EACD,oDAAoD,EACpD,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { AcumaticaImeiIccidData } from '../../entities';
2
- import { AmazonDeviceShipmentDetails, GetAcumaticaImeiIccidDataParams, GetAcumaticaShipmentDetailsParams, GetLastAmazonDeviceShipmentDetailsParams } from '../../types/acumatica';
2
+ import { OrderShipmentInternational } from '../../entities/orderShipmentInternational';
3
+ import { AmazonDeviceShipmentDetails, GetAcumaticaImeiIccidDataParams, GetAcumaticaShipmentDetailsParams, GetLastAmazonDeviceShipmentDetailsParams, GetOrderShipmentInternationalParams } from '../../types/acumatica';
3
4
  import { BaseRepository } from '../baseRepository';
4
5
  export declare class AcumaticaRepository extends BaseRepository {
5
6
  /**
@@ -29,4 +30,11 @@ export declare class AcumaticaRepository extends BaseRepository {
29
30
  * @returns Acumatica shipment details list
30
31
  */
31
32
  getAcumaticaShipmentDetails(params: GetAcumaticaShipmentDetailsParams): Promise<AmazonDeviceShipmentDetails[]>;
33
+ /**
34
+ * Get order shipment international
35
+ * @param params containing information to get order shipment international
36
+ * - params.filters.imei IMEI to filter by
37
+ * @returns order shipment international list
38
+ */
39
+ getOrderShipmentInternational(params: GetOrderShipmentInternationalParams): Promise<OrderShipmentInternational[]>;
32
40
  }
@@ -3,6 +3,7 @@ import { BaseRepository } from '../baseRepository';
3
3
  import { getAcumaticaImeiIccidData } from './getAcumaticaImeiIccidData';
4
4
  import { getAcumaticaShipmentDetails } from './getAcumaticaShipmentDetails';
5
5
  import { getLastAcumaticaShipmentDetails } from './getLastAcumaticaShipmentDetails';
6
+ import { getOrderShipmentInternational } from './getOrderShipmentInternational';
6
7
  export class AcumaticaRepository extends BaseRepository {
7
8
  /**
8
9
  * Get Acumatica IMEI/ICCID data
@@ -49,5 +50,18 @@ export class AcumaticaRepository extends BaseRepository {
49
50
  this.logger.trace(result, 'AcumaticaRepository::getAcumaticaShipmentDetails result');
50
51
  return result;
51
52
  }
53
+ /**
54
+ * Get order shipment international
55
+ * @param params containing information to get order shipment international
56
+ * - params.filters.imei IMEI to filter by
57
+ * @returns order shipment international list
58
+ */
59
+ async getOrderShipmentInternational(params) {
60
+ this.logger.trace(params, `AcumaticaRepository::getOrderShipmentInternational started with params`);
61
+ const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
62
+ const result = await getOrderShipmentInternational(novaDataSource, params, this.logger);
63
+ this.logger.trace(result, 'AcumaticaRepository::getOrderShipmentInternational result');
64
+ return result;
65
+ }
52
66
  }
53
67
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/acumatica/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAOrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AAEnF,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,yBAAyB,CAC7B,MAAuC;QAEvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,oEAAoE,CAAC,CAAA;QAE/F,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEnF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,uDAAuD,CAAC,CAAA;QAElF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,+BAA+B,CACnC,MAAgD;QAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,0EAA0E,CAC3E,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,+BAA+B,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,6DAA6D,CAAC,CAAA;QAExF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,2BAA2B,CAC/B,MAAyC;QAEzC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,sEAAsE,CACvE,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,2BAA2B,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAErF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,yDAAyD,CAAC,CAAA;QAEpF,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/acumatica/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAQrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAE/E,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,yBAAyB,CAC7B,MAAuC;QAEvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,oEAAoE,CAAC,CAAA;QAE/F,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,2BAA2B,CACjC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEnF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,uDAAuD,CAAC,CAAA;QAElF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,+BAA+B,CACnC,MAAgD;QAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,0EAA0E,CAC3E,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,+BAA+B,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEzF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,6DAA6D,CAAC,CAAA;QAExF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,2BAA2B,CAC/B,MAAyC;QAEzC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,sEAAsE,CACvE,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,2BAA2B,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAErF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,yDAAyD,CAAC,CAAA;QAEpF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,6BAA6B,CACjC,MAA2C;QAE3C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,MAAM,EACN,wEAAwE,CACzE,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,6BAA6B,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEvF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,2DAA2D,CAAC,CAAA;QAEtF,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -35,7 +35,7 @@ export const getClientAlertConfigurations = async (novaDataSource, params, logge
35
35
  queryBuilder = queryBuilder.leftJoinAndSelect('clientAlertConfiguration.internalRecipients', 'internalRecipients');
36
36
  }
37
37
  if (params.projectionOptions?.withExternalRecipients) {
38
- queryBuilder = queryBuilder.leftJoinAndSelect('clientAlertConfiguration.externalRecipients', 'externalRecipients');
38
+ queryBuilder = queryBuilder.leftJoinAndSelect('clientAlertConfiguration.externalRecipients', 'externalRecipients', 'externalRecipients.clientId = clientAlertConfiguration.clientId');
39
39
  }
40
40
  const clientAlertConfigurations = await queryBuilder.getMany();
41
41
  return clientAlertConfigurations;
@@ -1 +1 @@
1
- {"version":3,"file":"getClientAlertConfigurations.js","sourceRoot":"","sources":["../../../src/repositories/clientAlertConfiguration/getClientAlertConfigurations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAKzD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAC/C,cAA8B,EAC9B,MAA0C,EAC1C,MAAc,EACuB,EAAE;IACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC5B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,gGAAgG,CACjG,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,EACY,EAAE;QACvC,MAAM,mCAAmC,GAAG,UAAU,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAA;QAE9F,IAAI,YAAY,GAAG,mCAAmC;aACnD,kBAAkB,CAAC,0BAA0B,CAAC;aAC9C,KAAK,CAAC,+CAA+C,EAAE;YACtD,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;SAClC,CAAC,CAAA;QAEJ,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;YAC9B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,qDAAqD,EACrD;gBACE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;aACxC,CACF,CAAA;SACF;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE;YACrC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,qDAAqD,EACrD;gBACE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;aACtC,CACF,CAAA;SACF;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACtC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,0DAA0D,EAC1D;gBACE,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB;aACxD,CACF,CAAA;SACF;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE;YACpD,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAC3C,6CAA6C,EAC7C,oBAAoB,CACrB,CAAA;SACF;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE;YACpD,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAC3C,6CAA6C,EAC7C,oBAAoB,CACrB,CAAA;SACF;QAED,MAAM,yBAAyB,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE9D,OAAO,yBAAyB,CAAA;IAClC,CAAC,EACD,kEAAkE,EAClE,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getClientAlertConfigurations.js","sourceRoot":"","sources":["../../../src/repositories/clientAlertConfiguration/getClientAlertConfigurations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAKzD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAC/C,cAA8B,EAC9B,MAA0C,EAC1C,MAAc,EACuB,EAAE;IACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC5B,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,gGAAgG,CACjG,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,EACY,EAAE;QACvC,MAAM,mCAAmC,GAAG,UAAU,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAA;QAE9F,IAAI,YAAY,GAAG,mCAAmC;aACnD,kBAAkB,CAAC,0BAA0B,CAAC;aAC9C,KAAK,CAAC,+CAA+C,EAAE;YACtD,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;SAClC,CAAC,CAAA;QAEJ,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;YAC9B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,qDAAqD,EACrD;gBACE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;aACxC,CACF,CAAA;SACF;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE;YACrC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,qDAAqD,EACrD;gBACE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;aACtC,CACF,CAAA;SACF;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACtC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,0DAA0D,EAC1D;gBACE,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB;aACxD,CACF,CAAA;SACF;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE;YACpD,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAC3C,6CAA6C,EAC7C,oBAAoB,CACrB,CAAA;SACF;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE;YACpD,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAC3C,6CAA6C,EAC7C,oBAAoB,EACpB,iEAAiE,CAClE,CAAA;SACF;QAED,MAAM,yBAAyB,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE9D,OAAO,yBAAyB,CAAA;IAClC,CAAC,EACD,kEAAkE,EAClE,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
@@ -30,3 +30,8 @@ export interface GetAcumaticaShipmentDetailsParams extends BaseSelectQueryParams
30
30
  imeiList: string[];
31
31
  };
32
32
  }
33
+ export interface GetOrderShipmentInternationalParams extends BaseSelectQueryParams {
34
+ filters: {
35
+ imei: string;
36
+ };
37
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.1.9",
3
+ "version": "1.2.2",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -26,8 +26,7 @@
26
26
  "ts-node": "^10.9.1",
27
27
  "typescript": "^4.9.5",
28
28
  "webpack": "^5.72.0",
29
- "webpack-cli": "^4.9.2",
30
- "yarn": "^1.22.19"
29
+ "webpack-cli": "^4.9.2"
31
30
  },
32
31
  "dependencies": {
33
32
  "dayjs": "^1.11.11",