@fiado/type-kit 3.472.0 → 3.474.0
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/_test_/unit/retailCatalog/accessorySubcategory.test.ts +65 -0
- package/_test_/unit/retailCatalog/catalogDebt.test.ts +123 -0
- package/_test_/unit/retailCatalog/catalogEnums.test.ts +2 -2
- package/_test_/unit/retailCatalog/ventaSaga.test.ts +156 -0
- package/_test_/unit/retailPromotions/computeBudgetUsedBps.test.ts +30 -0
- package/_test_/unit/retailPromotions/constants.test.ts +78 -0
- package/_test_/unit/retailPromotions/discountCodeAndWizardRequests.test.ts +97 -0
- package/_test_/unit/retailPromotions/salePromotionRequests.test.ts +159 -0
- package/_test_/unit/retailWizard/promotionM2mRequests.test.ts +197 -0
- package/_test_/unit/retailWizard/ventaSagaMessages.test.ts +186 -0
- package/_test_/unit/retailWizard/ventaSagaRequests.test.ts +59 -0
- package/_test_/unit/retailWizard/ventaSagaShapes.test.ts +99 -0
- package/bin/index.d.ts +1 -0
- package/bin/index.js +5 -2
- package/bin/retailCatalog/dtos/Product.d.ts +9 -0
- package/bin/retailCatalog/dtos/requests/BackofficeCreateProductRequest.d.ts +12 -0
- package/bin/retailCatalog/dtos/requests/BackofficeCreateProductRequest.js +36 -0
- package/bin/retailCatalog/dtos/requests/BackofficeRegisterAdjustmentRequest.d.ts +2 -0
- package/bin/retailCatalog/dtos/requests/BackofficeRegisterAdjustmentRequest.js +6 -0
- package/bin/retailCatalog/dtos/requests/BackofficeUpdateProductRequest.d.ts +12 -0
- package/bin/retailCatalog/dtos/requests/BackofficeUpdateProductRequest.js +36 -0
- package/bin/retailCatalog/dtos/requests/HoldStockRequest.d.ts +12 -0
- package/bin/retailCatalog/dtos/requests/HoldStockRequest.js +50 -0
- package/bin/retailCatalog/dtos/requests/ReserveStockRequest.d.ts +3 -0
- package/bin/retailCatalog/dtos/requests/ReserveStockRequest.js +6 -0
- package/bin/retailCatalog/dtos/requests/SuggestPiecesQuery.d.ts +2 -0
- package/bin/retailCatalog/dtos/requests/SuggestPiecesQuery.js +6 -0
- package/bin/retailCatalog/dtos/responses/GetInventorySkuResponse.d.ts +3 -0
- package/bin/retailCatalog/dtos/responses/HoldStockResponse.d.ts +8 -0
- package/bin/retailCatalog/dtos/responses/HoldStockResponse.js +2 -0
- package/bin/retailCatalog/dtos/responses/StoreCatalogItem.d.ts +8 -1
- package/bin/retailCatalog/enums/AccessorySubcategoryEnum.d.ts +9 -0
- package/bin/retailCatalog/enums/AccessorySubcategoryEnum.js +13 -0
- package/bin/retailCatalog/enums/InventoryInboundMessageTypeEnum.d.ts +5 -0
- package/bin/retailCatalog/enums/InventoryInboundMessageTypeEnum.js +9 -0
- package/bin/retailCatalog/enums/InventoryItemStatusEnum.d.ts +4 -2
- package/bin/retailCatalog/enums/InventoryItemStatusEnum.js +3 -1
- package/bin/retailCatalog/enums/ReservePurposeEnum.d.ts +4 -0
- package/bin/retailCatalog/enums/ReservePurposeEnum.js +8 -0
- package/bin/retailCatalog/events/InventoryInboundMessage.d.ts +4 -0
- package/bin/retailCatalog/events/InventoryInboundMessage.js +2 -0
- package/bin/retailCatalog/events/InventoryReturnMessage.d.ts +12 -0
- package/bin/retailCatalog/events/InventoryReturnMessage.js +42 -0
- package/bin/retailCatalog/events/InventorySaleAppliedMessage.d.ts +12 -0
- package/bin/retailCatalog/events/InventorySaleAppliedMessage.js +42 -0
- package/bin/retailCatalog/index.d.ts +8 -0
- package/bin/retailCatalog/index.js +9 -0
- package/bin/retailPromotions/constants/bonusPreMoney.d.ts +7 -0
- package/bin/retailPromotions/constants/bonusPreMoney.js +21 -0
- package/bin/retailPromotions/constants/retailPromotionsErrorHttpStatus.d.ts +3 -0
- package/bin/retailPromotions/constants/retailPromotionsErrorHttpStatus.js +27 -0
- package/bin/retailPromotions/constants/salePromotionTransitions.d.ts +7 -0
- package/bin/retailPromotions/constants/salePromotionTransitions.js +13 -0
- package/bin/retailPromotions/dtos/DiscountCode.d.ts +35 -0
- package/bin/retailPromotions/dtos/DiscountCode.js +2 -0
- package/bin/retailPromotions/dtos/DiscountValue.d.ts +7 -0
- package/bin/retailPromotions/dtos/DiscountValue.js +2 -0
- package/bin/retailPromotions/dtos/LinePromotionDiscount.d.ts +10 -0
- package/bin/retailPromotions/dtos/LinePromotionDiscount.js +2 -0
- package/bin/retailPromotions/dtos/SalePromotion.d.ts +35 -0
- package/bin/retailPromotions/dtos/SalePromotion.js +2 -0
- package/bin/retailPromotions/dtos/SalePromotionLevers.d.ts +59 -0
- package/bin/retailPromotions/dtos/SalePromotionLevers.js +2 -0
- package/bin/retailPromotions/dtos/SalePromotionLogEntry.d.ts +18 -0
- package/bin/retailPromotions/dtos/SalePromotionLogEntry.js +2 -0
- package/bin/retailPromotions/dtos/requests/ChangeDiscountCodeStatusRequest.d.ts +6 -0
- package/bin/retailPromotions/dtos/requests/ChangeDiscountCodeStatusRequest.js +30 -0
- package/bin/retailPromotions/dtos/requests/ChangeSalePromotionStatusRequest.d.ts +6 -0
- package/bin/retailPromotions/dtos/requests/ChangeSalePromotionStatusRequest.js +30 -0
- package/bin/retailPromotions/dtos/requests/CreateDiscountCodeRequest.d.ts +17 -0
- package/bin/retailPromotions/dtos/requests/CreateDiscountCodeRequest.js +78 -0
- package/bin/retailPromotions/dtos/requests/CreateSalePromotionRequest.d.ts +19 -0
- package/bin/retailPromotions/dtos/requests/CreateSalePromotionRequest.js +83 -0
- package/bin/retailPromotions/dtos/requests/DiscountValueInput.d.ts +8 -0
- package/bin/retailPromotions/dtos/requests/DiscountValueInput.js +36 -0
- package/bin/retailPromotions/dtos/requests/EvaluateSalePromotionsRequest.d.ts +5 -0
- package/bin/retailPromotions/dtos/requests/EvaluateSalePromotionsRequest.js +31 -0
- package/bin/retailPromotions/dtos/requests/GetSaleCouponQuery.d.ts +4 -0
- package/bin/retailPromotions/dtos/requests/GetSaleCouponQuery.js +25 -0
- package/bin/retailPromotions/dtos/requests/HoldSalePromotionRequest.d.ts +11 -0
- package/bin/retailPromotions/dtos/requests/HoldSalePromotionRequest.js +48 -0
- package/bin/retailPromotions/dtos/requests/ListDiscountCodesQuery.d.ts +10 -0
- package/bin/retailPromotions/dtos/requests/ListDiscountCodesQuery.js +49 -0
- package/bin/retailPromotions/dtos/requests/ListSalePromotionLogQuery.d.ts +8 -0
- package/bin/retailPromotions/dtos/requests/ListSalePromotionLogQuery.js +46 -0
- package/bin/retailPromotions/dtos/requests/ListSalePromotionsQuery.d.ts +7 -0
- package/bin/retailPromotions/dtos/requests/ListSalePromotionsQuery.js +40 -0
- package/bin/retailPromotions/dtos/requests/ListStoreSalePromotionsQuery.d.ts +4 -0
- package/bin/retailPromotions/dtos/requests/ListStoreSalePromotionsQuery.js +24 -0
- package/bin/retailPromotions/dtos/requests/SalePromotionLeversInput.d.ts +41 -0
- package/bin/retailPromotions/dtos/requests/SalePromotionLeversInput.js +166 -0
- package/bin/retailPromotions/dtos/requests/SalePromotionScopeInput.d.ts +14 -0
- package/bin/retailPromotions/dtos/requests/SalePromotionScopeInput.js +65 -0
- package/bin/retailPromotions/dtos/requests/UpdateSalePromotionRequest.d.ts +19 -0
- package/bin/retailPromotions/dtos/requests/UpdateSalePromotionRequest.js +85 -0
- package/bin/retailPromotions/dtos/responses/DiscountCodeResponses.d.ts +7 -0
- package/bin/retailPromotions/dtos/responses/DiscountCodeResponses.js +2 -0
- package/bin/retailPromotions/dtos/responses/SalePromotionCrudResponses.d.ts +30 -0
- package/bin/retailPromotions/dtos/responses/SalePromotionCrudResponses.js +2 -0
- package/bin/retailPromotions/dtos/responses/WizardSalePromotionResponses.d.ts +102 -0
- package/bin/retailPromotions/dtos/responses/WizardSalePromotionResponses.js +2 -0
- package/bin/retailPromotions/enums/CouponScopeEnum.d.ts +11 -0
- package/bin/retailPromotions/enums/CouponScopeEnum.js +15 -0
- package/bin/retailPromotions/enums/CouponStatusEnum.d.ts +11 -0
- package/bin/retailPromotions/enums/CouponStatusEnum.js +15 -0
- package/bin/retailPromotions/enums/DiscountCodeOriginEnum.d.ts +8 -0
- package/bin/retailPromotions/enums/DiscountCodeOriginEnum.js +12 -0
- package/bin/retailPromotions/enums/DiscountCodeStatusEnum.d.ts +11 -0
- package/bin/retailPromotions/enums/DiscountCodeStatusEnum.js +15 -0
- package/bin/retailPromotions/enums/DiscountCodeTransitionEnum.d.ts +7 -0
- package/bin/retailPromotions/enums/DiscountCodeTransitionEnum.js +11 -0
- package/bin/retailPromotions/enums/DiscountTypeEnum.d.ts +8 -0
- package/bin/retailPromotions/enums/DiscountTypeEnum.js +12 -0
- package/bin/retailPromotions/enums/EntitlementKindEnum.d.ts +9 -0
- package/bin/retailPromotions/enums/EntitlementKindEnum.js +13 -0
- package/bin/retailPromotions/enums/EntitlementStateEnum.d.ts +13 -0
- package/bin/retailPromotions/enums/EntitlementStateEnum.js +17 -0
- package/bin/retailPromotions/enums/GiftModeEnum.d.ts +8 -0
- package/bin/retailPromotions/enums/GiftModeEnum.js +12 -0
- package/bin/retailPromotions/enums/PromotionAppliesToEnum.d.ts +9 -0
- package/bin/retailPromotions/enums/PromotionAppliesToEnum.js +13 -0
- package/bin/retailPromotions/enums/RetailPromotionsErrorCodeEnum.d.ts +29 -0
- package/bin/retailPromotions/enums/RetailPromotionsErrorCodeEnum.js +33 -0
- package/bin/retailPromotions/enums/SaleCouponAvailabilityEnum.d.ts +10 -0
- package/bin/retailPromotions/enums/SaleCouponAvailabilityEnum.js +14 -0
- package/bin/retailPromotions/enums/SalePromotionLeverEnum.d.ts +13 -0
- package/bin/retailPromotions/enums/SalePromotionLeverEnum.js +17 -0
- package/bin/retailPromotions/enums/SalePromotionLogEventEnum.d.ts +14 -0
- package/bin/retailPromotions/enums/SalePromotionLogEventEnum.js +18 -0
- package/bin/retailPromotions/enums/SalePromotionLogFormatEnum.d.ts +5 -0
- package/bin/retailPromotions/enums/SalePromotionLogFormatEnum.js +9 -0
- package/bin/retailPromotions/enums/SalePromotionPhaseEnum.d.ts +11 -0
- package/bin/retailPromotions/enums/SalePromotionPhaseEnum.js +15 -0
- package/bin/retailPromotions/enums/SalePromotionStatusEnum.d.ts +12 -0
- package/bin/retailPromotions/enums/SalePromotionStatusEnum.js +16 -0
- package/bin/retailPromotions/enums/SalePromotionTransitionEnum.d.ts +13 -0
- package/bin/retailPromotions/enums/SalePromotionTransitionEnum.js +17 -0
- package/bin/retailPromotions/helpers/computeBudgetUsedBps.d.ts +3 -0
- package/bin/retailPromotions/helpers/computeBudgetUsedBps.js +15 -0
- package/bin/retailPromotions/helpers/resolveSalePromotionTransition.d.ts +4 -0
- package/bin/retailPromotions/helpers/resolveSalePromotionTransition.js +9 -0
- package/bin/retailPromotions/index.d.ts +47 -0
- package/bin/retailPromotions/index.js +68 -0
- package/bin/retailWizard/dtos/Sale.d.ts +8 -8
- package/bin/retailWizard/dtos/SaleLine.d.ts +4 -1
- package/bin/retailWizard/dtos/WizardFinancingPreview.d.ts +11 -0
- package/bin/retailWizard/dtos/WizardFinancingPreview.js +2 -0
- package/bin/retailWizard/dtos/WizardGiftLine.d.ts +10 -0
- package/bin/retailWizard/dtos/WizardGiftLine.js +2 -0
- package/bin/retailWizard/dtos/WizardLinePromotionFields.d.ts +15 -0
- package/bin/retailWizard/dtos/WizardLinePromotionFields.js +2 -0
- package/bin/retailWizard/dtos/WizardReservedLine.d.ts +4 -1
- package/bin/retailWizard/dtos/WizardSession.d.ts +10 -0
- package/bin/retailWizard/dtos/requests/AddProductRequest.d.ts +2 -0
- package/bin/retailWizard/dtos/requests/AddProductRequest.js +7 -0
- package/bin/retailWizard/dtos/requests/ApplyLinePromotionRequest.d.ts +14 -0
- package/bin/retailWizard/dtos/requests/ApplyLinePromotionRequest.js +57 -0
- package/bin/retailWizard/dtos/requests/ApplySalePromotionRequest.d.ts +9 -0
- package/bin/retailWizard/dtos/requests/ApplySalePromotionRequest.js +36 -0
- package/bin/retailWizard/dtos/requests/PinSessionPiecesRequest.d.ts +14 -0
- package/bin/retailWizard/dtos/requests/PinSessionPiecesRequest.js +60 -0
- package/bin/retailWizard/dtos/requests/QuoteRequest.d.ts +1 -1
- package/bin/retailWizard/dtos/requests/SetAnchorGiftsRequest.d.ts +14 -0
- package/bin/retailWizard/dtos/requests/SetAnchorGiftsRequest.js +56 -0
- package/bin/retailWizard/dtos/responses/PrivateWizardSessionResponse.d.ts +29 -0
- package/bin/retailWizard/dtos/responses/PrivateWizardSessionResponse.js +2 -0
- package/bin/retailWizard/dtos/responses/SetAnchorGiftsResponse.d.ts +5 -0
- package/bin/retailWizard/dtos/responses/SetAnchorGiftsResponse.js +2 -0
- package/bin/retailWizard/enums/RetailPromotionInboundMessageTypeEnum.d.ts +5 -0
- package/bin/retailWizard/enums/RetailPromotionInboundMessageTypeEnum.js +9 -0
- package/bin/retailWizard/enums/WizardLineRoleEnum.d.ts +4 -0
- package/bin/retailWizard/enums/WizardLineRoleEnum.js +8 -0
- package/bin/retailWizard/events/RetailCommissionInboundMessage.d.ts +19 -0
- package/bin/retailWizard/events/RetailCommissionInboundMessage.js +78 -0
- package/bin/retailWizard/events/RetailPromotionInboundMessage.d.ts +40 -0
- package/bin/retailWizard/events/RetailPromotionInboundMessage.js +162 -0
- package/bin/retailWizard/events/SaleCompletedV1.d.ts +2 -3
- package/bin/retailWizard/index.d.ts +13 -0
- package/bin/retailWizard/index.js +14 -0
- package/package.json +1 -1
- package/src/index.ts +3 -0
- package/src/retailCatalog/dtos/Product.ts +9 -0
- package/src/retailCatalog/dtos/requests/BackofficeCreateProductRequest.ts +36 -1
- package/src/retailCatalog/dtos/requests/BackofficeRegisterAdjustmentRequest.ts +6 -0
- package/src/retailCatalog/dtos/requests/BackofficeUpdateProductRequest.ts +36 -1
- package/src/retailCatalog/dtos/requests/HoldStockRequest.ts +31 -0
- package/src/retailCatalog/dtos/requests/ReserveStockRequest.ts +7 -1
- package/src/retailCatalog/dtos/requests/SuggestPiecesQuery.ts +7 -1
- package/src/retailCatalog/dtos/responses/GetInventorySkuResponse.ts +3 -0
- package/src/retailCatalog/dtos/responses/HoldStockResponse.ts +9 -0
- package/src/retailCatalog/dtos/responses/StoreCatalogItem.ts +9 -1
- package/src/retailCatalog/enums/AccessorySubcategoryEnum.ts +9 -0
- package/src/retailCatalog/enums/InventoryInboundMessageTypeEnum.ts +5 -0
- package/src/retailCatalog/enums/InventoryItemStatusEnum.ts +3 -1
- package/src/retailCatalog/enums/ReservePurposeEnum.ts +4 -0
- package/src/retailCatalog/events/InventoryInboundMessage.ts +5 -0
- package/src/retailCatalog/events/InventoryReturnMessage.ts +26 -0
- package/src/retailCatalog/events/InventorySaleAppliedMessage.ts +26 -0
- package/src/retailCatalog/index.ts +10 -0
- package/src/retailPromotions/constants/bonusPreMoney.ts +19 -0
- package/src/retailPromotions/constants/retailPromotionsErrorHttpStatus.ts +25 -0
- package/src/retailPromotions/constants/salePromotionTransitions.ts +11 -0
- package/src/retailPromotions/dtos/DiscountCode.ts +36 -0
- package/src/retailPromotions/dtos/DiscountValue.ts +8 -0
- package/src/retailPromotions/dtos/LinePromotionDiscount.ts +10 -0
- package/src/retailPromotions/dtos/SalePromotion.ts +36 -0
- package/src/retailPromotions/dtos/SalePromotionLevers.ts +68 -0
- package/src/retailPromotions/dtos/SalePromotionLogEntry.ts +19 -0
- package/src/retailPromotions/dtos/requests/ChangeDiscountCodeStatusRequest.ts +15 -0
- package/src/retailPromotions/dtos/requests/ChangeSalePromotionStatusRequest.ts +15 -0
- package/src/retailPromotions/dtos/requests/CreateDiscountCodeRequest.ts +71 -0
- package/src/retailPromotions/dtos/requests/CreateSalePromotionRequest.ts +73 -0
- package/src/retailPromotions/dtos/requests/DiscountValueInput.ts +21 -0
- package/src/retailPromotions/dtos/requests/EvaluateSalePromotionsRequest.ts +16 -0
- package/src/retailPromotions/dtos/requests/GetSaleCouponQuery.ts +11 -0
- package/src/retailPromotions/dtos/requests/HoldSalePromotionRequest.ts +32 -0
- package/src/retailPromotions/dtos/requests/ListDiscountCodesQuery.ts +33 -0
- package/src/retailPromotions/dtos/requests/ListSalePromotionLogQuery.ts +29 -0
- package/src/retailPromotions/dtos/requests/ListSalePromotionsQuery.ts +24 -0
- package/src/retailPromotions/dtos/requests/ListStoreSalePromotionsQuery.ts +10 -0
- package/src/retailPromotions/dtos/requests/SalePromotionLeversInput.ts +135 -0
- package/src/retailPromotions/dtos/requests/SalePromotionScopeInput.ts +45 -0
- package/src/retailPromotions/dtos/requests/UpdateSalePromotionRequest.ts +74 -0
- package/src/retailPromotions/dtos/responses/DiscountCodeResponses.ts +9 -0
- package/src/retailPromotions/dtos/responses/SalePromotionCrudResponses.ts +35 -0
- package/src/retailPromotions/dtos/responses/WizardSalePromotionResponses.ts +115 -0
- package/src/retailPromotions/enums/CouponScopeEnum.ts +11 -0
- package/src/retailPromotions/enums/CouponStatusEnum.ts +11 -0
- package/src/retailPromotions/enums/DiscountCodeOriginEnum.ts +8 -0
- package/src/retailPromotions/enums/DiscountCodeStatusEnum.ts +11 -0
- package/src/retailPromotions/enums/DiscountCodeTransitionEnum.ts +7 -0
- package/src/retailPromotions/enums/DiscountTypeEnum.ts +8 -0
- package/src/retailPromotions/enums/EntitlementKindEnum.ts +9 -0
- package/src/retailPromotions/enums/EntitlementStateEnum.ts +13 -0
- package/src/retailPromotions/enums/GiftModeEnum.ts +8 -0
- package/src/retailPromotions/enums/PromotionAppliesToEnum.ts +9 -0
- package/src/retailPromotions/enums/RetailPromotionsErrorCodeEnum.ts +29 -0
- package/src/retailPromotions/enums/SaleCouponAvailabilityEnum.ts +10 -0
- package/src/retailPromotions/enums/SalePromotionLeverEnum.ts +13 -0
- package/src/retailPromotions/enums/SalePromotionLogEventEnum.ts +14 -0
- package/src/retailPromotions/enums/SalePromotionLogFormatEnum.ts +5 -0
- package/src/retailPromotions/enums/SalePromotionPhaseEnum.ts +11 -0
- package/src/retailPromotions/enums/SalePromotionStatusEnum.ts +12 -0
- package/src/retailPromotions/enums/SalePromotionTransitionEnum.ts +13 -0
- package/src/retailPromotions/helpers/computeBudgetUsedBps.ts +15 -0
- package/src/retailPromotions/helpers/resolveSalePromotionTransition.ts +12 -0
- package/src/retailPromotions/index.ts +56 -0
- package/src/retailWizard/dtos/Sale.ts +8 -8
- package/src/retailWizard/dtos/SaleLine.ts +4 -1
- package/src/retailWizard/dtos/WizardFinancingPreview.ts +12 -0
- package/src/retailWizard/dtos/WizardGiftLine.ts +11 -0
- package/src/retailWizard/dtos/WizardLinePromotionFields.ts +16 -0
- package/src/retailWizard/dtos/WizardReservedLine.ts +4 -1
- package/src/retailWizard/dtos/WizardSession.ts +10 -0
- package/src/retailWizard/dtos/requests/AddProductRequest.ts +8 -1
- package/src/retailWizard/dtos/requests/ApplyLinePromotionRequest.ts +44 -0
- package/src/retailWizard/dtos/requests/ApplySalePromotionRequest.ts +24 -0
- package/src/retailWizard/dtos/requests/PinSessionPiecesRequest.ts +40 -0
- package/src/retailWizard/dtos/requests/QuoteRequest.ts +1 -1
- package/src/retailWizard/dtos/requests/SetAnchorGiftsRequest.ts +40 -0
- package/src/retailWizard/dtos/responses/PrivateWizardSessionResponse.ts +30 -0
- package/src/retailWizard/dtos/responses/SetAnchorGiftsResponse.ts +6 -0
- package/src/retailWizard/enums/RetailPromotionInboundMessageTypeEnum.ts +5 -0
- package/src/retailWizard/enums/WizardLineRoleEnum.ts +4 -0
- package/src/retailWizard/events/RetailCommissionInboundMessage.ts +54 -0
- package/src/retailWizard/events/RetailPromotionInboundMessage.ts +140 -0
- package/src/retailWizard/events/SaleCompletedV1.ts +2 -3
- package/src/retailWizard/index.ts +15 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { WizardLineRoleEnum } from '../enums/WizardLineRoleEnum';
|
|
2
|
+
/** Campos de Promociones en la línea de sesión y de venta; solo los escribe su endpoint M2M. */
|
|
3
|
+
export interface WizardLinePromotionFields {
|
|
4
|
+
role?: WizardLineRoleEnum;
|
|
5
|
+
promotionId?: string;
|
|
6
|
+
promotionVersion?: number;
|
|
7
|
+
/** Línea ancla a la que va ligado el regalo. */
|
|
8
|
+
linkedLineId?: string;
|
|
9
|
+
/** Solo en la línea ancla. */
|
|
10
|
+
discountCode?: string;
|
|
11
|
+
/** Descuento total de la línea; neto = basePriceCents × qty − discountCents. */
|
|
12
|
+
discountCents?: number;
|
|
13
|
+
/** Precio antes del descuento; en un regalo, el valor de lista con la línea a $0. */
|
|
14
|
+
originalPriceCents?: number;
|
|
15
|
+
}
|
|
@@ -4,8 +4,9 @@ import type { LinePaymentTypeEnum } from '../enums/LinePaymentTypeEnum';
|
|
|
4
4
|
import type { WizardLineStatusEnum } from '../enums/WizardLineStatusEnum';
|
|
5
5
|
import type { WizardLineIdentifiers } from './WizardLineIdentifiers';
|
|
6
6
|
import type { WizardLineProduct } from './WizardLineProduct';
|
|
7
|
+
import type { WizardLinePromotionFields } from './WizardLinePromotionFields';
|
|
7
8
|
/** Línea de la venta en curso; los campos de precio son `null` mientras la línea está PENDING. */
|
|
8
|
-
export interface WizardReservedLine {
|
|
9
|
+
export interface WizardReservedLine extends WizardLinePromotionFields {
|
|
9
10
|
lineId: string;
|
|
10
11
|
sku: string;
|
|
11
12
|
qty: number;
|
|
@@ -26,6 +27,8 @@ export interface WizardReservedLine {
|
|
|
26
27
|
paymentType: LinePaymentTypeEnum | null;
|
|
27
28
|
/** Ítems que la línea suma al tope de 100 de la venta. */
|
|
28
29
|
sellItemCost: number | null;
|
|
30
|
+
/** Parte financiada de la línea; se escribe al cotizar y se congela con el crédito. */
|
|
31
|
+
financedCents?: number;
|
|
29
32
|
mdmEnabled?: boolean;
|
|
30
33
|
mdmProvider?: MdmProviderEnum | null;
|
|
31
34
|
/** Solo si la línea es un kit. */
|
|
@@ -6,6 +6,7 @@ import type { ExternalProviderEnum } from '../enums/ExternalProviderEnum';
|
|
|
6
6
|
import type { OccupationEnum } from '../enums/OccupationEnum';
|
|
7
7
|
import type { WizardBlockedSummary } from './WizardBlocked';
|
|
8
8
|
import type { WizardConsents } from './WizardConsents';
|
|
9
|
+
import type { WizardFinancingPreview } from './WizardFinancingPreview';
|
|
9
10
|
import type { WizardLoan } from './WizardLoan';
|
|
10
11
|
import type { WizardPayment } from './WizardPayment';
|
|
11
12
|
import type { WizardProduct } from './WizardProduct';
|
|
@@ -113,6 +114,15 @@ export interface WizardSession {
|
|
|
113
114
|
reservedLines?: WizardReservedLine[];
|
|
114
115
|
/** Línea elegida para financiar; `null` si la venta es de contado o aún no se elige. */
|
|
115
116
|
financedLineId?: string | null;
|
|
117
|
+
/** Reparto provisional mientras haya líneas; se calcula al leer, no se persiste. */
|
|
118
|
+
financingPreview?: WizardFinancingPreview | null;
|
|
119
|
+
/** Marca de la saga: todas las piezas rastreadas de las líneas vivas quedaron HELD. */
|
|
120
|
+
piecesHeldAt?: string | null;
|
|
121
|
+
/** Promo de venta que fijó Promociones; `null` = ninguna. */
|
|
122
|
+
salePromotionId?: string | null;
|
|
123
|
+
salePromotionVersion?: number | null;
|
|
124
|
+
/** Enganche cobrado que queda por reembolsar tras cancelar. */
|
|
125
|
+
refundPendingCents?: number;
|
|
116
126
|
paymentMethod: PaymentMethodEnum | null;
|
|
117
127
|
externalProvider: ExternalProviderEnum | null;
|
|
118
128
|
/** Folio de cobro server-side (D11), idempotente, sobrevive al volver atrás. */
|
|
@@ -44,3 +44,10 @@ __decorate([
|
|
|
44
44
|
(0, class_validator_1.Min)(1),
|
|
45
45
|
__metadata("design:type", Number)
|
|
46
46
|
], AddProductRequest.prototype, "qty", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_transformer_1.Expose)(),
|
|
49
|
+
(0, class_validator_1.IsOptional)(),
|
|
50
|
+
(0, class_validator_1.IsString)(),
|
|
51
|
+
(0, class_validator_1.MinLength)(1),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], AddProductRequest.prototype, "replacesLineId", void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PUT …/lines/{lineId}/promotion (privateApplyLinePromotion): reemplaza la promo de la línea por valor.
|
|
3
|
+
* Un campo ausente queda borrado; no toca role ni linkedLineId. `tenantId` va en el query.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ApplyLinePromotionRequest {
|
|
6
|
+
promotionId?: string;
|
|
7
|
+
/** Va junto con promotionId; las versiones de Promociones empiezan en 1. */
|
|
8
|
+
promotionVersion?: number;
|
|
9
|
+
/** Solo en la línea ancla. */
|
|
10
|
+
discountCode?: string;
|
|
11
|
+
/** Descuento total de la línea; 0 mientras el código espera revalidarse. */
|
|
12
|
+
discountCents?: number;
|
|
13
|
+
originalPriceCents?: number;
|
|
14
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ApplyLinePromotionRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const hasPromotion = (o) => o.promotionId !== undefined || o.promotionVersion !== undefined;
|
|
16
|
+
/**
|
|
17
|
+
* PUT …/lines/{lineId}/promotion (privateApplyLinePromotion): reemplaza la promo de la línea por valor.
|
|
18
|
+
* Un campo ausente queda borrado; no toca role ni linkedLineId. `tenantId` va en el query.
|
|
19
|
+
*/
|
|
20
|
+
class ApplyLinePromotionRequest {
|
|
21
|
+
}
|
|
22
|
+
exports.ApplyLinePromotionRequest = ApplyLinePromotionRequest;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
(0, class_validator_1.ValidateIf)(hasPromotion),
|
|
26
|
+
(0, class_validator_1.IsString)(),
|
|
27
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], ApplyLinePromotionRequest.prototype, "promotionId", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
(0, class_validator_1.ValidateIf)(hasPromotion),
|
|
33
|
+
(0, class_validator_1.IsInt)(),
|
|
34
|
+
(0, class_validator_1.Min)(1),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], ApplyLinePromotionRequest.prototype, "promotionVersion", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_transformer_1.Expose)(),
|
|
39
|
+
(0, class_validator_1.IsOptional)(),
|
|
40
|
+
(0, class_validator_1.IsString)(),
|
|
41
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], ApplyLinePromotionRequest.prototype, "discountCode", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, class_transformer_1.Expose)(),
|
|
46
|
+
(0, class_validator_1.IsOptional)(),
|
|
47
|
+
(0, class_validator_1.IsInt)(),
|
|
48
|
+
(0, class_validator_1.Min)(0),
|
|
49
|
+
__metadata("design:type", Number)
|
|
50
|
+
], ApplyLinePromotionRequest.prototype, "discountCents", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, class_transformer_1.Expose)(),
|
|
53
|
+
(0, class_validator_1.IsOptional)(),
|
|
54
|
+
(0, class_validator_1.IsInt)(),
|
|
55
|
+
(0, class_validator_1.Min)(0),
|
|
56
|
+
__metadata("design:type", Number)
|
|
57
|
+
], ApplyLinePromotionRequest.prototype, "originalPriceCents", void 0);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PUT /private/wizard/sessions/{id}/sale-promotion (privateApplySalePromotion, M2M de Promociones).
|
|
3
|
+
* Ambos en `null` = «Ninguna»; la versión va solo con la promo. `tenantId` va en el query.
|
|
4
|
+
* Responde 204 sin body.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ApplySalePromotionRequest {
|
|
7
|
+
salePromotionId: string | null;
|
|
8
|
+
salePromotionVersion: number | null;
|
|
9
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ApplySalePromotionRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* PUT /private/wizard/sessions/{id}/sale-promotion (privateApplySalePromotion, M2M de Promociones).
|
|
17
|
+
* Ambos en `null` = «Ninguna»; la versión va solo con la promo. `tenantId` va en el query.
|
|
18
|
+
* Responde 204 sin body.
|
|
19
|
+
*/
|
|
20
|
+
class ApplySalePromotionRequest {
|
|
21
|
+
}
|
|
22
|
+
exports.ApplySalePromotionRequest = ApplySalePromotionRequest;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
(0, class_validator_1.ValidateIf)((o) => o.salePromotionId !== null || (o.salePromotionVersion !== null && o.salePromotionVersion !== undefined)),
|
|
26
|
+
(0, class_validator_1.IsString)(),
|
|
27
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], ApplySalePromotionRequest.prototype, "salePromotionId", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
(0, class_validator_1.ValidateIf)((o) => o.salePromotionId !== null && o.salePromotionId !== undefined),
|
|
33
|
+
(0, class_validator_1.IsInt)(),
|
|
34
|
+
(0, class_validator_1.Min)(1),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], ApplySalePromotionRequest.prototype, "salePromotionVersion", void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Componente de la línea con los identificadores de sus piezas. */
|
|
2
|
+
export declare class PinSessionPiecesComponent {
|
|
3
|
+
sku: string;
|
|
4
|
+
identifiers: string[];
|
|
5
|
+
}
|
|
6
|
+
/** Línea de la sesión cuyas piezas se fijan. */
|
|
7
|
+
export declare class PinSessionPiecesLine {
|
|
8
|
+
lineId: string;
|
|
9
|
+
components: PinSessionPiecesComponent[];
|
|
10
|
+
}
|
|
11
|
+
/** POST /wizard/sessions/:id/pieces (publicPinSessionPieces) — deja HELD las piezas de las líneas. */
|
|
12
|
+
export declare class PinSessionPiecesRequest {
|
|
13
|
+
lines: PinSessionPiecesLine[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PinSessionPiecesRequest = exports.PinSessionPiecesLine = exports.PinSessionPiecesComponent = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Componente de la línea con los identificadores de sus piezas. */
|
|
16
|
+
class PinSessionPiecesComponent {
|
|
17
|
+
}
|
|
18
|
+
exports.PinSessionPiecesComponent = PinSessionPiecesComponent;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_validator_1.IsString)(),
|
|
22
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], PinSessionPiecesComponent.prototype, "sku", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
(0, class_validator_1.IsArray)(),
|
|
28
|
+
(0, class_validator_1.IsString)({ each: true }),
|
|
29
|
+
__metadata("design:type", Array)
|
|
30
|
+
], PinSessionPiecesComponent.prototype, "identifiers", void 0);
|
|
31
|
+
/** Línea de la sesión cuyas piezas se fijan. */
|
|
32
|
+
class PinSessionPiecesLine {
|
|
33
|
+
}
|
|
34
|
+
exports.PinSessionPiecesLine = PinSessionPiecesLine;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, class_transformer_1.Expose)(),
|
|
37
|
+
(0, class_validator_1.IsString)(),
|
|
38
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], PinSessionPiecesLine.prototype, "lineId", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, class_transformer_1.Expose)(),
|
|
43
|
+
(0, class_validator_1.IsArray)(),
|
|
44
|
+
(0, class_validator_1.ArrayMinSize)(1),
|
|
45
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
46
|
+
(0, class_transformer_1.Type)(() => PinSessionPiecesComponent),
|
|
47
|
+
__metadata("design:type", Array)
|
|
48
|
+
], PinSessionPiecesLine.prototype, "components", void 0);
|
|
49
|
+
/** POST /wizard/sessions/:id/pieces (publicPinSessionPieces) — deja HELD las piezas de las líneas. */
|
|
50
|
+
class PinSessionPiecesRequest {
|
|
51
|
+
}
|
|
52
|
+
exports.PinSessionPiecesRequest = PinSessionPiecesRequest;
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, class_transformer_1.Expose)(),
|
|
55
|
+
(0, class_validator_1.IsArray)(),
|
|
56
|
+
(0, class_validator_1.ArrayMinSize)(1),
|
|
57
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
58
|
+
(0, class_transformer_1.Type)(() => PinSessionPiecesLine),
|
|
59
|
+
__metadata("design:type", Array)
|
|
60
|
+
], PinSessionPiecesRequest.prototype, "lines", void 0);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Un regalo del conjunto que queda ligado al ancla. */
|
|
2
|
+
export declare class AnchorGiftItem {
|
|
3
|
+
sku: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* PUT /private/wizard/sessions/{id}/lines/{anchorLineId}/gifts (M2M de Promociones).
|
|
7
|
+
* Deja exactamente esos GIFT en el ancla; `items: []` suelta todos. `tenantId` va en el query.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SetAnchorGiftsRequest {
|
|
10
|
+
/** Obligatorio si hay regalos; puede ir `null` con `items: []`. */
|
|
11
|
+
promotionId: string | null;
|
|
12
|
+
promotionVersion: number | null;
|
|
13
|
+
items: AnchorGiftItem[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SetAnchorGiftsRequest = exports.AnchorGiftItem = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Un regalo del conjunto que queda ligado al ancla. */
|
|
16
|
+
class AnchorGiftItem {
|
|
17
|
+
}
|
|
18
|
+
exports.AnchorGiftItem = AnchorGiftItem;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_validator_1.IsString)(),
|
|
22
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], AnchorGiftItem.prototype, "sku", void 0);
|
|
25
|
+
/** Hay que validar el campo si hay regalos o si vino con valor. */
|
|
26
|
+
function mustValidate(o, value) {
|
|
27
|
+
return (Array.isArray(o.items) && o.items.length > 0) || (value !== null && value !== undefined);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* PUT /private/wizard/sessions/{id}/lines/{anchorLineId}/gifts (M2M de Promociones).
|
|
31
|
+
* Deja exactamente esos GIFT en el ancla; `items: []` suelta todos. `tenantId` va en el query.
|
|
32
|
+
*/
|
|
33
|
+
class SetAnchorGiftsRequest {
|
|
34
|
+
}
|
|
35
|
+
exports.SetAnchorGiftsRequest = SetAnchorGiftsRequest;
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
(0, class_validator_1.ValidateIf)((o) => mustValidate(o, o.promotionId)),
|
|
39
|
+
(0, class_validator_1.IsString)(),
|
|
40
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], SetAnchorGiftsRequest.prototype, "promotionId", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, class_transformer_1.Expose)(),
|
|
45
|
+
(0, class_validator_1.ValidateIf)((o) => mustValidate(o, o.promotionVersion)),
|
|
46
|
+
(0, class_validator_1.IsInt)(),
|
|
47
|
+
(0, class_validator_1.Min)(1),
|
|
48
|
+
__metadata("design:type", Number)
|
|
49
|
+
], SetAnchorGiftsRequest.prototype, "promotionVersion", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, class_transformer_1.Expose)(),
|
|
52
|
+
(0, class_validator_1.IsArray)(),
|
|
53
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
54
|
+
(0, class_transformer_1.Type)(() => AnchorGiftItem),
|
|
55
|
+
__metadata("design:type", Array)
|
|
56
|
+
], SetAnchorGiftsRequest.prototype, "items", void 0);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { PaymentMethodEnum } from '../../enums/PaymentMethodEnum';
|
|
2
|
+
import type { WizardStateEnum } from '../../enums/WizardStateEnum';
|
|
3
|
+
import type { WizardStepEnum } from '../../enums/WizardStepEnum';
|
|
4
|
+
import type { WizardPayment } from '../WizardPayment';
|
|
5
|
+
import type { WizardReservedLine } from '../WizardReservedLine';
|
|
6
|
+
/** GET /private/wizard/sessions/{id} (privateGetWizardSession): lo que Promociones lee de la sesión. */
|
|
7
|
+
export interface PrivateWizardSessionResponse {
|
|
8
|
+
sessionId: string;
|
|
9
|
+
retailerId: string;
|
|
10
|
+
storeId: string;
|
|
11
|
+
/** `null` mientras el KYC no dé de alta al cliente. */
|
|
12
|
+
retailCustomerId: string | null;
|
|
13
|
+
state: WizardStateEnum;
|
|
14
|
+
currentStep: WizardStepEnum;
|
|
15
|
+
/** `loan.creditId`; `null` en contado o antes de originar. */
|
|
16
|
+
creditId: string | null;
|
|
17
|
+
/** Línea ancla (teléfono o kit) que deriva el servidor; `null` si aún no hay. */
|
|
18
|
+
anchorLineId: string | null;
|
|
19
|
+
salePromotionId: string | null;
|
|
20
|
+
salePromotionVersion: number | null;
|
|
21
|
+
/** Líneas vivas con los campos de Promociones y financedCents. */
|
|
22
|
+
lines: WizardReservedLine[];
|
|
23
|
+
fiadoDirectoryId?: string | null;
|
|
24
|
+
folio?: string | null;
|
|
25
|
+
/** Forma de pago que eligió el vendedor; existe antes que `creditId`. */
|
|
26
|
+
paymentMethod?: PaymentMethodEnum | null;
|
|
27
|
+
/** Cobro de contado; `null` mientras no se cobra. */
|
|
28
|
+
payment?: WizardPayment | null;
|
|
29
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RetailPromotionInboundMessageTypeEnum = void 0;
|
|
4
|
+
/** Tipo de mensaje que el wizard publica en la cola de Promociones. */
|
|
5
|
+
var RetailPromotionInboundMessageTypeEnum;
|
|
6
|
+
(function (RetailPromotionInboundMessageTypeEnum) {
|
|
7
|
+
RetailPromotionInboundMessageTypeEnum["SALE_CONFIRMED"] = "SALE_CONFIRMED";
|
|
8
|
+
RetailPromotionInboundMessageTypeEnum["SALE_CANCELLED"] = "SALE_CANCELLED";
|
|
9
|
+
})(RetailPromotionInboundMessageTypeEnum || (exports.RetailPromotionInboundMessageTypeEnum = RetailPromotionInboundMessageTypeEnum = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WizardLineRoleEnum = void 0;
|
|
4
|
+
/** Papel especial de una línea; sin `role` es una línea normal. */
|
|
5
|
+
var WizardLineRoleEnum;
|
|
6
|
+
(function (WizardLineRoleEnum) {
|
|
7
|
+
WizardLineRoleEnum["GIFT"] = "GIFT";
|
|
8
|
+
})(WizardLineRoleEnum || (exports.WizardLineRoleEnum = WizardLineRoleEnum = {}));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ItemTypeEnum } from '../../retailCatalog/enums/ItemTypeEnum';
|
|
2
|
+
/** Línea vendida en el mensaje de comisiones. */
|
|
3
|
+
export declare class RetailCommissionInboundLine {
|
|
4
|
+
sku: string;
|
|
5
|
+
qty: number;
|
|
6
|
+
/** Precio neto de la línea (precio − descuento). */
|
|
7
|
+
netCents: number;
|
|
8
|
+
itemType: ItemTypeEnum;
|
|
9
|
+
}
|
|
10
|
+
/** Venta de la saga que el wizard publica en la cola de comisiones, con sus líneas. */
|
|
11
|
+
export declare class RetailCommissionInboundMessage {
|
|
12
|
+
tenantId: string;
|
|
13
|
+
retailerId: string;
|
|
14
|
+
storeId: string;
|
|
15
|
+
saleId: string;
|
|
16
|
+
sessionId: string;
|
|
17
|
+
soldAt: string;
|
|
18
|
+
lines: RetailCommissionInboundLine[];
|
|
19
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RetailCommissionInboundMessage = exports.RetailCommissionInboundLine = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const ItemTypeEnum_1 = require("../../retailCatalog/enums/ItemTypeEnum");
|
|
16
|
+
/** Línea vendida en el mensaje de comisiones. */
|
|
17
|
+
class RetailCommissionInboundLine {
|
|
18
|
+
}
|
|
19
|
+
exports.RetailCommissionInboundLine = RetailCommissionInboundLine;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_validator_1.IsString)(),
|
|
22
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], RetailCommissionInboundLine.prototype, "sku", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_validator_1.IsInt)(),
|
|
27
|
+
(0, class_validator_1.Min)(1),
|
|
28
|
+
__metadata("design:type", Number)
|
|
29
|
+
], RetailCommissionInboundLine.prototype, "qty", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.IsInt)(),
|
|
32
|
+
(0, class_validator_1.Min)(0),
|
|
33
|
+
__metadata("design:type", Number)
|
|
34
|
+
], RetailCommissionInboundLine.prototype, "netCents", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, class_validator_1.IsEnum)(ItemTypeEnum_1.ItemTypeEnum),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], RetailCommissionInboundLine.prototype, "itemType", void 0);
|
|
39
|
+
/** Venta de la saga que el wizard publica en la cola de comisiones, con sus líneas. */
|
|
40
|
+
class RetailCommissionInboundMessage {
|
|
41
|
+
}
|
|
42
|
+
exports.RetailCommissionInboundMessage = RetailCommissionInboundMessage;
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, class_validator_1.IsString)(),
|
|
45
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], RetailCommissionInboundMessage.prototype, "tenantId", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, class_validator_1.IsString)(),
|
|
50
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], RetailCommissionInboundMessage.prototype, "retailerId", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, class_validator_1.IsString)(),
|
|
55
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], RetailCommissionInboundMessage.prototype, "storeId", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, class_validator_1.IsString)(),
|
|
60
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
61
|
+
__metadata("design:type", String)
|
|
62
|
+
], RetailCommissionInboundMessage.prototype, "saleId", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, class_validator_1.IsString)(),
|
|
65
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
66
|
+
__metadata("design:type", String)
|
|
67
|
+
], RetailCommissionInboundMessage.prototype, "sessionId", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, class_validator_1.IsISO8601)(),
|
|
70
|
+
__metadata("design:type", String)
|
|
71
|
+
], RetailCommissionInboundMessage.prototype, "soldAt", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, class_validator_1.IsArray)(),
|
|
74
|
+
(0, class_validator_1.ArrayMinSize)(1),
|
|
75
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
76
|
+
(0, class_transformer_1.Type)(() => RetailCommissionInboundLine),
|
|
77
|
+
__metadata("design:type", Array)
|
|
78
|
+
], RetailCommissionInboundMessage.prototype, "lines", void 0);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { RetailPromotionInboundMessageTypeEnum } from '../enums/RetailPromotionInboundMessageTypeEnum';
|
|
2
|
+
import { WizardLineRoleEnum } from '../enums/WizardLineRoleEnum';
|
|
3
|
+
/** Línea de la venta en el mensaje de Promociones. */
|
|
4
|
+
export declare class RetailPromotionInboundLine {
|
|
5
|
+
lineId: string;
|
|
6
|
+
sku: string;
|
|
7
|
+
qty: number;
|
|
8
|
+
role?: WizardLineRoleEnum;
|
|
9
|
+
linkedLineId?: string;
|
|
10
|
+
promotionId?: string;
|
|
11
|
+
promotionVersion?: number;
|
|
12
|
+
/** Solo en la línea ancla. */
|
|
13
|
+
discountCode?: string;
|
|
14
|
+
discountCents?: number;
|
|
15
|
+
/** Si la línea no lo trae, basePriceCents × qty. */
|
|
16
|
+
originalPriceCents: number;
|
|
17
|
+
/** Identificadores de todos los componentes de la línea, aplanados. */
|
|
18
|
+
identifiers: string[];
|
|
19
|
+
/** Solo en SALE_CANCELLED: la pieza regresó al inventario. */
|
|
20
|
+
returned?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** Venta confirmada o cancelada que el wizard publica en RetailPromotionInboundQueue; crédito = trae creditId. */
|
|
23
|
+
export declare class RetailPromotionInboundMessage {
|
|
24
|
+
type: RetailPromotionInboundMessageTypeEnum;
|
|
25
|
+
tenantId: string;
|
|
26
|
+
retailerId: string;
|
|
27
|
+
storeId: string;
|
|
28
|
+
saleId: string;
|
|
29
|
+
sessionId: string;
|
|
30
|
+
/** El retailCustomerId de la venta. */
|
|
31
|
+
customerId: string;
|
|
32
|
+
soldAt: string;
|
|
33
|
+
/** soldAt en la confirmación; cancelledAt en la cancelación. */
|
|
34
|
+
occurredAt: string;
|
|
35
|
+
creditId?: string;
|
|
36
|
+
fiadoDirectoryId?: string;
|
|
37
|
+
salePromotionId?: string | null;
|
|
38
|
+
salePromotionVersion?: number | null;
|
|
39
|
+
lines: RetailPromotionInboundLine[];
|
|
40
|
+
}
|