@spytecgps/nova-orm 1.0.89 → 1.0.91
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/{acumaticaExportImeiIccidData.js → airflowAcumaticaExportImeiIccidData.js} +2 -2
- package/dist/entities/airflow/airflowAcumaticaExportImeiIccidData.js.map +1 -0
- package/dist/entities/airflow/{acumaticaExportImeiIccidData copy.js → airflowAcumaticaExportOrderShipmentDetails.js} +3 -3
- package/dist/entities/airflow/airflowAcumaticaExportOrderShipmentDetails.js.map +1 -0
- package/dist/entities/asinPromotion.js +1 -1
- package/dist/entities/asinPromotion.js.map +1 -1
- package/dist/entities/devicePromotion.js +1 -1
- package/dist/entities/devicePromotion.js.map +1 -1
- package/dist/entities/deviceTypePromotion.js +1 -1
- package/dist/entities/deviceTypePromotion.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.js +1 -1
- package/dist/entities/marketplacePromotion.js.map +1 -1
- package/dist/entities/promotion.d.ts +8 -7
- package/dist/entities/promotion.js +6 -3
- package/dist/entities/promotion.js.map +1 -1
- package/dist/entities/promotionHistory.js +1 -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/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/getPromotion.d.ts +5 -0
- package/dist/repositories/promotions/getPromotion.js +21 -0
- package/dist/repositories/promotions/getPromotion.js.map +1 -0
- package/dist/repositories/promotions/index.d.ts +56 -0
- package/dist/repositories/promotions/index.js +117 -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 +95 -0
- package/dist/types/promotion.js +28 -0
- package/dist/types/promotion.js.map +1 -0
- package/package.json +1 -1
- package/dist/entities/airflow/acumaticaExportImeiIccidData copy.js.map +0 -1
- package/dist/entities/airflow/acumaticaExportImeiIccidData.js.map +0 -1
- /package/dist/entities/airflow/{acumaticaExportImeiIccidData.d.ts → airflowAcumaticaExportImeiIccidData.d.ts} +0 -0
- /package/dist/entities/airflow/{acumaticaExportImeiIccidData copy.d.ts → airflowAcumaticaExportOrderShipmentDetails.d.ts} +0 -0
|
@@ -23,6 +23,7 @@ import { LatestUserAppInfoRepository } from './latestUserAppInfo';
|
|
|
23
23
|
import { LiveLinksRepository } from './liveLinks';
|
|
24
24
|
import { NotificationRecipientsRepository } from './notificationRecipients';
|
|
25
25
|
import { PositionRepository } from './positions';
|
|
26
|
+
import { PromotionRepository } from './promotions';
|
|
26
27
|
import { SecurityRepository } from './security';
|
|
27
28
|
import { TagsRepository } from './tags';
|
|
28
29
|
import { TasksRepository } from './tasks';
|
|
@@ -36,4 +37,4 @@ import { UserInvitationsRepository } from './userInvitations';
|
|
|
36
37
|
import { UserRatingRequestsRepository } from './userRatingRequests';
|
|
37
38
|
import { UserRegistrationAttemptsRepository } from './userRegistrationAttempts';
|
|
38
39
|
import { UsersRepository } from './users';
|
|
39
|
-
export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, DeviceTypeFeatureRepository, EntityTagsRepository, FeatureRepository, FirmwaresRepository, LatestUserAppInfoRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
|
|
40
|
+
export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, DeviceTypeFeatureRepository, EntityTagsRepository, FeatureRepository, FirmwaresRepository, LatestUserAppInfoRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, PromotionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
|
|
@@ -23,6 +23,7 @@ import { LatestUserAppInfoRepository } from './latestUserAppInfo';
|
|
|
23
23
|
import { LiveLinksRepository } from './liveLinks';
|
|
24
24
|
import { NotificationRecipientsRepository } from './notificationRecipients';
|
|
25
25
|
import { PositionRepository } from './positions';
|
|
26
|
+
import { PromotionRepository } from './promotions';
|
|
26
27
|
import { SecurityRepository } from './security';
|
|
27
28
|
import { TagsRepository } from './tags';
|
|
28
29
|
import { TasksRepository } from './tasks';
|
|
@@ -36,5 +37,5 @@ import { UserInvitationsRepository } from './userInvitations';
|
|
|
36
37
|
import { UserRatingRequestsRepository } from './userRatingRequests';
|
|
37
38
|
import { UserRegistrationAttemptsRepository } from './userRegistrationAttempts';
|
|
38
39
|
import { UsersRepository } from './users';
|
|
39
|
-
export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, DeviceTypeFeatureRepository, EntityTagsRepository, FeatureRepository, FirmwaresRepository, LatestUserAppInfoRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
|
|
40
|
+
export { AcumaticaRepository, AempTokenRepository, AlertRepository, AlertTypesRepository, AppFeaturesRepository, AssetCategoriesRepository, BillingRepository, BlacklistRepository, BLEMeshConfigurationRepository, BoundariesRepository, ClientsRepository, CountriesRepository, DeactivationsRepository, DeviceStatusRepository, DeviceBehaviorsRepository, DevicePairingsRepository, DevicesRepository, DeviceTypeFeatureRepository, EntityTagsRepository, FeatureRepository, FirmwaresRepository, LatestUserAppInfoRepository, LiveLinksRepository, NotificationRecipientsRepository, PositionRepository, PromotionRepository, SecurityRepository, TagsRepository, TasksRepository, TripRepository, UserActivationsRepository, UserAppFeedbackRepository, UserAppIncidentsRepository, UserConfigurationsRepository, UserDataDeletionRequestsRepository, UserInvitationsRepository, UserRatingRequestsRepository, UserRegistrationAttemptsRepository, UsersRepository, };
|
|
40
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DeviceTypePromotion } from '../../entities/deviceTypePromotion';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
import { CreateDeviceTypePromotionParams } from '../../types/promotion';
|
|
5
|
+
export declare const bulkInsertDeviceTypePromotion: (novaDataSource: NovaDataSource, params: CreateDeviceTypePromotionParams, logger: Logger) => Promise<DeviceTypePromotion[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DeviceTypePromotion } from '../../entities/deviceTypePromotion';
|
|
2
|
+
import { requiredCreateDeviceTypePromotionParams, } from '../../types/promotion';
|
|
3
|
+
import { anyAttributeInArrayIsNull } from '../../utils/paramsValidators';
|
|
4
|
+
export const bulkInsertDeviceTypePromotion = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (anyAttributeInArrayIsNull(params.items, requiredCreateDeviceTypePromotionParams)) {
|
|
6
|
+
logger.warn({ params }, 'PromotionRepository::createDeviceTypePromotion missing required parameters');
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
return novaDataSource.safeQuery(async (safeDataSource) => {
|
|
10
|
+
const deviceTypePromotionRepository = safeDataSource.getRepository(DeviceTypePromotion);
|
|
11
|
+
const createdDeviceTypePromotion = await deviceTypePromotionRepository.save(params.items);
|
|
12
|
+
return createdDeviceTypePromotion ?? [];
|
|
13
|
+
}, 'PromotionRepository::createDeviceTypePromotion error');
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=bulkInsertDeviceTypePromotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulkInsertDeviceTypePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/bulkInsertDeviceTypePromotion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAGxE,OAAO,EAEL,uCAAuC,GACxC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAExE,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,cAA8B,EAC9B,MAAuC,EACvC,MAAc,EACkB,EAAE;IAClC,IAAI,yBAAyB,CAAC,MAAM,CAAC,KAAK,EAAE,uCAAuC,CAAC,EAAE;QACpF,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,4EAA4E,CAC7E,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,cAA8B,EAEnE,EAAE;QACF,MAAM,6BAA6B,GAAG,cAAc,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAA;QAEvF,MAAM,0BAA0B,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEzF,OAAO,0BAA0B,IAAI,EAAE,CAAA;IACzC,CAAC,EAAE,sDAAsD,CAAC,CAAA;AAC5D,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { MarketplacePromotion } from '../../entities/marketplacePromotion';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
import { CreateMarketplacePromotionParams } from '../../types/promotion';
|
|
5
|
+
export declare const bulkInsertMarketplacePromotion: (novaDataSource: NovaDataSource, params: CreateMarketplacePromotionParams, logger: Logger) => Promise<MarketplacePromotion[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MarketplacePromotion } from '../../entities/marketplacePromotion';
|
|
2
|
+
import { requiredCreateMarketplacePromotionParams, } from '../../types/promotion';
|
|
3
|
+
import { anyAttributeInArrayIsNull } from '../../utils/paramsValidators';
|
|
4
|
+
export const bulkInsertMarketplacePromotion = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (anyAttributeInArrayIsNull(params.items, requiredCreateMarketplacePromotionParams)) {
|
|
6
|
+
logger.warn({ params }, 'PromotionRepository::createMarketplacePromotion missing required parameters');
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
return novaDataSource.safeQuery(async (safeDataSource) => {
|
|
10
|
+
const marketplacePromotionRepository = safeDataSource.getRepository(MarketplacePromotion);
|
|
11
|
+
const createdMarketplacePromotion = await marketplacePromotionRepository.save(params.items);
|
|
12
|
+
return createdMarketplacePromotion ?? [];
|
|
13
|
+
}, 'PromotionRepository::createMarketplacePromotion error');
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=bulkInsertMarketplacePromotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bulkInsertMarketplacePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/bulkInsertMarketplacePromotion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,EAEL,wCAAwC,GACzC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAExE,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EACjD,cAA8B,EAC9B,MAAwC,EACxC,MAAc,EACmB,EAAE;IACnC,IAAI,yBAAyB,CAAC,MAAM,CAAC,KAAK,EAAE,wCAAwC,CAAC,EAAE;QACrF,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,6EAA6E,CAC9E,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,cAA8B,EAEnE,EAAE;QACF,MAAM,8BAA8B,GAAG,cAAc,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAEzF,MAAM,2BAA2B,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE3F,OAAO,2BAA2B,IAAI,EAAE,CAAA;IAC1C,CAAC,EAAE,uDAAuD,CAAC,CAAA;AAC7D,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Promotion } from '../../entities';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
import { CreatePromotionParams } from '../../types/promotion';
|
|
5
|
+
export declare const createPromotion: (novaDataSource: NovaDataSource, params: CreatePromotionParams, logger: Logger) => Promise<Promotion>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Promotion } from '../../entities';
|
|
2
|
+
import { requiredCreatePromotionParams } from '../../types/promotion';
|
|
3
|
+
import { anyAttributeIsNull } from '../../utils/paramsValidators';
|
|
4
|
+
import { invalidPromotion } from './promotionValidator';
|
|
5
|
+
export const createPromotion = async (novaDataSource, params, logger) => {
|
|
6
|
+
if (anyAttributeIsNull(params, requiredCreatePromotionParams) ||
|
|
7
|
+
invalidPromotion(params, logger)) {
|
|
8
|
+
logger.warn({ params }, 'PromotionRepository::createPromotion missing required parameters');
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return novaDataSource.safeQuery(async (safeDataSource) => {
|
|
12
|
+
const promotionRepository = safeDataSource.getRepository(Promotion);
|
|
13
|
+
const newPromotion = {
|
|
14
|
+
bannerText: params.bannerText,
|
|
15
|
+
description: params.description,
|
|
16
|
+
discount: params.discount,
|
|
17
|
+
discountBillingCycles: params.discountBillingCycles,
|
|
18
|
+
endDate: params.endDate,
|
|
19
|
+
freeServiceMonths: params.freeServiceMonths,
|
|
20
|
+
name: params.name,
|
|
21
|
+
startDate: params.startDate,
|
|
22
|
+
status: params.status,
|
|
23
|
+
trackerText: params.trackerText,
|
|
24
|
+
type: params.type,
|
|
25
|
+
};
|
|
26
|
+
const createdPromotion = await promotionRepository.save(newPromotion);
|
|
27
|
+
return createdPromotion ?? null;
|
|
28
|
+
}, 'PromotionRepository::createPromotion error');
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=createPromotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/createPromotion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAyB,6BAA6B,EAAE,MAAM,uBAAuB,CAAA;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,cAA8B,EAC9B,MAA6B,EAC7B,MAAc,EACM,EAAE;IACtB,IACE,kBAAkB,CAAwB,MAAM,EAAE,6BAA6B,CAAC;QAChF,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC;QACA,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,kEAAkE,CAAC,CAAA;QAC3F,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,cAA8B,EAAsB,EAAE;QAC3F,MAAM,mBAAmB,GAAG,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAEnE,MAAM,YAAY,GAAG;YACnB,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,CAAA;QAED,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAErE,OAAO,gBAAgB,IAAI,IAAI,CAAA;IACjC,CAAC,EAAE,4CAA4C,CAAC,CAAA;AAClD,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { Logger } from '../../types/logger';
|
|
3
|
+
import { DeleteDeviceTypePromotionParams } from '../../types/promotion';
|
|
4
|
+
export declare const deleteDeviceTypePromotion: (novaDataSource: NovaDataSource, params: DeleteDeviceTypePromotionParams, logger: Logger) => Promise<boolean>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DeviceTypePromotion } from '../../entities/deviceTypePromotion';
|
|
2
|
+
import { oneRequiredDeleteDeviceTypePromotionParams, } from '../../types/promotion';
|
|
3
|
+
import { allAttributesAreNull } from '../../utils/paramsValidators';
|
|
4
|
+
export const deleteDeviceTypePromotion = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (allAttributesAreNull(params, oneRequiredDeleteDeviceTypePromotionParams)) {
|
|
6
|
+
logger.warn({ params }, 'PromotionRepository::deleteDeviceTypePromotion missing required parameters');
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
10
|
+
const tagsRepository = dataSource.getRepository(DeviceTypePromotion);
|
|
11
|
+
const queryBuilder = tagsRepository.createQueryBuilder().delete();
|
|
12
|
+
if (params.promotionId) {
|
|
13
|
+
queryBuilder.where('promotionId = :promotionId', { promotionId: params.promotionId });
|
|
14
|
+
}
|
|
15
|
+
if (params.deviceTypeId) {
|
|
16
|
+
queryBuilder.andWhere('deviceTypeId = :deviceTypeId', { deviceTypeId: params.deviceTypeId });
|
|
17
|
+
}
|
|
18
|
+
const result = await queryBuilder.execute();
|
|
19
|
+
return result.affected > 0;
|
|
20
|
+
}, 'PromotionRepository::deleteDeviceTypePromotion');
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=deleteDeviceTypePromotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteDeviceTypePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/deleteDeviceTypePromotion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAGxE,OAAO,EAEL,0CAA0C,GAC3C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,cAA8B,EAC9B,MAAuC,EACvC,MAAc,EACI,EAAE;IACpB,IAAI,oBAAoB,CAAC,MAAM,EAAE,0CAA0C,CAAC,EAAE;QAC5E,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,4EAA4E,CAC7E,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAA;QAEpE,MAAM,YAAY,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAA;QAEjE,IAAI,MAAM,CAAC,WAAW,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;SACtF;QAED,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,YAAY,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;SAC7F;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5B,CAAC,EAAE,gDAAgD,CAAC,CAAA;AACtD,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { Logger } from '../../types/logger';
|
|
3
|
+
import { DeleteMarketplacePromotionParams } from '../../types/promotion';
|
|
4
|
+
export declare const deleteMarketplacePromotion: (novaDataSource: NovaDataSource, params: DeleteMarketplacePromotionParams, logger: Logger) => Promise<boolean>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MarketplacePromotion } from '../../entities/marketplacePromotion';
|
|
2
|
+
import { oneRequiredDeleteMarketplacePromotionParams, } from '../../types/promotion';
|
|
3
|
+
import { allAttributesAreNull } from '../../utils/paramsValidators';
|
|
4
|
+
export const deleteMarketplacePromotion = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (allAttributesAreNull(params, oneRequiredDeleteMarketplacePromotionParams)) {
|
|
6
|
+
logger.warn({ params }, 'PromotionRepository::deleteMarketplacePromotion missing required parameters');
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
return novaDataSource.safeQuery(async (dataSource) => {
|
|
10
|
+
const tagsRepository = dataSource.getRepository(MarketplacePromotion);
|
|
11
|
+
const queryBuilder = tagsRepository.createQueryBuilder().delete();
|
|
12
|
+
if (params.promotionId) {
|
|
13
|
+
queryBuilder.where('promotionId = :promotionId', { promotionId: params.promotionId });
|
|
14
|
+
}
|
|
15
|
+
if (params.marketplaceId) {
|
|
16
|
+
queryBuilder.andWhere('marketplaceId = :marketplaceId', {
|
|
17
|
+
marketplaceId: params.marketplaceId,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const result = await queryBuilder.execute();
|
|
21
|
+
return result.affected > 0;
|
|
22
|
+
}, 'PromotionRepository::deleteMarketplacePromotion');
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=deleteMarketplacePromotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteMarketplacePromotion.js","sourceRoot":"","sources":["../../../src/repositories/promotions/deleteMarketplacePromotion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAG1E,OAAO,EAEL,2CAA2C,GAC5C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,cAA8B,EAC9B,MAAwC,EACxC,MAAc,EACI,EAAE;IACpB,IAAI,oBAAoB,CAAC,MAAM,EAAE,2CAA2C,CAAC,EAAE;QAC7E,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,6EAA6E,CAC9E,CAAA;QACD,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAA0B,EAAoB,EAAE;QACrF,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAErE,MAAM,YAAY,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAA;QAEjE,IAAI,MAAM,CAAC,WAAW,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;SACtF;QAED,IAAI,MAAM,CAAC,aAAa,EAAE;YACxB,YAAY,CAAC,QAAQ,CAAC,gCAAgC,EAAE;gBACtD,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CAAA;SACH;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5B,CAAC,EAAE,iDAAiD,CAAC,CAAA;AACvD,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DeviceTypePromotion } from '../../entities/deviceTypePromotion';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
import { GetDeviceTypePromotionParams } from '../../types/promotion';
|
|
5
|
+
export declare const getDeviceTypePromotion: (novaDataSource: NovaDataSource, params: GetDeviceTypePromotionParams, logger: Logger) => Promise<DeviceTypePromotion>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DeviceTypePromotion } from '../../entities/deviceTypePromotion';
|
|
2
|
+
import { oneRequiredGetDeviceTypePromotionParams, } from '../../types/promotion';
|
|
3
|
+
import { anyAttributeIsNull } from '../../utils/paramsValidators';
|
|
4
|
+
export const getDeviceTypePromotion = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (anyAttributeIsNull(params, oneRequiredGetDeviceTypePromotionParams)) {
|
|
6
|
+
logger.warn({ params }, 'PromotionRepository::getDeviceTypePromotion missing required parameters');
|
|
7
|
+
return null;
|
|
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 deviceTypePromotionRepository = dataSource.getRepository(DeviceTypePromotion);
|
|
13
|
+
const promotionQueryBuilder = deviceTypePromotionRepository.createQueryBuilder('deviceTypePromotion');
|
|
14
|
+
if (queryRunner) {
|
|
15
|
+
promotionQueryBuilder.setQueryRunner(queryRunner);
|
|
16
|
+
}
|
|
17
|
+
const result = await promotionQueryBuilder
|
|
18
|
+
.where('deviceTypePromotion.promotionId = :promotionId', {
|
|
19
|
+
promotionId: params.filters.promotionId,
|
|
20
|
+
})
|
|
21
|
+
.andWhere('deviceTypePromotion.deviceTypeId = :deviceTypeId', {
|
|
22
|
+
deviceTypeId: params.filters.deviceTypeId,
|
|
23
|
+
})
|
|
24
|
+
.getOne();
|
|
25
|
+
return result ?? null;
|
|
26
|
+
}, 'PromotionRepository::getDeviceTypePromotion', dbQueryRunner);
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=getDeviceTypePromotion.js.map
|
|
@@ -0,0 +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,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,cAA8B,EAC9B,MAAoC,EACpC,MAAc,EACgB,EAAE;IAChC,IAAI,kBAAkB,CAAC,MAAM,EAAE,uCAAuC,CAAC,EAAE;QACvE,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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { MarketplacePromotion } from '../../entities/marketplacePromotion';
|
|
2
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
3
|
+
import { Logger } from '../../types/logger';
|
|
4
|
+
import { GetMarketplacePromotionParams } from '../../types/promotion';
|
|
5
|
+
export declare const getMarketplacePromotion: (novaDataSource: NovaDataSource, params: GetMarketplacePromotionParams, logger: Logger) => Promise<MarketplacePromotion>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { MarketplacePromotion } from '../../entities/marketplacePromotion';
|
|
2
|
+
import { oneRequiredGetMarketplacePromotionParams, } from '../../types/promotion';
|
|
3
|
+
import { anyAttributeIsNull } from '../../utils/paramsValidators';
|
|
4
|
+
export const getMarketplacePromotion = async (novaDataSource, params, logger) => {
|
|
5
|
+
if (anyAttributeIsNull(params, oneRequiredGetMarketplacePromotionParams)) {
|
|
6
|
+
logger.warn({ params }, 'PromotionRepository::getMarketplacePromotion missing required parameters');
|
|
7
|
+
return null;
|
|
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 marketplacePromotionRepository = dataSource.getRepository(MarketplacePromotion);
|
|
13
|
+
const promotionQueryBuilder = marketplacePromotionRepository.createQueryBuilder('marketplacePromotion');
|
|
14
|
+
if (queryRunner) {
|
|
15
|
+
promotionQueryBuilder.setQueryRunner(queryRunner);
|
|
16
|
+
}
|
|
17
|
+
const result = await promotionQueryBuilder
|
|
18
|
+
.where('marketplacePromotion.promotionId = :promotionId', {
|
|
19
|
+
promotionId: params.filters.promotionId,
|
|
20
|
+
})
|
|
21
|
+
.andWhere('marketplacePromotion.marketplaceId = :marketplaceId', {
|
|
22
|
+
marketplaceId: params.filters.marketplaceId,
|
|
23
|
+
})
|
|
24
|
+
.getOne();
|
|
25
|
+
return result ?? null;
|
|
26
|
+
}, 'PromotionRepository::getMarketplacePromotion', dbQueryRunner);
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=getMarketplacePromotion.js.map
|
|
@@ -0,0 +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,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,cAA8B,EAC9B,MAAqC,EACrC,MAAc,EACiB,EAAE;IACjC,IAAI,kBAAkB,CAAC,MAAM,EAAE,wCAAwC,CAAC,EAAE;QACxE,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 { GetPromotionParams } from '../../types/promotion';
|
|
5
|
+
export declare const getPromotion: (novaDataSource: NovaDataSource, params: GetPromotionParams, logger: Logger) => Promise<Promotion>;
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Promotion } from '../../entities';
|
|
2
|
+
import { DeviceTypePromotion } from '../../entities/deviceTypePromotion';
|
|
3
|
+
import { MarketplacePromotion } from '../../entities/marketplacePromotion';
|
|
4
|
+
import { CreateDeviceTypePromotionParams, CreateMarketplacePromotionParams, CreatePromotionParams, DeleteDeviceTypePromotionParams, DeleteMarketplacePromotionParams, GetDeviceTypePromotionParams, GetMarketplacePromotionParams, GetPromotionParams, UpdatePromotionParams } from '../../types/promotion';
|
|
5
|
+
import { BaseRepository } from '../baseRepository';
|
|
6
|
+
export declare class PromotionRepository extends BaseRepository {
|
|
7
|
+
/**
|
|
8
|
+
* Create a promotion
|
|
9
|
+
* @param {CreatePromotionParams} params containing information to create a promotion
|
|
10
|
+
*/
|
|
11
|
+
createPromotion(params: CreatePromotionParams): Promise<Promotion>;
|
|
12
|
+
/**
|
|
13
|
+
* Update a promotion
|
|
14
|
+
* @param {UpdatePromotionParams} params containing information to update a promotion
|
|
15
|
+
*/
|
|
16
|
+
updatePromotion(params: UpdatePromotionParams): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* Get a promotion
|
|
19
|
+
* @param {GetPromotionParams} params containing information to get a promotion
|
|
20
|
+
*/
|
|
21
|
+
getPromotion(params: GetPromotionParams): Promise<Promotion>;
|
|
22
|
+
/**
|
|
23
|
+
* Create a marketplace promotion
|
|
24
|
+
* @param {CreateMarketplacePromotionParams} params containing information to create a marketplace promotion
|
|
25
|
+
*/
|
|
26
|
+
bulkInsertMarketplacePromotion(params: CreateMarketplacePromotionParams): Promise<MarketplacePromotion[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Create a device type promotion
|
|
29
|
+
* @param {CreateDeviceTypePromotionParams} params containing information to create a device type promotion
|
|
30
|
+
*/
|
|
31
|
+
bulkInsertDeviceTypePromotion(params: CreateDeviceTypePromotionParams): Promise<DeviceTypePromotion[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Delete a marketplace promotion
|
|
34
|
+
* @param params containing information to delete a marketplace promotion
|
|
35
|
+
* @returns boolean indicating if the marketplace promotion was deleted
|
|
36
|
+
*/
|
|
37
|
+
deleteMarketplacePromotion(params: DeleteMarketplacePromotionParams): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Delete a device type promotion
|
|
40
|
+
* @param params containing information to delete a device type promotion
|
|
41
|
+
* @returns boolean indicating if the device type promotion was deleted
|
|
42
|
+
*/
|
|
43
|
+
deleteDeviceTypePromotion(params: DeleteDeviceTypePromotionParams): Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* Get a device type promotion
|
|
46
|
+
* @param params containing information to get a device type promotion
|
|
47
|
+
* @returns DeviceTypePromotion object
|
|
48
|
+
*/
|
|
49
|
+
getDeviceTypePromotion(params: GetDeviceTypePromotionParams): Promise<DeviceTypePromotion>;
|
|
50
|
+
/**
|
|
51
|
+
* Get a marketplace promotion
|
|
52
|
+
* @param params containing information to get a marketplace promotion
|
|
53
|
+
* @returns MarketplacePromotion object
|
|
54
|
+
*/
|
|
55
|
+
getMarketplacePromotion(params: GetMarketplacePromotionParams): Promise<MarketplacePromotion>;
|
|
56
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
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 { deleteDeviceTypePromotion } from './deleteDeviceTypePromotion';
|
|
7
|
+
import { deleteMarketplacePromotion } from './deleteMarketplacePromotion';
|
|
8
|
+
import { getDeviceTypePromotion } from './getDeviceTypePromotion';
|
|
9
|
+
import { getMarketplacePromotion } from './getMarketplacePromotion';
|
|
10
|
+
import { getPromotion } from './getPromotion';
|
|
11
|
+
import { updatePromotion } from './updatePromotion';
|
|
12
|
+
export class PromotionRepository extends BaseRepository {
|
|
13
|
+
/**
|
|
14
|
+
* Create a promotion
|
|
15
|
+
* @param {CreatePromotionParams} params containing information to create a promotion
|
|
16
|
+
*/
|
|
17
|
+
async createPromotion(params) {
|
|
18
|
+
this.logger.trace(params, `PromotionRepository::this.createPromotion started with params`);
|
|
19
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
20
|
+
const result = await createPromotion(novaDataSource, params, this.logger);
|
|
21
|
+
this.logger.trace(result, 'PromotionRepository::createPromotion result');
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Update a promotion
|
|
26
|
+
* @param {UpdatePromotionParams} params containing information to update a promotion
|
|
27
|
+
*/
|
|
28
|
+
async updatePromotion(params) {
|
|
29
|
+
this.logger.trace(params, `PromotionRepository::this.updatePromotion started with params`);
|
|
30
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
31
|
+
const result = await updatePromotion(novaDataSource, params, this.logger);
|
|
32
|
+
this.logger.trace({ result }, 'PromotionRepository::updatePromotion result');
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get a promotion
|
|
37
|
+
* @param {GetPromotionParams} params containing information to get a promotion
|
|
38
|
+
*/
|
|
39
|
+
async getPromotion(params) {
|
|
40
|
+
this.logger.trace({ params }, `PromotionRepository::getPromotion started with params`);
|
|
41
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
42
|
+
const promotion = await getPromotion(novaDataSource, params, this.logger);
|
|
43
|
+
this.logger.trace({ promotion }, 'PromotionRepository::getPromotion result');
|
|
44
|
+
return promotion;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create a marketplace promotion
|
|
48
|
+
* @param {CreateMarketplacePromotionParams} params containing information to create a marketplace promotion
|
|
49
|
+
*/
|
|
50
|
+
async bulkInsertMarketplacePromotion(params) {
|
|
51
|
+
this.logger.trace(params, `PromotionRepository.createMarketplacePromotion started with params`);
|
|
52
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
53
|
+
const result = await bulkInsertMarketplacePromotion(novaDataSource, params, this.logger);
|
|
54
|
+
this.logger.trace(result, 'PromotionRepository::createMarketplacePromotion result');
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Create a device type promotion
|
|
59
|
+
* @param {CreateDeviceTypePromotionParams} params containing information to create a device type promotion
|
|
60
|
+
*/
|
|
61
|
+
async bulkInsertDeviceTypePromotion(params) {
|
|
62
|
+
this.logger.trace(params, `PromotionRepository.createDeviceTypePromotion started with params`);
|
|
63
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
64
|
+
const result = await bulkInsertDeviceTypePromotion(novaDataSource, params, this.logger);
|
|
65
|
+
this.logger.trace(result, 'PromotionRepository::createDeviceTypePromotion result');
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Delete a marketplace promotion
|
|
70
|
+
* @param params containing information to delete a marketplace promotion
|
|
71
|
+
* @returns boolean indicating if the marketplace promotion was deleted
|
|
72
|
+
*/
|
|
73
|
+
async deleteMarketplacePromotion(params) {
|
|
74
|
+
this.logger.trace(params, `PromotionRepository.deleteMarketplacePromotion started with params`);
|
|
75
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
76
|
+
const result = await deleteMarketplacePromotion(novaDataSource, params, this.logger);
|
|
77
|
+
this.logger.trace({ result }, 'PromotionRepository::deleteMarketplacePromotion result');
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Delete a device type promotion
|
|
82
|
+
* @param params containing information to delete a device type promotion
|
|
83
|
+
* @returns boolean indicating if the device type promotion was deleted
|
|
84
|
+
*/
|
|
85
|
+
async deleteDeviceTypePromotion(params) {
|
|
86
|
+
this.logger.trace(params, `PromotionRepository.deleteDeviceTypePromotion started with params`);
|
|
87
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
88
|
+
const result = await deleteDeviceTypePromotion(novaDataSource, params, this.logger);
|
|
89
|
+
this.logger.trace({ result }, 'PromotionRepository::deleteDeviceTypePromotion result');
|
|
90
|
+
return result;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get a device type promotion
|
|
94
|
+
* @param params containing information to get a device type promotion
|
|
95
|
+
* @returns DeviceTypePromotion object
|
|
96
|
+
*/
|
|
97
|
+
async getDeviceTypePromotion(params) {
|
|
98
|
+
this.logger.trace(params, `PromotionRepository.getDeviceTypePromotion started with params`);
|
|
99
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
100
|
+
const promotion = await getDeviceTypePromotion(novaDataSource, params, this.logger);
|
|
101
|
+
this.logger.trace({ promotion }, 'PromotionRepository::getDeviceTypePromotion result');
|
|
102
|
+
return promotion;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get a marketplace promotion
|
|
106
|
+
* @param params containing information to get a marketplace promotion
|
|
107
|
+
* @returns MarketplacePromotion object
|
|
108
|
+
*/
|
|
109
|
+
async getMarketplacePromotion(params) {
|
|
110
|
+
this.logger.trace(params, `PromotionRepository.getMarketplacePromotion started with params`);
|
|
111
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
112
|
+
const promotion = await getMarketplacePromotion(novaDataSource, params, this.logger);
|
|
113
|
+
this.logger.trace({ promotion }, 'PromotionRepository::getMarketplacePromotion result');
|
|
114
|
+
return promotion;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# 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"}
|