@spytecgps/nova-orm 1.0.90 → 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/acumaticaAmazonProduct.js +1 -1
- package/dist/entities/acumaticaAmazonProduct.js.map +1 -1
- package/dist/entities/acumaticaImeiIccidData.js +1 -1
- package/dist/entities/acumaticaImeiIccidData.js.map +1 -1
- package/dist/entities/acumaticaOrderShipmentDetails.js +1 -1
- package/dist/entities/acumaticaOrderShipmentDetails.js.map +1 -1
- package/dist/entities/airflow/airflowAcumaticaExportOrderShipmentDetails.js +1 -1
- package/dist/entities/airflow/airflowAcumaticaExportOrderShipmentDetails.js.map +1 -1
- package/dist/entities/asinPromotion.d.ts +3 -0
- package/dist/entities/asinPromotion.js +12 -2
- package/dist/entities/asinPromotion.js.map +1 -1
- package/dist/entities/devicePromotion.d.ts +3 -0
- package/dist/entities/devicePromotion.js +12 -2
- package/dist/entities/devicePromotion.js.map +1 -1
- package/dist/entities/deviceTypePromotion.d.ts +3 -0
- package/dist/entities/deviceTypePromotion.js +12 -2
- 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/index.d.ts +5 -1
- package/dist/entities/index.js +5 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/magento2Gps.js +3 -3
- package/dist/entities/magento2Gps.js.map +1 -1
- package/dist/entities/marketplacePromotion.d.ts +3 -0
- package/dist/entities/marketplacePromotion.js +12 -2
- package/dist/entities/marketplacePromotion.js.map +1 -1
- package/dist/entities/promotion.d.ts +17 -7
- package/dist/entities/promotion.js +31 -4
- package/dist/entities/promotion.js.map +1 -1
- package/dist/entities/promotionHistory.d.ts +6 -6
- package/dist/entities/promotionHistory.js +2 -1
- package/dist/entities/promotionHistory.js.map +1 -1
- package/dist/entities/userActivationDevice.js +2 -2
- package/dist/entities/userActivationDevice.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/repositories/index.d.ts +2 -1
- package/dist/repositories/index.js +2 -1
- package/dist/repositories/index.js.map +1 -1
- package/dist/repositories/promotions/bulkInsertDeviceTypePromotion.d.ts +5 -0
- package/dist/repositories/promotions/bulkInsertDeviceTypePromotion.js +15 -0
- package/dist/repositories/promotions/bulkInsertDeviceTypePromotion.js.map +1 -0
- package/dist/repositories/promotions/bulkInsertMarketplacePromotion.d.ts +5 -0
- package/dist/repositories/promotions/bulkInsertMarketplacePromotion.js +15 -0
- package/dist/repositories/promotions/bulkInsertMarketplacePromotion.js.map +1 -0
- package/dist/repositories/promotions/createPromotion.d.ts +5 -0
- package/dist/repositories/promotions/createPromotion.js +30 -0
- package/dist/repositories/promotions/createPromotion.js.map +1 -0
- 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/deleteDeviceTypePromotion.d.ts +4 -0
- package/dist/repositories/promotions/deleteDeviceTypePromotion.js +22 -0
- package/dist/repositories/promotions/deleteDeviceTypePromotion.js.map +1 -0
- package/dist/repositories/promotions/deleteMarketplacePromotion.d.ts +4 -0
- package/dist/repositories/promotions/deleteMarketplacePromotion.js +24 -0
- package/dist/repositories/promotions/deleteMarketplacePromotion.js.map +1 -0
- package/dist/repositories/promotions/getDeviceTypePromotion.d.ts +5 -0
- package/dist/repositories/promotions/getDeviceTypePromotion.js +28 -0
- package/dist/repositories/promotions/getDeviceTypePromotion.js.map +1 -0
- package/dist/repositories/promotions/getMarketplacePromotion.d.ts +5 -0
- package/dist/repositories/promotions/getMarketplacePromotion.js +28 -0
- package/dist/repositories/promotions/getMarketplacePromotion.js.map +1 -0
- 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 +72 -0
- package/dist/repositories/promotions/index.js +140 -0
- package/dist/repositories/promotions/index.js.map +1 -0
- package/dist/repositories/promotions/promotionValidator.d.ts +3 -0
- package/dist/repositories/promotions/promotionValidator.js +17 -0
- package/dist/repositories/promotions/promotionValidator.js.map +1 -0
- package/dist/repositories/promotions/updatePromotion.d.ts +4 -0
- package/dist/repositories/promotions/updatePromotion.js +36 -0
- package/dist/repositories/promotions/updatePromotion.js.map +1 -0
- package/dist/types/enums.d.ts +4 -0
- package/dist/types/enums.js +5 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/promotion.d.ts +121 -0
- package/dist/types/promotion.js +42 -0
- package/dist/types/promotion.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { BaseRepository } from '../baseRepository';
|
|
3
|
+
import { bulkInsertDeviceTypePromotion } from './bulkInsertDeviceTypePromotion';
|
|
4
|
+
import { bulkInsertMarketplacePromotion } from './bulkInsertMarketplacePromotion';
|
|
5
|
+
import { createPromotion } from './createPromotion';
|
|
6
|
+
import { createPromotionHistory } from './createPromotionHistory';
|
|
7
|
+
import { deleteDeviceTypePromotion } from './deleteDeviceTypePromotion';
|
|
8
|
+
import { deleteMarketplacePromotion } from './deleteMarketplacePromotion';
|
|
9
|
+
import { getDeviceTypePromotion } from './getDeviceTypePromotion';
|
|
10
|
+
import { getMarketplacePromotion } from './getMarketplacePromotion';
|
|
11
|
+
import { getPromotions } from './getPromotions';
|
|
12
|
+
import { updatePromotion } from './updatePromotion';
|
|
13
|
+
export class PromotionRepository extends BaseRepository {
|
|
14
|
+
/**
|
|
15
|
+
* Create a promotion
|
|
16
|
+
* @param {CreatePromotionParams} params containing information to create a promotion
|
|
17
|
+
*/
|
|
18
|
+
async createPromotion(params) {
|
|
19
|
+
this.logger.trace(params, `PromotionRepository::this.createPromotion started with params`);
|
|
20
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
21
|
+
const result = await createPromotion(novaDataSource, params, this.logger);
|
|
22
|
+
this.logger.trace(result, 'PromotionRepository::createPromotion result');
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Update a promotion
|
|
27
|
+
* @param {UpdatePromotionParams} params containing information to update a promotion
|
|
28
|
+
*/
|
|
29
|
+
async updatePromotion(params) {
|
|
30
|
+
this.logger.trace(params, `PromotionRepository::this.updatePromotion started with params`);
|
|
31
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
32
|
+
const result = await updatePromotion(novaDataSource, params, this.logger);
|
|
33
|
+
this.logger.trace({ result }, 'PromotionRepository::updatePromotion result');
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get a promotion
|
|
38
|
+
* @param {GetPromotionsParams} params containing information to get a promotion
|
|
39
|
+
*/
|
|
40
|
+
async getPromotions(params) {
|
|
41
|
+
this.logger.trace({ params }, `PromotionRepository::getPromotions started with params`);
|
|
42
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
43
|
+
const promotion = await getPromotions(novaDataSource, params, this.logger);
|
|
44
|
+
this.logger.trace({ promotion }, 'PromotionRepository::getPromotions result');
|
|
45
|
+
return promotion;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a marketplace promotion
|
|
49
|
+
* @param {CreateMarketplacePromotionParams} params containing information to create a marketplace promotion
|
|
50
|
+
*/
|
|
51
|
+
async bulkInsertMarketplacePromotion(params) {
|
|
52
|
+
this.logger.trace(params, `PromotionRepository.createMarketplacePromotion started with params`);
|
|
53
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
54
|
+
const result = await bulkInsertMarketplacePromotion(novaDataSource, params, this.logger);
|
|
55
|
+
this.logger.trace(result, 'PromotionRepository::createMarketplacePromotion result');
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create a device type promotion
|
|
60
|
+
* @param {CreateDeviceTypePromotionParams} params containing information to create a device type promotion
|
|
61
|
+
*/
|
|
62
|
+
async bulkInsertDeviceTypePromotion(params) {
|
|
63
|
+
this.logger.trace(params, `PromotionRepository.createDeviceTypePromotion started with params`);
|
|
64
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
65
|
+
const result = await bulkInsertDeviceTypePromotion(novaDataSource, params, this.logger);
|
|
66
|
+
this.logger.trace(result, 'PromotionRepository::createDeviceTypePromotion result');
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Delete a marketplace promotion
|
|
71
|
+
* @param params containing information to delete a marketplace promotion
|
|
72
|
+
* @returns boolean indicating if the marketplace promotion was deleted
|
|
73
|
+
*/
|
|
74
|
+
async deleteMarketplacePromotion(params) {
|
|
75
|
+
this.logger.trace(params, `PromotionRepository.deleteMarketplacePromotion started with params`);
|
|
76
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
77
|
+
const result = await deleteMarketplacePromotion(novaDataSource, params, this.logger);
|
|
78
|
+
this.logger.trace({ result }, 'PromotionRepository::deleteMarketplacePromotion result');
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Delete a device type promotion
|
|
83
|
+
* @param params containing information to delete a device type promotion
|
|
84
|
+
* @returns boolean indicating if the device type promotion was deleted
|
|
85
|
+
*/
|
|
86
|
+
async deleteDeviceTypePromotion(params) {
|
|
87
|
+
this.logger.trace(params, `PromotionRepository.deleteDeviceTypePromotion started with params`);
|
|
88
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
89
|
+
const result = await deleteDeviceTypePromotion(novaDataSource, params, this.logger);
|
|
90
|
+
this.logger.trace({ result }, 'PromotionRepository::deleteDeviceTypePromotion result');
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get a device type promotion
|
|
95
|
+
* @param params containing information to get a device type promotion
|
|
96
|
+
* @returns DeviceTypePromotion object
|
|
97
|
+
*/
|
|
98
|
+
async getDeviceTypePromotion(params) {
|
|
99
|
+
this.logger.trace(params, `PromotionRepository.getDeviceTypePromotion started with params`);
|
|
100
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
101
|
+
const promotion = await getDeviceTypePromotion(novaDataSource, params, this.logger);
|
|
102
|
+
this.logger.trace({ promotion }, 'PromotionRepository::getDeviceTypePromotion result');
|
|
103
|
+
return promotion;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get a marketplace promotion
|
|
107
|
+
* @param params containing information to get a marketplace promotion
|
|
108
|
+
* @returns MarketplacePromotion object
|
|
109
|
+
*/
|
|
110
|
+
async getMarketplacePromotion(params) {
|
|
111
|
+
this.logger.trace(params, `PromotionRepository.getMarketplacePromotion started with params`);
|
|
112
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
113
|
+
const promotion = await getMarketplacePromotion(novaDataSource, params, this.logger);
|
|
114
|
+
this.logger.trace({ promotion }, 'PromotionRepository::getMarketplacePromotion result');
|
|
115
|
+
return promotion;
|
|
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
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/promotions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PromotionType } from '../../types/enums';
|
|
2
|
+
export const invalidPromotion = (params, logger) => {
|
|
3
|
+
const createParams = params;
|
|
4
|
+
const updateParams = params;
|
|
5
|
+
const type = createParams.type ?? updateParams.values.type;
|
|
6
|
+
if (type === PromotionType.Discount) {
|
|
7
|
+
const discount = createParams.discount ?? updateParams.values.discount;
|
|
8
|
+
return discount <= 0;
|
|
9
|
+
}
|
|
10
|
+
else if (type === PromotionType.FreeService) {
|
|
11
|
+
const freeServiceMonths = createParams.freeServiceMonths ?? updateParams.values.freeServiceMonths;
|
|
12
|
+
return freeServiceMonths <= 0;
|
|
13
|
+
}
|
|
14
|
+
logger.warn({ params }, 'PromotionRepository::invalidPromotion incorrect promotion type');
|
|
15
|
+
return false;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=promotionValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotionValidator.js","sourceRoot":"","sources":["../../../src/repositories/promotions/promotionValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAIjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAqD,EACrD,MAAc,EACL,EAAE;IACX,MAAM,YAAY,GAAG,MAA+B,CAAA;IACpD,MAAM,YAAY,GAAG,MAA+B,CAAA;IAEpD,MAAM,IAAI,GAAkB,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAA;IAEzE,IAAI,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE;QACnC,MAAM,QAAQ,GAAW,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAA;QAE9E,OAAO,QAAQ,IAAI,CAAC,CAAA;KACrB;SAAM,IAAI,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE;QAC7C,MAAM,iBAAiB,GACrB,YAAY,CAAC,iBAAiB,IAAI,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAA;QAEzE,OAAO,iBAAiB,IAAI,CAAC,CAAA;KAC9B;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,gEAAgE,CAAC,CAAA;IACzF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { Logger } from '../../types/logger';
|
|
3
|
+
import { UpdatePromotionParams } from '../../types/promotion';
|
|
4
|
+
export declare const updatePromotion: (novaDataSource: NovaDataSource, params: UpdatePromotionParams, logger: Logger) => Promise<boolean>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Promotion } from '../../entities';
|
|
2
|
+
import { oneRequiredUpdatePromotionParams, requiredUpdatePromotionParams, } from '../../types/promotion';
|
|
3
|
+
import { allAttributesAreNull, anyAttributeIsNull } from '../../utils/paramsValidators';
|
|
4
|
+
import { invalidPromotion } from './promotionValidator';
|
|
5
|
+
export const updatePromotion = async (novaDataSource, params, logger) => {
|
|
6
|
+
if (anyAttributeIsNull(params, requiredUpdatePromotionParams) ||
|
|
7
|
+
allAttributesAreNull(params, oneRequiredUpdatePromotionParams) ||
|
|
8
|
+
invalidPromotion(params, logger)) {
|
|
9
|
+
logger.warn({ params }, 'PromotionRepository::updatePromotion missing required parameters');
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return novaDataSource.safeQuery(async (safeDataSource) => {
|
|
13
|
+
const promotionRepository = safeDataSource.getRepository(Promotion);
|
|
14
|
+
const { filters, values } = params;
|
|
15
|
+
const updateResult = await promotionRepository
|
|
16
|
+
.createQueryBuilder()
|
|
17
|
+
.update(Promotion)
|
|
18
|
+
.set({
|
|
19
|
+
bannerText: values.bannerText,
|
|
20
|
+
description: values.description,
|
|
21
|
+
discount: values.discount,
|
|
22
|
+
discountBillingCycles: values.discountBillingCycles,
|
|
23
|
+
endDate: values.endDate,
|
|
24
|
+
freeServiceMonths: values.freeServiceMonths,
|
|
25
|
+
name: values.name,
|
|
26
|
+
startDate: values.startDate,
|
|
27
|
+
status: values.status,
|
|
28
|
+
trackerText: values.trackerText,
|
|
29
|
+
type: values.type,
|
|
30
|
+
})
|
|
31
|
+
.where('id = :id', { id: filters.id })
|
|
32
|
+
.execute();
|
|
33
|
+
return updateResult.affected > 0;
|
|
34
|
+
}, 'PromotionRepository::updatePromotion error');
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=updatePromotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updatePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/updatePromotion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EACL,gCAAgC,EAChC,6BAA6B,GAE9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,cAA8B,EAC9B,MAA6B,EAC7B,MAAc,EACI,EAAE;IACpB,IACE,kBAAkB,CAAwB,MAAM,EAAE,6BAA6B,CAAC;QAChF,oBAAoB,CAAwB,MAAM,EAAE,gCAAgC,CAAC;QACrF,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC;QACA,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,kEAAkE,CAAC,CAAA;QAC3F,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,cAA8B,EAAoB,EAAE;QACzF,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAEnE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAClC,MAAM,YAAY,GAAG,MAAM,mBAAmB;aAC3C,kBAAkB,EAAE;aACpB,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;aACD,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;aACrC,OAAO,EAAE,CAAA;QAEZ,OAAO,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAA;IAClC,CAAC,EAAE,4CAA4C,CAAC,CAAA;AAClD,CAAC,CAAA"}
|
package/dist/types/enums.d.ts
CHANGED
package/dist/types/enums.js
CHANGED
|
@@ -77,4 +77,9 @@ export var BoundaryEventType;
|
|
|
77
77
|
BoundaryEventType["Enter"] = "boundaryEnter";
|
|
78
78
|
BoundaryEventType["Exit"] = "boundaryExit";
|
|
79
79
|
})(BoundaryEventType || (BoundaryEventType = {}));
|
|
80
|
+
export var PromotionType;
|
|
81
|
+
(function (PromotionType) {
|
|
82
|
+
PromotionType["FreeService"] = "freeService";
|
|
83
|
+
PromotionType["Discount"] = "discount";
|
|
84
|
+
})(PromotionType || (PromotionType = {}));
|
|
80
85
|
//# sourceMappingURL=enums.js.map
|
package/dist/types/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,uEAAgB,CAAA;IAChB,yDAAS,CAAA;AACX,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,4BAAY,CAAA;IACZ,6BAAa,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uDAAU,CAAA;IACV,2DAAY,CAAA;IACZ,yDAAW,CAAA;AACb,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,0BAAY,CAAA;IACZ,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,mDAAQ,CAAA;AACV,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+DAAyC,CAAA;IACzC,2CAAqB,CAAA;IACrB,qCAAe,CAAA;IACf,yCAAmB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,6CAAqB,CAAA;AACvB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,MAAM,CAAN,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,qDAAyB,CAAA;IACzB,mDAAuB,CAAA;IACvB,iDAAqB,CAAA;IACrB,6CAAiB,CAAA;AACnB,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,QAKnC;AAED,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,2EAAS,CAAA;IACT,2EAAS,CAAA;AACX,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,6DAAc,CAAA;IACd,mDAAS,CAAA;IACT,uDAAW,CAAA;IACX,6CAAM,CAAA;IACN,iDAAQ,CAAA;IACR,yDAAY,CAAA;AACd,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,uCAAQ,CAAA;AACV,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,qEAAW,CAAA;IACX,yEAAa,CAAA;IACb,qEAAW,CAAA;IACX,8EAAgB,CAAA;IAChB,kFAAkB,CAAA;AACpB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,0CAAqB,CAAA;AACvB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/types/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,uEAAgB,CAAA;IAChB,yDAAS,CAAA;AACX,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,4BAAY,CAAA;IACZ,6BAAa,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,uDAAU,CAAA;IACV,2DAAY,CAAA;IACZ,yDAAW,CAAA;AACb,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,0BAAY,CAAA;IACZ,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,mDAAQ,CAAA;AACV,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,+DAAyC,CAAA;IACzC,2CAAqB,CAAA;IACrB,qCAAe,CAAA;IACf,yCAAmB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,6CAAqB,CAAA;AACvB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,MAAM,CAAN,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,qDAAyB,CAAA;IACzB,mDAAuB,CAAA;IACvB,iDAAqB,CAAA;IACrB,6CAAiB,CAAA;AACnB,CAAC,EALW,wBAAwB,KAAxB,wBAAwB,QAKnC;AAED,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,2EAAS,CAAA;IACT,2EAAS,CAAA;AACX,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,6DAAc,CAAA;IACd,mDAAS,CAAA;IACT,uDAAW,CAAA;IACX,6CAAM,CAAA;IACN,iDAAQ,CAAA;IACR,yDAAY,CAAA;AACd,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,uCAAQ,CAAA;AACV,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,qEAAW,CAAA;IACX,yEAAa,CAAA;IACb,qEAAW,CAAA;IACX,8EAAgB,CAAA;IAChB,kFAAkB,CAAA;AACpB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,4CAAuB,CAAA;IACvB,0CAAqB,CAAA;AACvB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;AACvB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { DeviceTypePromotion, MarketplacePromotion } from '../entities';
|
|
2
|
+
import { BaseSelectQueryParams } from './common';
|
|
3
|
+
import { PromotionType } from './enums';
|
|
4
|
+
export declare const requiredCreatePromotionParams: string[];
|
|
5
|
+
export interface CreatePromotionParams {
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
/**
|
|
9
|
+
* The type of promotion: freeService or discount.
|
|
10
|
+
*/
|
|
11
|
+
type: PromotionType;
|
|
12
|
+
/**
|
|
13
|
+
* The discount value if the type is discount offered in US Dollars.
|
|
14
|
+
*/
|
|
15
|
+
discount?: number;
|
|
16
|
+
/**
|
|
17
|
+
* The number of billing cycles that the discount will be applied. Required when type is discount
|
|
18
|
+
*/
|
|
19
|
+
discountBillingCycles?: number;
|
|
20
|
+
/**
|
|
21
|
+
* The number of months that the service will be free. Required when type is freeService
|
|
22
|
+
*/
|
|
23
|
+
freeServiceMonths?: number;
|
|
24
|
+
/**
|
|
25
|
+
* The date that the promotion will start
|
|
26
|
+
*/
|
|
27
|
+
startDate: Date;
|
|
28
|
+
/**
|
|
29
|
+
* The date that the promotion will end
|
|
30
|
+
*/
|
|
31
|
+
endDate?: Date;
|
|
32
|
+
/**
|
|
33
|
+
* The status of the promotion: active, inactive
|
|
34
|
+
*/
|
|
35
|
+
status: string;
|
|
36
|
+
bannerText?: string;
|
|
37
|
+
trackerText?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare const requiredUpdatePromotionParams: string[];
|
|
40
|
+
export declare const oneRequiredUpdatePromotionParams: string[];
|
|
41
|
+
export interface UpdatePromotionParams {
|
|
42
|
+
filters: {
|
|
43
|
+
id: number;
|
|
44
|
+
};
|
|
45
|
+
values: {
|
|
46
|
+
name?: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
type?: PromotionType;
|
|
49
|
+
discount?: number;
|
|
50
|
+
discountBillingCycles?: number;
|
|
51
|
+
freeServiceMonths?: number;
|
|
52
|
+
startDate?: Date;
|
|
53
|
+
endDate?: Date;
|
|
54
|
+
status?: string;
|
|
55
|
+
bannerText?: string;
|
|
56
|
+
trackerText?: string;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export declare const oneRequiredGetPromotionsParams: string[];
|
|
60
|
+
export interface GetPromotionsParams extends BaseSelectQueryParams {
|
|
61
|
+
filters: {
|
|
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;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export declare const requiredCreateMarketplacePromotionParams: string[];
|
|
78
|
+
export interface CreateMarketplacePromotionParams {
|
|
79
|
+
items: MarketplacePromotion[];
|
|
80
|
+
}
|
|
81
|
+
export declare const requiredCreateDeviceTypePromotionParams: string[];
|
|
82
|
+
export interface CreateDeviceTypePromotionParams {
|
|
83
|
+
items: DeviceTypePromotion[];
|
|
84
|
+
}
|
|
85
|
+
export declare const oneRequiredDeleteMarketplacePromotionParams: string[];
|
|
86
|
+
export interface DeleteMarketplacePromotionParams {
|
|
87
|
+
promotionId?: number;
|
|
88
|
+
marketplaceId?: string;
|
|
89
|
+
}
|
|
90
|
+
export declare const oneRequiredDeleteDeviceTypePromotionParams: string[];
|
|
91
|
+
export interface DeleteDeviceTypePromotionParams {
|
|
92
|
+
promotionId?: number;
|
|
93
|
+
deviceTypeId?: number;
|
|
94
|
+
}
|
|
95
|
+
export declare const oneRequiredGetDeviceTypePromotionParams: string[];
|
|
96
|
+
export interface GetDeviceTypePromotionParams extends BaseSelectQueryParams {
|
|
97
|
+
filters: {
|
|
98
|
+
promotionId?: number;
|
|
99
|
+
deviceTypeId?: number;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export declare const oneRequiredGetMarketplacePromotionParams: string[];
|
|
103
|
+
export interface GetMarketplacePromotionParams extends BaseSelectQueryParams {
|
|
104
|
+
filters: {
|
|
105
|
+
promotionId?: number;
|
|
106
|
+
marketplaceId?: string;
|
|
107
|
+
};
|
|
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
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export const requiredCreatePromotionParams = ['name', 'description', 'type', 'startDate', 'status'];
|
|
2
|
+
export const requiredUpdatePromotionParams = ['filters.id'];
|
|
3
|
+
export const oneRequiredUpdatePromotionParams = [
|
|
4
|
+
'values.name',
|
|
5
|
+
'values.description',
|
|
6
|
+
'values.type',
|
|
7
|
+
'values.discount',
|
|
8
|
+
'values.discountBillingCycles',
|
|
9
|
+
'values.freeServiceMonths',
|
|
10
|
+
'values.startDate',
|
|
11
|
+
'values.endDate',
|
|
12
|
+
'values.status',
|
|
13
|
+
'values.bannerText',
|
|
14
|
+
'values.trackerText',
|
|
15
|
+
];
|
|
16
|
+
export const oneRequiredGetPromotionsParams = [
|
|
17
|
+
'filters.id',
|
|
18
|
+
'filters.marketplaceId',
|
|
19
|
+
'filters.asin',
|
|
20
|
+
'filters.imei',
|
|
21
|
+
'filters.deviceTypeId',
|
|
22
|
+
'filters.status',
|
|
23
|
+
];
|
|
24
|
+
export const requiredCreateMarketplacePromotionParams = ['marketplaceId', 'promotionId'];
|
|
25
|
+
export const requiredCreateDeviceTypePromotionParams = ['deviceTypeId', 'promotionId'];
|
|
26
|
+
export const oneRequiredDeleteMarketplacePromotionParams = ['promotionId', 'marketplaceId'];
|
|
27
|
+
export const oneRequiredDeleteDeviceTypePromotionParams = ['promotionId', 'deviceTypeId'];
|
|
28
|
+
export const oneRequiredGetDeviceTypePromotionParams = [
|
|
29
|
+
'filters.promotionId',
|
|
30
|
+
'filters.deviceTypeId',
|
|
31
|
+
];
|
|
32
|
+
export const oneRequiredGetMarketplacePromotionParams = [
|
|
33
|
+
'filters.promotionId',
|
|
34
|
+
'filters.marketplaceId',
|
|
35
|
+
];
|
|
36
|
+
export const requiredCreatePromotionHistoryParams = [
|
|
37
|
+
'imei',
|
|
38
|
+
'promotionId',
|
|
39
|
+
'promotionType',
|
|
40
|
+
'appliedAt',
|
|
41
|
+
];
|
|
42
|
+
//# sourceMappingURL=promotion.js.map
|
|
@@ -0,0 +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;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"}
|