@spytecgps/nova-orm 1.0.91 → 1.0.92
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/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/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/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
|
@@ -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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"}
|
|
@@ -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"}
|