@spytecgps/nova-orm 1.0.91 → 1.0.93
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/asinPromotion.d.ts +3 -0
- package/dist/entities/asinPromotion.js +11 -1
- package/dist/entities/asinPromotion.js.map +1 -1
- package/dist/entities/devicePromotion.d.ts +3 -0
- package/dist/entities/devicePromotion.js +11 -1
- package/dist/entities/devicePromotion.js.map +1 -1
- package/dist/entities/deviceTypePromotion.d.ts +3 -0
- package/dist/entities/deviceTypePromotion.js +11 -1
- package/dist/entities/deviceTypePromotion.js.map +1 -1
- package/dist/entities/entityTag.d.ts +1 -0
- package/dist/entities/entityTag.js +5 -0
- package/dist/entities/entityTag.js.map +1 -1
- package/dist/entities/marketplacePromotion.d.ts +3 -0
- package/dist/entities/marketplacePromotion.js +11 -1
- package/dist/entities/marketplacePromotion.js.map +1 -1
- package/dist/entities/orderShipmentInternational.d.ts +12 -0
- package/dist/entities/orderShipmentInternational.js +67 -0
- package/dist/entities/orderShipmentInternational.js.map +1 -0
- package/dist/entities/promotion.d.ts +9 -0
- package/dist/entities/promotion.js +25 -1
- package/dist/entities/promotion.js.map +1 -1
- package/dist/entities/promotionHistory.d.ts +6 -6
- package/dist/entities/promotionHistory.js +1 -0
- package/dist/entities/promotionHistory.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/repositories/liveLinks/getLiveLinks.js +15 -1
- package/dist/repositories/liveLinks/getLiveLinks.js.map +1 -1
- package/dist/repositories/liveLinks/getLiveLinksCount.js +10 -0
- package/dist/repositories/liveLinks/getLiveLinksCount.js.map +1 -1
- package/dist/repositories/liveLinks/index.d.ts +6 -0
- package/dist/repositories/liveLinks/index.js +6 -0
- package/dist/repositories/liveLinks/index.js.map +1 -1
- package/dist/repositories/promotions/createPromotionHistory.d.ts +5 -0
- package/dist/repositories/promotions/createPromotionHistory.js +18 -0
- package/dist/repositories/promotions/createPromotionHistory.js.map +1 -0
- package/dist/repositories/promotions/getDeviceTypePromotion.js +2 -2
- package/dist/repositories/promotions/getDeviceTypePromotion.js.map +1 -1
- package/dist/repositories/promotions/getMarketplacePromotion.js +2 -2
- package/dist/repositories/promotions/getMarketplacePromotion.js.map +1 -1
- package/dist/repositories/promotions/getPromotions.d.ts +5 -0
- package/dist/repositories/promotions/getPromotions.js +64 -0
- package/dist/repositories/promotions/getPromotions.js.map +1 -0
- package/dist/repositories/promotions/index.d.ts +20 -4
- package/dist/repositories/promotions/index.js +29 -6
- package/dist/repositories/promotions/index.js.map +1 -1
- package/dist/types/liveLinks.d.ts +4 -0
- package/dist/types/promotion.d.ts +28 -2
- package/dist/types/promotion.js +14 -0
- package/dist/types/promotion.js.map +1 -1
- package/package.json +1 -1
- package/dist/repositories/promotions/getPromotion.d.ts +0 -5
- package/dist/repositories/promotions/getPromotion.js +0 -21
- package/dist/repositories/promotions/getPromotion.js.map +0 -1
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { LiveLink } from '../../entities/liveLink';
|
|
2
2
|
import { uuidStringToBinaryBuffer } from '../../utils/uuidHelpers';
|
|
3
3
|
export const getLiveLinks = async (novaDataSource, params, logger) => {
|
|
4
|
-
if (!params?.filters?.id &&
|
|
4
|
+
if (!params?.filters?.id &&
|
|
5
|
+
!params?.filters?.clientId &&
|
|
6
|
+
!params?.filters?.status &&
|
|
7
|
+
!params?.filters?.name &&
|
|
8
|
+
!params?.filters?.imeis?.length) {
|
|
5
9
|
logger.warn({ params }, 'LiveLinksRepository::getLiveLinks - missing required parameters');
|
|
6
10
|
return [];
|
|
7
11
|
}
|
|
@@ -31,6 +35,16 @@ export const getLiveLinks = async (novaDataSource, params, logger) => {
|
|
|
31
35
|
status: params.filters.status,
|
|
32
36
|
});
|
|
33
37
|
}
|
|
38
|
+
if (params?.filters?.name) {
|
|
39
|
+
queryBuilder = queryBuilder.andWhere('LOWER(name) LIKE :name', {
|
|
40
|
+
name: `%${params.filters.name.toLowerCase()}%`,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
if (params?.filters?.imeis?.length) {
|
|
44
|
+
queryBuilder = queryBuilder.andWhere(`deviceAccess = 'full' OR JSON_OVERLAPS(liveLink.devices, :deviceList)`, {
|
|
45
|
+
deviceList: JSON.stringify(params?.filters?.imeis),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
34
48
|
const sortField = params.sortOptions?.sortField ?? 'createdAt';
|
|
35
49
|
const sortOrder = params.sortOptions?.sortOrder ?? 'DESC';
|
|
36
50
|
queryBuilder = queryBuilder.orderBy(`liveLink.${sortField}`, sortOrder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLiveLinks.js","sourceRoot":"","sources":["../../../src/repositories/liveLinks/getLiveLinks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAIlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,cAA8B,EAC9B,MAA0B,EAC1B,MAAc,EACO,EAAE;IACvB,
|
|
1
|
+
{"version":3,"file":"getLiveLinks.js","sourceRoot":"","sources":["../../../src/repositories/liveLinks/getLiveLinks.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,16 @@ export const getLiveLinksCount = async (novaDataSource, params, logger) => {
|
|
|
21
21
|
status: params.filters.status,
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
+
if (params?.filters?.name) {
|
|
25
|
+
queryBuilder = queryBuilder.andWhere('LOWER(name) LIKE :name', {
|
|
26
|
+
name: `%${params.filters.name.toLowerCase()}%`,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (params?.filters?.imeis?.length) {
|
|
30
|
+
queryBuilder = queryBuilder.andWhere(`deviceAccess = 'full' OR JSON_OVERLAPS(liveLink.devices, :deviceList)`, {
|
|
31
|
+
deviceList: JSON.stringify(params?.filters?.imeis),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
24
34
|
const result = await queryBuilder.getCount();
|
|
25
35
|
return result;
|
|
26
36
|
}, 'LiveLinksRepository::getLiveLinksCount', dbQueryRunner);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLiveLinksCount.js","sourceRoot":"","sources":["../../../src/repositories/liveLinks/getLiveLinksCount.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAKlD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,cAA8B,EAC9B,MAA+B,EAC/B,MAAc,EACG,EAAE;IACnB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,sEAAsE,CAAC,CAAA;QAC/F,OAAO,CAAC,CAAA;KACT;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAAmB,EAAE;QAC/E,MAAM,mBAAmB,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE9D,IAAI,YAAY,GAAG,mBAAmB;aACnC,kBAAkB,CAAC,UAAU,CAAC;aAC9B,KAAK,CAAC,sBAAsB,EAAE;YAC7B,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,EAAE,OAAO,EAAE,MAAM,EAAE;YAC3B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE;gBACvD,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;aAC9B,CAAC,CAAA;SACH;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE5C,OAAO,MAAM,CAAA;IACf,CAAC,EACD,wCAAwC,EACxC,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"getLiveLinksCount.js","sourceRoot":"","sources":["../../../src/repositories/liveLinks/getLiveLinksCount.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAKlD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,cAA8B,EAC9B,MAA+B,EAC/B,MAAc,EACG,EAAE;IACnB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,sEAAsE,CAAC,CAAA;QAC/F,OAAO,CAAC,CAAA;KACT;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAAmB,EAAE;QAC/E,MAAM,mBAAmB,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE9D,IAAI,YAAY,GAAG,mBAAmB;aACnC,kBAAkB,CAAC,UAAU,CAAC;aAC9B,KAAK,CAAC,sBAAsB,EAAE;YAC7B,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,EAAE,OAAO,EAAE,MAAM,EAAE;YAC3B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE;gBACvD,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;aAC9B,CAAC,CAAA;SACH;QAED,IAAI,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;YACzB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,wBAAwB,EAAE;gBAC7D,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG;aAC/C,CAAC,CAAA;SACH;QAED,IAAI,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;YAClC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAClC,uEAAuE,EACvE;gBACE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;aACnD,CACF,CAAA;SACF;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE5C,OAAO,MAAM,CAAA;IACf,CAAC,EACD,wCAAwC,EACxC,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -37,6 +37,9 @@ export declare class LiveLinksRepository extends BaseRepository {
|
|
|
37
37
|
* One of the following filters is required:
|
|
38
38
|
* filters.id: the liveLink id, optional. It should be a valid UUID.
|
|
39
39
|
* filters.clientId: the client id, optional
|
|
40
|
+
* filters.status: the liveLink status, optional
|
|
41
|
+
* filters.name: the liveLink name for partial match, optional
|
|
42
|
+
* filters.imeis: array of devices the liveLink have access to for partial match, optional
|
|
40
43
|
* pagingOptions.pageSize: the page size, optional. Default: 100
|
|
41
44
|
* pagingOptions.pageIndex: the page index, optional. Default: 0
|
|
42
45
|
* sortOptions.sortField: the sort field, optional. Default: 'id'
|
|
@@ -48,6 +51,9 @@ export declare class LiveLinksRepository extends BaseRepository {
|
|
|
48
51
|
* Get live links count
|
|
49
52
|
* @param params - The parameters to get live links count
|
|
50
53
|
* filters.clientId: the client id, required
|
|
54
|
+
* filters.status: the liveLink status, optional
|
|
55
|
+
* filters.name: the liveLink name for partial match, optional
|
|
56
|
+
* filters.imeis: array of devices the liveLink have access to for partial match, optional
|
|
51
57
|
* @returns The live links count
|
|
52
58
|
*/
|
|
53
59
|
getLiveLinksCount(params: GetLiveLinksCountParams): Promise<number>;
|
|
@@ -55,6 +55,9 @@ export class LiveLinksRepository extends BaseRepository {
|
|
|
55
55
|
* One of the following filters is required:
|
|
56
56
|
* filters.id: the liveLink id, optional. It should be a valid UUID.
|
|
57
57
|
* filters.clientId: the client id, optional
|
|
58
|
+
* filters.status: the liveLink status, optional
|
|
59
|
+
* filters.name: the liveLink name for partial match, optional
|
|
60
|
+
* filters.imeis: array of devices the liveLink have access to for partial match, optional
|
|
58
61
|
* pagingOptions.pageSize: the page size, optional. Default: 100
|
|
59
62
|
* pagingOptions.pageIndex: the page index, optional. Default: 0
|
|
60
63
|
* sortOptions.sortField: the sort field, optional. Default: 'id'
|
|
@@ -72,6 +75,9 @@ export class LiveLinksRepository extends BaseRepository {
|
|
|
72
75
|
* Get live links count
|
|
73
76
|
* @param params - The parameters to get live links count
|
|
74
77
|
* filters.clientId: the client id, required
|
|
78
|
+
* filters.status: the liveLink status, optional
|
|
79
|
+
* filters.name: the liveLink name for partial match, optional
|
|
80
|
+
* filters.imeis: array of devices the liveLink have access to for partial match, optional
|
|
75
81
|
* @returns The live links count
|
|
76
82
|
*/
|
|
77
83
|
async getLiveLinksCount(params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/liveLinks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAUrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,yDAAyD,CAAC,CAAA;QAEpF,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,MAAM,EAAE,4CAA4C,CAAC,CAAA;QAEvE,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,yDAAyD,CAAC,CAAA;QAEpF,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,4CAA4C,CAAC,CAAA;QAE3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/liveLinks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PromotionHistory } from '../../entities';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
import { CreatePromotionHistoryParams } from '../../types/promotion';
|
|
5
|
+
export declare const createPromotionHistory: (novaDataSource: NovaDataSource, params: CreatePromotionHistoryParams, logger: Logger) => Promise<PromotionHistory>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PromotionHistory } from '../../entities';
|
|
2
|
+
import { requiredCreatePromotionHistoryParams, } from '../../types/promotion';
|
|
3
|
+
import { anyAttributeIsNull } from '../../utils/paramsValidators';
|
|
4
|
+
export const createPromotionHistory = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (anyAttributeIsNull(params, requiredCreatePromotionHistoryParams)) {
|
|
6
|
+
logger.warn({ params }, 'PromotionRepository::createPromotionHistory missing required parameters');
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return novaDataSource.safeQuery(async (safeDataSource) => {
|
|
10
|
+
const promotionRepository = safeDataSource.getRepository(PromotionHistory);
|
|
11
|
+
const newPromotionHistory = {
|
|
12
|
+
...params,
|
|
13
|
+
};
|
|
14
|
+
const createdPromotionHistory = await promotionRepository.save(newPromotionHistory);
|
|
15
|
+
return createdPromotionHistory ?? null;
|
|
16
|
+
}, 'PromotionRepository::createPromotionHistory error');
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=createPromotionHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPromotionHistory.js","sourceRoot":"","sources":["../../../src/repositories/promotions/createPromotionHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGjD,OAAO,EAEL,oCAAoC,GACrC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,cAA8B,EAC9B,MAAoC,EACpC,MAAc,EACa,EAAE;IAC7B,IACE,kBAAkB,CAA+B,MAAM,EAAE,oCAAoC,CAAC,EAC9F;QACA,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,yEAAyE,CAC1E,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,cAA8B,EAEnE,EAAE;QACF,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;QAE1E,MAAM,mBAAmB,GAAG;YAC1B,GAAG,MAAM;SACV,CAAA;QAED,MAAM,uBAAuB,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAEnF,OAAO,uBAAuB,IAAI,IAAI,CAAA;IACxC,CAAC,EAAE,mDAAmD,CAAC,CAAA;AACzD,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DeviceTypePromotion } from '../../entities/deviceTypePromotion';
|
|
2
2
|
import { oneRequiredGetDeviceTypePromotionParams, } from '../../types/promotion';
|
|
3
|
-
import {
|
|
3
|
+
import { allAttributesAreNull } from '../../utils/paramsValidators';
|
|
4
4
|
export const getDeviceTypePromotion = async (novaDataSource, params, logger) => {
|
|
5
|
-
if (
|
|
5
|
+
if (allAttributesAreNull(params, oneRequiredGetDeviceTypePromotionParams)) {
|
|
6
6
|
logger.warn({ params }, 'PromotionRepository::getDeviceTypePromotion missing required parameters');
|
|
7
7
|
return null;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDeviceTypePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/getDeviceTypePromotion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAGxE,OAAO,EAEL,uCAAuC,GACxC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getDeviceTypePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/getDeviceTypePromotion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAGxE,OAAO,EAEL,uCAAuC,GACxC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,cAA8B,EAC9B,MAAoC,EACpC,MAAc,EACgB,EAAE;IAChC,IAAI,oBAAoB,CAAC,MAAM,EAAE,uCAAuC,CAAC,EAAE;QACzE,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,yEAAyE,CAC1E,CAAA;QACD,OAAO,IAAI,CAAA;KACZ;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAAgC,EAAE;QAC5F,MAAM,6BAA6B,GAAG,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAA;QAEnF,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,kBAAkB,CAC5E,qBAAqB,CACtB,CAAA;QAED,IAAI,WAAW,EAAE;YACf,qBAAqB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SAClD;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB;aACvC,KAAK,CAAC,gDAAgD,EAAE;YACvD,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;SACxC,CAAC;aACD,QAAQ,CAAC,kDAAkD,EAAE;YAC5D,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;SAC1C,CAAC;aACD,MAAM,EAAE,CAAA;QAEX,OAAO,MAAM,IAAI,IAAI,CAAA;IACvB,CAAC,EACD,6CAA6C,EAC7C,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { MarketplacePromotion } from '../../entities/marketplacePromotion';
|
|
2
2
|
import { oneRequiredGetMarketplacePromotionParams, } from '../../types/promotion';
|
|
3
|
-
import {
|
|
3
|
+
import { allAttributesAreNull } from '../../utils/paramsValidators';
|
|
4
4
|
export const getMarketplacePromotion = async (novaDataSource, params, logger) => {
|
|
5
|
-
if (
|
|
5
|
+
if (allAttributesAreNull(params, oneRequiredGetMarketplacePromotionParams)) {
|
|
6
6
|
logger.warn({ params }, 'PromotionRepository::getMarketplacePromotion missing required parameters');
|
|
7
7
|
return null;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarketplacePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/getMarketplacePromotion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,EAEL,wCAAwC,GACzC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getMarketplacePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/getMarketplacePromotion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,EAEL,wCAAwC,GACzC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,cAA8B,EAC9B,MAAqC,EACrC,MAAc,EACiB,EAAE;IACjC,IAAI,oBAAoB,CAAC,MAAM,EAAE,wCAAwC,CAAC,EAAE;QAC1E,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,0EAA0E,CAC3E,CAAA;QACD,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,UAA0B,EAC1B,WAAyB,EACM,EAAE;QACjC,MAAM,8BAA8B,GAAG,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAErF,MAAM,qBAAqB,GAAG,8BAA8B,CAAC,kBAAkB,CAC7E,sBAAsB,CACvB,CAAA;QAED,IAAI,WAAW,EAAE;YACf,qBAAqB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SAClD;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB;aACvC,KAAK,CAAC,iDAAiD,EAAE;YACxD,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;SACxC,CAAC;aACD,QAAQ,CAAC,qDAAqD,EAAE;YAC/D,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa;SAC5C,CAAC;aACD,MAAM,EAAE,CAAA;QAEX,OAAO,MAAM,IAAI,IAAI,CAAA;IACvB,CAAC,EACD,8CAA8C,EAC9C,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Promotion } from '../../entities';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
import { GetPromotionsParams } from '../../types/promotion';
|
|
5
|
+
export declare const getPromotions: (novaDataSource: NovaDataSource, params: GetPromotionsParams, logger: Logger) => Promise<Promotion[]>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { AsinPromotion, DevicePromotion, DeviceTypePromotion, MarketplacePromotion, Promotion, } from '../../entities';
|
|
2
|
+
import { oneRequiredGetPromotionsParams } from '../../types/promotion';
|
|
3
|
+
import { allAttributesAreNull } from '../../utils/paramsValidators';
|
|
4
|
+
export const getPromotions = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (allAttributesAreNull(params, oneRequiredGetPromotionsParams)) {
|
|
6
|
+
logger.warn({ params }, 'PromotionRepository::getPromotions missing required parameters');
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
// Force the query to run on master or slave
|
|
10
|
+
const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
|
|
11
|
+
return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
|
|
12
|
+
const promotionRepository = dataSource.getRepository(Promotion);
|
|
13
|
+
const promotionQueryBuilder = promotionRepository.createQueryBuilder('promotion');
|
|
14
|
+
if (queryRunner) {
|
|
15
|
+
promotionQueryBuilder.setQueryRunner(queryRunner);
|
|
16
|
+
}
|
|
17
|
+
if (params.filters.id) {
|
|
18
|
+
promotionQueryBuilder.andWhere('promotion.id = :id', { id: params.filters.id });
|
|
19
|
+
}
|
|
20
|
+
if (params.filters.status) {
|
|
21
|
+
promotionQueryBuilder.andWhere('promotion.status = :status', {
|
|
22
|
+
status: params.filters.status,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (params.filters.onlyPromotionsWithinDateRange) {
|
|
26
|
+
promotionQueryBuilder.andWhere('NOW() BETWEEN promotion.startDate AND promotion.endDate');
|
|
27
|
+
}
|
|
28
|
+
if (params.projectionOptions?.withMarketplacePromotions || params.filters.marketplaceId) {
|
|
29
|
+
promotionQueryBuilder.leftJoinAndMapMany('promotion.marketplacePromotions', MarketplacePromotion, 'marketplacePromotion', 'marketplacePromotion.promotionId = promotion.id');
|
|
30
|
+
if (params.filters.marketplaceId) {
|
|
31
|
+
promotionQueryBuilder.andWhere('marketplacePromotion.marketplaceId = :marketplaceId', {
|
|
32
|
+
marketplaceId: params.filters.marketplaceId,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (params.projectionOptions?.withAsinPromotions || params.filters.asin) {
|
|
37
|
+
promotionQueryBuilder.leftJoinAndMapMany('promotion.asinPromotions', AsinPromotion, 'asinPromotion', 'asinPromotion.promotionId = promotion.id');
|
|
38
|
+
if (params.filters.asin) {
|
|
39
|
+
promotionQueryBuilder.andWhere('asinPromotion.asin = :asin', {
|
|
40
|
+
asin: params.filters.asin,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (params.projectionOptions?.withDevicePromotions || params.filters.imei) {
|
|
45
|
+
promotionQueryBuilder.leftJoinAndMapMany('promotion.devicePromotions', DevicePromotion, 'devicePromotion', 'devicePromotion.promotionId = promotion.id');
|
|
46
|
+
if (params.filters.imei) {
|
|
47
|
+
promotionQueryBuilder.andWhere('devicePromotion.imei = :imei', {
|
|
48
|
+
imei: params.filters.imei,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (params.projectionOptions?.withDeviceTypePromotions || params.filters.deviceTypeId) {
|
|
53
|
+
promotionQueryBuilder.leftJoinAndMapMany('promotion.deviceTypePromotions', DeviceTypePromotion, 'deviceTypePromotion', 'deviceTypePromotion.promotionId = promotion.id');
|
|
54
|
+
if (params.filters.deviceTypeId) {
|
|
55
|
+
promotionQueryBuilder.andWhere('deviceTypePromotion.deviceTypeId = :deviceTypeId', {
|
|
56
|
+
deviceTypeId: params.filters.deviceTypeId,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const result = await promotionQueryBuilder.orderBy('discount', 'DESC').getMany();
|
|
61
|
+
return result ?? [];
|
|
62
|
+
}, 'PromotionRepository::getPromotions', dbQueryRunner);
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=getPromotions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPromotions.js","sourceRoot":"","sources":["../../../src/repositories/promotions/getPromotions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Promotion } from '../../entities';
|
|
1
|
+
import { Promotion, PromotionHistory } from '../../entities';
|
|
2
2
|
import { DeviceTypePromotion } from '../../entities/deviceTypePromotion';
|
|
3
3
|
import { MarketplacePromotion } from '../../entities/marketplacePromotion';
|
|
4
|
-
import { CreateDeviceTypePromotionParams, CreateMarketplacePromotionParams, CreatePromotionParams, DeleteDeviceTypePromotionParams, DeleteMarketplacePromotionParams, GetDeviceTypePromotionParams, GetMarketplacePromotionParams,
|
|
4
|
+
import { CreateDeviceTypePromotionParams, CreateMarketplacePromotionParams, CreatePromotionHistoryParams, CreatePromotionParams, DeleteDeviceTypePromotionParams, DeleteMarketplacePromotionParams, GetDeviceTypePromotionParams, GetMarketplacePromotionParams, GetPromotionsParams, UpdatePromotionParams } from '../../types/promotion';
|
|
5
5
|
import { BaseRepository } from '../baseRepository';
|
|
6
6
|
export declare class PromotionRepository extends BaseRepository {
|
|
7
7
|
/**
|
|
@@ -16,9 +16,9 @@ export declare class PromotionRepository extends BaseRepository {
|
|
|
16
16
|
updatePromotion(params: UpdatePromotionParams): Promise<boolean>;
|
|
17
17
|
/**
|
|
18
18
|
* Get a promotion
|
|
19
|
-
* @param {
|
|
19
|
+
* @param {GetPromotionsParams} params containing information to get a promotion
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
getPromotions(params: GetPromotionsParams): Promise<Promotion[]>;
|
|
22
22
|
/**
|
|
23
23
|
* Create a marketplace promotion
|
|
24
24
|
* @param {CreateMarketplacePromotionParams} params containing information to create a marketplace promotion
|
|
@@ -53,4 +53,20 @@ export declare class PromotionRepository extends BaseRepository {
|
|
|
53
53
|
* @returns MarketplacePromotion object
|
|
54
54
|
*/
|
|
55
55
|
getMarketplacePromotion(params: GetMarketplacePromotionParams): Promise<MarketplacePromotion>;
|
|
56
|
+
/**
|
|
57
|
+
* Create a promotion history
|
|
58
|
+
* @param params containing information to create a promotion history
|
|
59
|
+
* imei: imei of the device
|
|
60
|
+
* clientId: id of the client
|
|
61
|
+
* promotionId: id of the promotion
|
|
62
|
+
* marketplaceId: id of the marketplace
|
|
63
|
+
* asin: asin of the product
|
|
64
|
+
* promotionType: type of the promotion
|
|
65
|
+
* promotionDiscount: discount of the promotion
|
|
66
|
+
* promotionDiscountBillingCycles: billing cycles of the promotion
|
|
67
|
+
* promotionFreeServiceMonths: free service months of the promotion
|
|
68
|
+
* appliedAt: date when the promotion was applied
|
|
69
|
+
* @returns PromotionHistory object
|
|
70
|
+
*/
|
|
71
|
+
createPromotionHistory(params: CreatePromotionHistoryParams): Promise<PromotionHistory>;
|
|
56
72
|
}
|
|
@@ -3,11 +3,12 @@ import { BaseRepository } from '../baseRepository';
|
|
|
3
3
|
import { bulkInsertDeviceTypePromotion } from './bulkInsertDeviceTypePromotion';
|
|
4
4
|
import { bulkInsertMarketplacePromotion } from './bulkInsertMarketplacePromotion';
|
|
5
5
|
import { createPromotion } from './createPromotion';
|
|
6
|
+
import { createPromotionHistory } from './createPromotionHistory';
|
|
6
7
|
import { deleteDeviceTypePromotion } from './deleteDeviceTypePromotion';
|
|
7
8
|
import { deleteMarketplacePromotion } from './deleteMarketplacePromotion';
|
|
8
9
|
import { getDeviceTypePromotion } from './getDeviceTypePromotion';
|
|
9
10
|
import { getMarketplacePromotion } from './getMarketplacePromotion';
|
|
10
|
-
import {
|
|
11
|
+
import { getPromotions } from './getPromotions';
|
|
11
12
|
import { updatePromotion } from './updatePromotion';
|
|
12
13
|
export class PromotionRepository extends BaseRepository {
|
|
13
14
|
/**
|
|
@@ -34,13 +35,13 @@ export class PromotionRepository extends BaseRepository {
|
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
37
|
* Get a promotion
|
|
37
|
-
* @param {
|
|
38
|
+
* @param {GetPromotionsParams} params containing information to get a promotion
|
|
38
39
|
*/
|
|
39
|
-
async
|
|
40
|
-
this.logger.trace({ params }, `PromotionRepository::
|
|
40
|
+
async getPromotions(params) {
|
|
41
|
+
this.logger.trace({ params }, `PromotionRepository::getPromotions started with params`);
|
|
41
42
|
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
42
|
-
const promotion = await
|
|
43
|
-
this.logger.trace({ promotion }, 'PromotionRepository::
|
|
43
|
+
const promotion = await getPromotions(novaDataSource, params, this.logger);
|
|
44
|
+
this.logger.trace({ promotion }, 'PromotionRepository::getPromotions result');
|
|
44
45
|
return promotion;
|
|
45
46
|
}
|
|
46
47
|
/**
|
|
@@ -113,5 +114,27 @@ export class PromotionRepository extends BaseRepository {
|
|
|
113
114
|
this.logger.trace({ promotion }, 'PromotionRepository::getMarketplacePromotion result');
|
|
114
115
|
return promotion;
|
|
115
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Create a promotion history
|
|
119
|
+
* @param params containing information to create a promotion history
|
|
120
|
+
* imei: imei of the device
|
|
121
|
+
* clientId: id of the client
|
|
122
|
+
* promotionId: id of the promotion
|
|
123
|
+
* marketplaceId: id of the marketplace
|
|
124
|
+
* asin: asin of the product
|
|
125
|
+
* promotionType: type of the promotion
|
|
126
|
+
* promotionDiscount: discount of the promotion
|
|
127
|
+
* promotionDiscountBillingCycles: billing cycles of the promotion
|
|
128
|
+
* promotionFreeServiceMonths: free service months of the promotion
|
|
129
|
+
* appliedAt: date when the promotion was applied
|
|
130
|
+
* @returns PromotionHistory object
|
|
131
|
+
*/
|
|
132
|
+
async createPromotionHistory(params) {
|
|
133
|
+
this.logger.trace(params, `PromotionRepository.createPromotionHistory started with params`);
|
|
134
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
135
|
+
const result = await createPromotionHistory(novaDataSource, params, this.logger);
|
|
136
|
+
this.logger.trace(result, 'PromotionRepository::createPromotionHistory result');
|
|
137
|
+
return result;
|
|
138
|
+
}
|
|
116
139
|
}
|
|
117
140
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/promotions/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/promotions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,8 @@ export interface GetLiveLinksParams extends BaseSelectQueryParams {
|
|
|
28
28
|
id?: string;
|
|
29
29
|
clientId?: number;
|
|
30
30
|
status?: 'active' | 'inactive';
|
|
31
|
+
name?: string;
|
|
32
|
+
imeis?: string[];
|
|
31
33
|
};
|
|
32
34
|
pagingOptions?: {
|
|
33
35
|
pageSize?: number;
|
|
@@ -42,6 +44,8 @@ export interface GetLiveLinksCountParams extends BaseSelectQueryParams {
|
|
|
42
44
|
filters: {
|
|
43
45
|
clientId: number;
|
|
44
46
|
status?: 'active' | 'inactive';
|
|
47
|
+
name?: string;
|
|
48
|
+
imeis?: string[];
|
|
45
49
|
};
|
|
46
50
|
}
|
|
47
51
|
export interface GetLiveLinkDataParams extends OptionalReportPagination {
|
|
@@ -56,9 +56,22 @@ export interface UpdatePromotionParams {
|
|
|
56
56
|
trackerText?: string;
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
export
|
|
59
|
+
export declare const oneRequiredGetPromotionsParams: string[];
|
|
60
|
+
export interface GetPromotionsParams extends BaseSelectQueryParams {
|
|
60
61
|
filters: {
|
|
61
|
-
id
|
|
62
|
+
id?: number;
|
|
63
|
+
marketplaceId?: string;
|
|
64
|
+
asin?: string;
|
|
65
|
+
imei?: string;
|
|
66
|
+
deviceTypeId?: number;
|
|
67
|
+
status?: string;
|
|
68
|
+
onlyPromotionsWithinDateRange?: boolean;
|
|
69
|
+
};
|
|
70
|
+
projectionOptions?: {
|
|
71
|
+
withMarketplacePromotions?: boolean;
|
|
72
|
+
withAsinPromotions?: boolean;
|
|
73
|
+
withDevicePromotions?: boolean;
|
|
74
|
+
withDeviceTypePromotions?: boolean;
|
|
62
75
|
};
|
|
63
76
|
}
|
|
64
77
|
export declare const requiredCreateMarketplacePromotionParams: string[];
|
|
@@ -93,3 +106,16 @@ export interface GetMarketplacePromotionParams extends BaseSelectQueryParams {
|
|
|
93
106
|
marketplaceId?: string;
|
|
94
107
|
};
|
|
95
108
|
}
|
|
109
|
+
export declare const requiredCreatePromotionHistoryParams: string[];
|
|
110
|
+
export interface CreatePromotionHistoryParams {
|
|
111
|
+
imei: string;
|
|
112
|
+
promotionId: number;
|
|
113
|
+
clientId?: number;
|
|
114
|
+
marketPlaceId?: string;
|
|
115
|
+
asin?: string;
|
|
116
|
+
promotionType: string;
|
|
117
|
+
promotionDiscount?: number;
|
|
118
|
+
promotionDiscountBillingCycles?: number;
|
|
119
|
+
promotionFreeServiceMonths?: number;
|
|
120
|
+
appliedAt: Date;
|
|
121
|
+
}
|
package/dist/types/promotion.js
CHANGED
|
@@ -13,6 +13,14 @@ export const oneRequiredUpdatePromotionParams = [
|
|
|
13
13
|
'values.bannerText',
|
|
14
14
|
'values.trackerText',
|
|
15
15
|
];
|
|
16
|
+
export const oneRequiredGetPromotionsParams = [
|
|
17
|
+
'filters.id',
|
|
18
|
+
'filters.marketplaceId',
|
|
19
|
+
'filters.asin',
|
|
20
|
+
'filters.imei',
|
|
21
|
+
'filters.deviceTypeId',
|
|
22
|
+
'filters.status',
|
|
23
|
+
];
|
|
16
24
|
export const requiredCreateMarketplacePromotionParams = ['marketplaceId', 'promotionId'];
|
|
17
25
|
export const requiredCreateDeviceTypePromotionParams = ['deviceTypeId', 'promotionId'];
|
|
18
26
|
export const oneRequiredDeleteMarketplacePromotionParams = ['promotionId', 'marketplaceId'];
|
|
@@ -25,4 +33,10 @@ export const oneRequiredGetMarketplacePromotionParams = [
|
|
|
25
33
|
'filters.promotionId',
|
|
26
34
|
'filters.marketplaceId',
|
|
27
35
|
];
|
|
36
|
+
export const requiredCreatePromotionHistoryParams = [
|
|
37
|
+
'imei',
|
|
38
|
+
'promotionId',
|
|
39
|
+
'promotionType',
|
|
40
|
+
'appliedAt',
|
|
41
|
+
];
|
|
28
42
|
//# sourceMappingURL=promotion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promotion.js","sourceRoot":"","sources":["../../src/types/promotion.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;AA+CnG,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,YAAY,CAAC,CAAA;AAC3D,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,8BAA8B;IAC9B,0BAA0B;IAC1B,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;CACrB,CAAA;
|
|
1
|
+
{"version":3,"file":"promotion.js","sourceRoot":"","sources":["../../src/types/promotion.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;AA+CnG,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,YAAY,CAAC,CAAA;AAC3D,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,8BAA8B;IAC9B,0BAA0B;IAC1B,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;CACrB,CAAA;AAkBD,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,YAAY;IACZ,uBAAuB;IACvB,cAAc;IACd,cAAc;IACd,sBAAsB;IACtB,gBAAgB;CACjB,CAAA;AAmBD,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;AAKxF,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;AAKtF,MAAM,CAAC,MAAM,2CAA2C,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;AAM3F,MAAM,CAAC,MAAM,0CAA0C,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AAMzF,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,qBAAqB;IACrB,sBAAsB;CACvB,CAAA;AAQD,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,qBAAqB;IACrB,uBAAuB;CACxB,CAAA;AAQD,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,MAAM;IACN,aAAa;IACb,eAAe;IACf,WAAW;CACZ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Promotion } from '../../entities';
|
|
2
|
-
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
-
import { Logger } from '../../types/logger';
|
|
4
|
-
import { GetPromotionParams } from '../../types/promotion';
|
|
5
|
-
export declare const getPromotion: (novaDataSource: NovaDataSource, params: GetPromotionParams, logger: Logger) => Promise<Promotion>;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Promotion } from '../../entities';
|
|
2
|
-
export const getPromotion = async (novaDataSource, params, logger) => {
|
|
3
|
-
if (!params?.filters?.id) {
|
|
4
|
-
logger.warn({ params }, 'PromotionRepository::getPromotion missing required parameters');
|
|
5
|
-
return null;
|
|
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 promotionRepository = dataSource.getRepository(Promotion);
|
|
11
|
-
const promotionQueryBuilder = promotionRepository.createQueryBuilder('promotion');
|
|
12
|
-
if (queryRunner) {
|
|
13
|
-
promotionQueryBuilder.setQueryRunner(queryRunner);
|
|
14
|
-
}
|
|
15
|
-
const result = await promotionQueryBuilder
|
|
16
|
-
.where('promotion.id = :id', { id: params.filters.id })
|
|
17
|
-
.getOne();
|
|
18
|
-
return result ?? null;
|
|
19
|
-
}, 'PromotionRepository::getPromotion', dbQueryRunner);
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=getPromotion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/getPromotion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK1C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,cAA8B,EAC9B,MAA0B,EAC1B,MAAc,EACM,EAAE;IACtB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,+DAA+D,CAAC,CAAA;QACxF,OAAO,IAAI,CAAA;KACZ;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAAsB,EAAE;QAClF,MAAM,mBAAmB,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE/D,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;QAEjF,IAAI,WAAW,EAAE;YACf,qBAAqB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SAClD;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB;aACvC,KAAK,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;aACtD,MAAM,EAAE,CAAA;QAEX,OAAO,MAAM,IAAI,IAAI,CAAA;IACvB,CAAC,EACD,mCAAmC,EACnC,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|