@fiado/type-kit 3.472.0 → 3.473.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.
Files changed (261) hide show
  1. package/_test_/unit/retailCatalog/catalogDebt.test.ts +123 -0
  2. package/_test_/unit/retailCatalog/catalogEnums.test.ts +2 -2
  3. package/_test_/unit/retailCatalog/ventaSaga.test.ts +152 -0
  4. package/_test_/unit/retailPromotions/computeBudgetUsedBps.test.ts +30 -0
  5. package/_test_/unit/retailPromotions/constants.test.ts +71 -0
  6. package/_test_/unit/retailPromotions/discountCodeAndWizardRequests.test.ts +84 -0
  7. package/_test_/unit/retailPromotions/salePromotionRequests.test.ts +151 -0
  8. package/_test_/unit/retailWizard/promotionM2mRequests.test.ts +189 -0
  9. package/_test_/unit/retailWizard/ventaSagaMessages.test.ts +163 -0
  10. package/_test_/unit/retailWizard/ventaSagaRequests.test.ts +59 -0
  11. package/_test_/unit/retailWizard/ventaSagaShapes.test.ts +99 -0
  12. package/bin/index.d.ts +1 -0
  13. package/bin/index.js +5 -2
  14. package/bin/retailCatalog/dtos/Product.d.ts +6 -0
  15. package/bin/retailCatalog/dtos/requests/BackofficeCreateProductRequest.d.ts +9 -0
  16. package/bin/retailCatalog/dtos/requests/BackofficeCreateProductRequest.js +30 -0
  17. package/bin/retailCatalog/dtos/requests/BackofficeRegisterAdjustmentRequest.d.ts +2 -0
  18. package/bin/retailCatalog/dtos/requests/BackofficeRegisterAdjustmentRequest.js +6 -0
  19. package/bin/retailCatalog/dtos/requests/BackofficeUpdateProductRequest.d.ts +9 -0
  20. package/bin/retailCatalog/dtos/requests/BackofficeUpdateProductRequest.js +30 -0
  21. package/bin/retailCatalog/dtos/requests/HoldStockRequest.d.ts +12 -0
  22. package/bin/retailCatalog/dtos/requests/HoldStockRequest.js +47 -0
  23. package/bin/retailCatalog/dtos/requests/ReserveStockRequest.d.ts +3 -0
  24. package/bin/retailCatalog/dtos/requests/ReserveStockRequest.js +6 -0
  25. package/bin/retailCatalog/dtos/requests/SuggestPiecesQuery.d.ts +2 -0
  26. package/bin/retailCatalog/dtos/requests/SuggestPiecesQuery.js +6 -0
  27. package/bin/retailCatalog/dtos/responses/GetInventorySkuResponse.d.ts +3 -0
  28. package/bin/retailCatalog/dtos/responses/HoldStockResponse.d.ts +8 -0
  29. package/bin/retailCatalog/dtos/responses/HoldStockResponse.js +2 -0
  30. package/bin/retailCatalog/dtos/responses/StoreCatalogItem.d.ts +5 -1
  31. package/bin/retailCatalog/enums/InventoryInboundMessageTypeEnum.d.ts +5 -0
  32. package/bin/retailCatalog/enums/InventoryInboundMessageTypeEnum.js +9 -0
  33. package/bin/retailCatalog/enums/InventoryItemStatusEnum.d.ts +4 -2
  34. package/bin/retailCatalog/enums/InventoryItemStatusEnum.js +3 -1
  35. package/bin/retailCatalog/enums/ReservePurposeEnum.d.ts +4 -0
  36. package/bin/retailCatalog/enums/ReservePurposeEnum.js +8 -0
  37. package/bin/retailCatalog/events/InventoryInboundMessage.d.ts +4 -0
  38. package/bin/retailCatalog/events/InventoryInboundMessage.js +2 -0
  39. package/bin/retailCatalog/events/InventoryReturnMessage.d.ts +12 -0
  40. package/bin/retailCatalog/events/InventoryReturnMessage.js +42 -0
  41. package/bin/retailCatalog/events/InventorySaleAppliedMessage.d.ts +12 -0
  42. package/bin/retailCatalog/events/InventorySaleAppliedMessage.js +42 -0
  43. package/bin/retailCatalog/index.d.ts +7 -0
  44. package/bin/retailCatalog/index.js +8 -0
  45. package/bin/retailPromotions/constants/bonusPreMoney.d.ts +7 -0
  46. package/bin/retailPromotions/constants/bonusPreMoney.js +21 -0
  47. package/bin/retailPromotions/constants/retailPromotionsErrorHttpStatus.d.ts +3 -0
  48. package/bin/retailPromotions/constants/retailPromotionsErrorHttpStatus.js +23 -0
  49. package/bin/retailPromotions/constants/salePromotionTransitions.d.ts +7 -0
  50. package/bin/retailPromotions/constants/salePromotionTransitions.js +13 -0
  51. package/bin/retailPromotions/dtos/DiscountCode.d.ts +35 -0
  52. package/bin/retailPromotions/dtos/DiscountCode.js +2 -0
  53. package/bin/retailPromotions/dtos/DiscountValue.d.ts +7 -0
  54. package/bin/retailPromotions/dtos/DiscountValue.js +2 -0
  55. package/bin/retailPromotions/dtos/LinePromotionDiscount.d.ts +10 -0
  56. package/bin/retailPromotions/dtos/LinePromotionDiscount.js +2 -0
  57. package/bin/retailPromotions/dtos/SalePromotion.d.ts +35 -0
  58. package/bin/retailPromotions/dtos/SalePromotion.js +2 -0
  59. package/bin/retailPromotions/dtos/SalePromotionLevers.d.ts +58 -0
  60. package/bin/retailPromotions/dtos/SalePromotionLevers.js +2 -0
  61. package/bin/retailPromotions/dtos/SalePromotionLogEntry.d.ts +18 -0
  62. package/bin/retailPromotions/dtos/SalePromotionLogEntry.js +2 -0
  63. package/bin/retailPromotions/dtos/requests/ChangeDiscountCodeStatusRequest.d.ts +6 -0
  64. package/bin/retailPromotions/dtos/requests/ChangeDiscountCodeStatusRequest.js +30 -0
  65. package/bin/retailPromotions/dtos/requests/ChangeSalePromotionStatusRequest.d.ts +6 -0
  66. package/bin/retailPromotions/dtos/requests/ChangeSalePromotionStatusRequest.js +30 -0
  67. package/bin/retailPromotions/dtos/requests/CreateDiscountCodeRequest.d.ts +17 -0
  68. package/bin/retailPromotions/dtos/requests/CreateDiscountCodeRequest.js +78 -0
  69. package/bin/retailPromotions/dtos/requests/CreateSalePromotionRequest.d.ts +19 -0
  70. package/bin/retailPromotions/dtos/requests/CreateSalePromotionRequest.js +83 -0
  71. package/bin/retailPromotions/dtos/requests/DiscountValueInput.d.ts +8 -0
  72. package/bin/retailPromotions/dtos/requests/DiscountValueInput.js +36 -0
  73. package/bin/retailPromotions/dtos/requests/EvaluateSalePromotionsRequest.d.ts +5 -0
  74. package/bin/retailPromotions/dtos/requests/EvaluateSalePromotionsRequest.js +31 -0
  75. package/bin/retailPromotions/dtos/requests/HoldSalePromotionRequest.d.ts +11 -0
  76. package/bin/retailPromotions/dtos/requests/HoldSalePromotionRequest.js +48 -0
  77. package/bin/retailPromotions/dtos/requests/ListDiscountCodesQuery.d.ts +10 -0
  78. package/bin/retailPromotions/dtos/requests/ListDiscountCodesQuery.js +49 -0
  79. package/bin/retailPromotions/dtos/requests/ListSalePromotionLogQuery.d.ts +8 -0
  80. package/bin/retailPromotions/dtos/requests/ListSalePromotionLogQuery.js +46 -0
  81. package/bin/retailPromotions/dtos/requests/ListSalePromotionsQuery.d.ts +7 -0
  82. package/bin/retailPromotions/dtos/requests/ListSalePromotionsQuery.js +40 -0
  83. package/bin/retailPromotions/dtos/requests/ListStoreSalePromotionsQuery.d.ts +4 -0
  84. package/bin/retailPromotions/dtos/requests/ListStoreSalePromotionsQuery.js +24 -0
  85. package/bin/retailPromotions/dtos/requests/SalePromotionLeversInput.d.ts +40 -0
  86. package/bin/retailPromotions/dtos/requests/SalePromotionLeversInput.js +166 -0
  87. package/bin/retailPromotions/dtos/requests/SalePromotionScopeInput.d.ts +14 -0
  88. package/bin/retailPromotions/dtos/requests/SalePromotionScopeInput.js +65 -0
  89. package/bin/retailPromotions/dtos/requests/UpdateSalePromotionRequest.d.ts +19 -0
  90. package/bin/retailPromotions/dtos/requests/UpdateSalePromotionRequest.js +85 -0
  91. package/bin/retailPromotions/dtos/responses/DiscountCodeResponses.d.ts +7 -0
  92. package/bin/retailPromotions/dtos/responses/DiscountCodeResponses.js +2 -0
  93. package/bin/retailPromotions/dtos/responses/SalePromotionCrudResponses.d.ts +30 -0
  94. package/bin/retailPromotions/dtos/responses/SalePromotionCrudResponses.js +2 -0
  95. package/bin/retailPromotions/dtos/responses/WizardSalePromotionResponses.d.ts +102 -0
  96. package/bin/retailPromotions/dtos/responses/WizardSalePromotionResponses.js +2 -0
  97. package/bin/retailPromotions/enums/CouponScopeEnum.d.ts +11 -0
  98. package/bin/retailPromotions/enums/CouponScopeEnum.js +15 -0
  99. package/bin/retailPromotions/enums/CouponStatusEnum.d.ts +11 -0
  100. package/bin/retailPromotions/enums/CouponStatusEnum.js +15 -0
  101. package/bin/retailPromotions/enums/DiscountCodeOriginEnum.d.ts +8 -0
  102. package/bin/retailPromotions/enums/DiscountCodeOriginEnum.js +12 -0
  103. package/bin/retailPromotions/enums/DiscountCodeStatusEnum.d.ts +11 -0
  104. package/bin/retailPromotions/enums/DiscountCodeStatusEnum.js +15 -0
  105. package/bin/retailPromotions/enums/DiscountCodeTransitionEnum.d.ts +7 -0
  106. package/bin/retailPromotions/enums/DiscountCodeTransitionEnum.js +11 -0
  107. package/bin/retailPromotions/enums/DiscountTypeEnum.d.ts +8 -0
  108. package/bin/retailPromotions/enums/DiscountTypeEnum.js +12 -0
  109. package/bin/retailPromotions/enums/EntitlementKindEnum.d.ts +9 -0
  110. package/bin/retailPromotions/enums/EntitlementKindEnum.js +13 -0
  111. package/bin/retailPromotions/enums/EntitlementStateEnum.d.ts +13 -0
  112. package/bin/retailPromotions/enums/EntitlementStateEnum.js +17 -0
  113. package/bin/retailPromotions/enums/GiftModeEnum.d.ts +8 -0
  114. package/bin/retailPromotions/enums/GiftModeEnum.js +12 -0
  115. package/bin/retailPromotions/enums/PromotionAppliesToEnum.d.ts +9 -0
  116. package/bin/retailPromotions/enums/PromotionAppliesToEnum.js +13 -0
  117. package/bin/retailPromotions/enums/RetailPromotionsErrorCodeEnum.d.ts +23 -0
  118. package/bin/retailPromotions/enums/RetailPromotionsErrorCodeEnum.js +27 -0
  119. package/bin/retailPromotions/enums/SaleCouponAvailabilityEnum.d.ts +10 -0
  120. package/bin/retailPromotions/enums/SaleCouponAvailabilityEnum.js +14 -0
  121. package/bin/retailPromotions/enums/SalePromotionLeverEnum.d.ts +13 -0
  122. package/bin/retailPromotions/enums/SalePromotionLeverEnum.js +17 -0
  123. package/bin/retailPromotions/enums/SalePromotionLogEventEnum.d.ts +14 -0
  124. package/bin/retailPromotions/enums/SalePromotionLogEventEnum.js +18 -0
  125. package/bin/retailPromotions/enums/SalePromotionLogFormatEnum.d.ts +5 -0
  126. package/bin/retailPromotions/enums/SalePromotionLogFormatEnum.js +9 -0
  127. package/bin/retailPromotions/enums/SalePromotionPhaseEnum.d.ts +11 -0
  128. package/bin/retailPromotions/enums/SalePromotionPhaseEnum.js +15 -0
  129. package/bin/retailPromotions/enums/SalePromotionStatusEnum.d.ts +12 -0
  130. package/bin/retailPromotions/enums/SalePromotionStatusEnum.js +16 -0
  131. package/bin/retailPromotions/enums/SalePromotionTransitionEnum.d.ts +13 -0
  132. package/bin/retailPromotions/enums/SalePromotionTransitionEnum.js +17 -0
  133. package/bin/retailPromotions/helpers/computeBudgetUsedBps.d.ts +3 -0
  134. package/bin/retailPromotions/helpers/computeBudgetUsedBps.js +15 -0
  135. package/bin/retailPromotions/helpers/resolveSalePromotionTransition.d.ts +4 -0
  136. package/bin/retailPromotions/helpers/resolveSalePromotionTransition.js +9 -0
  137. package/bin/retailPromotions/index.d.ts +46 -0
  138. package/bin/retailPromotions/index.js +67 -0
  139. package/bin/retailWizard/dtos/Sale.d.ts +8 -8
  140. package/bin/retailWizard/dtos/SaleLine.d.ts +4 -1
  141. package/bin/retailWizard/dtos/WizardFinancingPreview.d.ts +11 -0
  142. package/bin/retailWizard/dtos/WizardFinancingPreview.js +2 -0
  143. package/bin/retailWizard/dtos/WizardGiftLine.d.ts +8 -0
  144. package/bin/retailWizard/dtos/WizardGiftLine.js +2 -0
  145. package/bin/retailWizard/dtos/WizardLinePromotionFields.d.ts +15 -0
  146. package/bin/retailWizard/dtos/WizardLinePromotionFields.js +2 -0
  147. package/bin/retailWizard/dtos/WizardReservedLine.d.ts +4 -1
  148. package/bin/retailWizard/dtos/WizardSession.d.ts +10 -0
  149. package/bin/retailWizard/dtos/requests/AddProductRequest.d.ts +2 -0
  150. package/bin/retailWizard/dtos/requests/AddProductRequest.js +7 -0
  151. package/bin/retailWizard/dtos/requests/ApplyLinePromotionRequest.d.ts +15 -0
  152. package/bin/retailWizard/dtos/requests/ApplyLinePromotionRequest.js +58 -0
  153. package/bin/retailWizard/dtos/requests/ApplySalePromotionRequest.d.ts +9 -0
  154. package/bin/retailWizard/dtos/requests/ApplySalePromotionRequest.js +36 -0
  155. package/bin/retailWizard/dtos/requests/PinSessionPiecesRequest.d.ts +14 -0
  156. package/bin/retailWizard/dtos/requests/PinSessionPiecesRequest.js +60 -0
  157. package/bin/retailWizard/dtos/requests/QuoteRequest.d.ts +1 -1
  158. package/bin/retailWizard/dtos/requests/SetAnchorGiftsRequest.d.ts +14 -0
  159. package/bin/retailWizard/dtos/requests/SetAnchorGiftsRequest.js +56 -0
  160. package/bin/retailWizard/dtos/responses/PrivateWizardSessionResponse.d.ts +29 -0
  161. package/bin/retailWizard/dtos/responses/PrivateWizardSessionResponse.js +2 -0
  162. package/bin/retailWizard/dtos/responses/SetAnchorGiftsResponse.d.ts +5 -0
  163. package/bin/retailWizard/dtos/responses/SetAnchorGiftsResponse.js +2 -0
  164. package/bin/retailWizard/enums/RetailPromotionInboundMessageTypeEnum.d.ts +5 -0
  165. package/bin/retailWizard/enums/RetailPromotionInboundMessageTypeEnum.js +9 -0
  166. package/bin/retailWizard/enums/WizardLineRoleEnum.d.ts +4 -0
  167. package/bin/retailWizard/enums/WizardLineRoleEnum.js +8 -0
  168. package/bin/retailWizard/events/RetailCommissionInboundMessage.d.ts +19 -0
  169. package/bin/retailWizard/events/RetailCommissionInboundMessage.js +78 -0
  170. package/bin/retailWizard/events/RetailPromotionInboundMessage.d.ts +40 -0
  171. package/bin/retailWizard/events/RetailPromotionInboundMessage.js +160 -0
  172. package/bin/retailWizard/events/SaleCompletedV1.d.ts +2 -3
  173. package/bin/retailWizard/index.d.ts +13 -0
  174. package/bin/retailWizard/index.js +14 -0
  175. package/package.json +1 -1
  176. package/src/index.ts +3 -0
  177. package/src/retailCatalog/dtos/Product.ts +6 -0
  178. package/src/retailCatalog/dtos/requests/BackofficeCreateProductRequest.ts +30 -1
  179. package/src/retailCatalog/dtos/requests/BackofficeRegisterAdjustmentRequest.ts +6 -0
  180. package/src/retailCatalog/dtos/requests/BackofficeUpdateProductRequest.ts +30 -1
  181. package/src/retailCatalog/dtos/requests/HoldStockRequest.ts +28 -0
  182. package/src/retailCatalog/dtos/requests/ReserveStockRequest.ts +7 -1
  183. package/src/retailCatalog/dtos/requests/SuggestPiecesQuery.ts +7 -1
  184. package/src/retailCatalog/dtos/responses/GetInventorySkuResponse.ts +3 -0
  185. package/src/retailCatalog/dtos/responses/HoldStockResponse.ts +9 -0
  186. package/src/retailCatalog/dtos/responses/StoreCatalogItem.ts +6 -1
  187. package/src/retailCatalog/enums/InventoryInboundMessageTypeEnum.ts +5 -0
  188. package/src/retailCatalog/enums/InventoryItemStatusEnum.ts +3 -1
  189. package/src/retailCatalog/enums/ReservePurposeEnum.ts +4 -0
  190. package/src/retailCatalog/events/InventoryInboundMessage.ts +5 -0
  191. package/src/retailCatalog/events/InventoryReturnMessage.ts +26 -0
  192. package/src/retailCatalog/events/InventorySaleAppliedMessage.ts +26 -0
  193. package/src/retailCatalog/index.ts +9 -0
  194. package/src/retailPromotions/constants/bonusPreMoney.ts +19 -0
  195. package/src/retailPromotions/constants/retailPromotionsErrorHttpStatus.ts +21 -0
  196. package/src/retailPromotions/constants/salePromotionTransitions.ts +11 -0
  197. package/src/retailPromotions/dtos/DiscountCode.ts +36 -0
  198. package/src/retailPromotions/dtos/DiscountValue.ts +8 -0
  199. package/src/retailPromotions/dtos/LinePromotionDiscount.ts +10 -0
  200. package/src/retailPromotions/dtos/SalePromotion.ts +36 -0
  201. package/src/retailPromotions/dtos/SalePromotionLevers.ts +67 -0
  202. package/src/retailPromotions/dtos/SalePromotionLogEntry.ts +19 -0
  203. package/src/retailPromotions/dtos/requests/ChangeDiscountCodeStatusRequest.ts +15 -0
  204. package/src/retailPromotions/dtos/requests/ChangeSalePromotionStatusRequest.ts +15 -0
  205. package/src/retailPromotions/dtos/requests/CreateDiscountCodeRequest.ts +71 -0
  206. package/src/retailPromotions/dtos/requests/CreateSalePromotionRequest.ts +73 -0
  207. package/src/retailPromotions/dtos/requests/DiscountValueInput.ts +21 -0
  208. package/src/retailPromotions/dtos/requests/EvaluateSalePromotionsRequest.ts +16 -0
  209. package/src/retailPromotions/dtos/requests/HoldSalePromotionRequest.ts +32 -0
  210. package/src/retailPromotions/dtos/requests/ListDiscountCodesQuery.ts +33 -0
  211. package/src/retailPromotions/dtos/requests/ListSalePromotionLogQuery.ts +29 -0
  212. package/src/retailPromotions/dtos/requests/ListSalePromotionsQuery.ts +24 -0
  213. package/src/retailPromotions/dtos/requests/ListStoreSalePromotionsQuery.ts +10 -0
  214. package/src/retailPromotions/dtos/requests/SalePromotionLeversInput.ts +136 -0
  215. package/src/retailPromotions/dtos/requests/SalePromotionScopeInput.ts +45 -0
  216. package/src/retailPromotions/dtos/requests/UpdateSalePromotionRequest.ts +74 -0
  217. package/src/retailPromotions/dtos/responses/DiscountCodeResponses.ts +9 -0
  218. package/src/retailPromotions/dtos/responses/SalePromotionCrudResponses.ts +35 -0
  219. package/src/retailPromotions/dtos/responses/WizardSalePromotionResponses.ts +115 -0
  220. package/src/retailPromotions/enums/CouponScopeEnum.ts +11 -0
  221. package/src/retailPromotions/enums/CouponStatusEnum.ts +11 -0
  222. package/src/retailPromotions/enums/DiscountCodeOriginEnum.ts +8 -0
  223. package/src/retailPromotions/enums/DiscountCodeStatusEnum.ts +11 -0
  224. package/src/retailPromotions/enums/DiscountCodeTransitionEnum.ts +7 -0
  225. package/src/retailPromotions/enums/DiscountTypeEnum.ts +8 -0
  226. package/src/retailPromotions/enums/EntitlementKindEnum.ts +9 -0
  227. package/src/retailPromotions/enums/EntitlementStateEnum.ts +13 -0
  228. package/src/retailPromotions/enums/GiftModeEnum.ts +8 -0
  229. package/src/retailPromotions/enums/PromotionAppliesToEnum.ts +9 -0
  230. package/src/retailPromotions/enums/RetailPromotionsErrorCodeEnum.ts +23 -0
  231. package/src/retailPromotions/enums/SaleCouponAvailabilityEnum.ts +10 -0
  232. package/src/retailPromotions/enums/SalePromotionLeverEnum.ts +13 -0
  233. package/src/retailPromotions/enums/SalePromotionLogEventEnum.ts +14 -0
  234. package/src/retailPromotions/enums/SalePromotionLogFormatEnum.ts +5 -0
  235. package/src/retailPromotions/enums/SalePromotionPhaseEnum.ts +11 -0
  236. package/src/retailPromotions/enums/SalePromotionStatusEnum.ts +12 -0
  237. package/src/retailPromotions/enums/SalePromotionTransitionEnum.ts +13 -0
  238. package/src/retailPromotions/helpers/computeBudgetUsedBps.ts +15 -0
  239. package/src/retailPromotions/helpers/resolveSalePromotionTransition.ts +12 -0
  240. package/src/retailPromotions/index.ts +55 -0
  241. package/src/retailWizard/dtos/Sale.ts +8 -8
  242. package/src/retailWizard/dtos/SaleLine.ts +4 -1
  243. package/src/retailWizard/dtos/WizardFinancingPreview.ts +12 -0
  244. package/src/retailWizard/dtos/WizardGiftLine.ts +9 -0
  245. package/src/retailWizard/dtos/WizardLinePromotionFields.ts +16 -0
  246. package/src/retailWizard/dtos/WizardReservedLine.ts +4 -1
  247. package/src/retailWizard/dtos/WizardSession.ts +10 -0
  248. package/src/retailWizard/dtos/requests/AddProductRequest.ts +8 -1
  249. package/src/retailWizard/dtos/requests/ApplyLinePromotionRequest.ts +45 -0
  250. package/src/retailWizard/dtos/requests/ApplySalePromotionRequest.ts +24 -0
  251. package/src/retailWizard/dtos/requests/PinSessionPiecesRequest.ts +40 -0
  252. package/src/retailWizard/dtos/requests/QuoteRequest.ts +1 -1
  253. package/src/retailWizard/dtos/requests/SetAnchorGiftsRequest.ts +40 -0
  254. package/src/retailWizard/dtos/responses/PrivateWizardSessionResponse.ts +30 -0
  255. package/src/retailWizard/dtos/responses/SetAnchorGiftsResponse.ts +6 -0
  256. package/src/retailWizard/enums/RetailPromotionInboundMessageTypeEnum.ts +5 -0
  257. package/src/retailWizard/enums/WizardLineRoleEnum.ts +4 -0
  258. package/src/retailWizard/events/RetailCommissionInboundMessage.ts +54 -0
  259. package/src/retailWizard/events/RetailPromotionInboundMessage.ts +138 -0
  260. package/src/retailWizard/events/SaleCompletedV1.ts +2 -3
  261. package/src/retailWizard/index.ts +15 -0
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Enums
18
+ __exportStar(require("./enums/SalePromotionStatusEnum"), exports);
19
+ __exportStar(require("./enums/SalePromotionTransitionEnum"), exports);
20
+ __exportStar(require("./enums/SalePromotionPhaseEnum"), exports);
21
+ __exportStar(require("./enums/SalePromotionLeverEnum"), exports);
22
+ __exportStar(require("./enums/SalePromotionLogEventEnum"), exports);
23
+ __exportStar(require("./enums/SalePromotionLogFormatEnum"), exports);
24
+ __exportStar(require("./enums/DiscountTypeEnum"), exports);
25
+ __exportStar(require("./enums/GiftModeEnum"), exports);
26
+ __exportStar(require("./enums/PromotionAppliesToEnum"), exports);
27
+ __exportStar(require("./enums/CouponScopeEnum"), exports);
28
+ __exportStar(require("./enums/CouponStatusEnum"), exports);
29
+ __exportStar(require("./enums/DiscountCodeStatusEnum"), exports);
30
+ __exportStar(require("./enums/DiscountCodeOriginEnum"), exports);
31
+ __exportStar(require("./enums/DiscountCodeTransitionEnum"), exports);
32
+ __exportStar(require("./enums/EntitlementStateEnum"), exports);
33
+ __exportStar(require("./enums/EntitlementKindEnum"), exports);
34
+ __exportStar(require("./enums/SaleCouponAvailabilityEnum"), exports);
35
+ __exportStar(require("./enums/RetailPromotionsErrorCodeEnum"), exports);
36
+ // Constantes y helpers puros
37
+ __exportStar(require("./constants/retailPromotionsErrorHttpStatus"), exports);
38
+ __exportStar(require("./constants/salePromotionTransitions"), exports);
39
+ __exportStar(require("./constants/bonusPreMoney"), exports);
40
+ __exportStar(require("./helpers/resolveSalePromotionTransition"), exports);
41
+ __exportStar(require("./helpers/computeBudgetUsedBps"), exports);
42
+ // Entidades del dominio
43
+ __exportStar(require("./dtos/DiscountValue"), exports);
44
+ __exportStar(require("./dtos/SalePromotionLevers"), exports);
45
+ __exportStar(require("./dtos/SalePromotion"), exports);
46
+ __exportStar(require("./dtos/SalePromotionLogEntry"), exports);
47
+ __exportStar(require("./dtos/DiscountCode"), exports);
48
+ __exportStar(require("./dtos/LinePromotionDiscount"), exports);
49
+ // Request DTOs
50
+ __exportStar(require("./dtos/requests/DiscountValueInput"), exports);
51
+ __exportStar(require("./dtos/requests/SalePromotionLeversInput"), exports);
52
+ __exportStar(require("./dtos/requests/SalePromotionScopeInput"), exports);
53
+ __exportStar(require("./dtos/requests/CreateSalePromotionRequest"), exports);
54
+ __exportStar(require("./dtos/requests/UpdateSalePromotionRequest"), exports);
55
+ __exportStar(require("./dtos/requests/ChangeSalePromotionStatusRequest"), exports);
56
+ __exportStar(require("./dtos/requests/ListSalePromotionsQuery"), exports);
57
+ __exportStar(require("./dtos/requests/ListSalePromotionLogQuery"), exports);
58
+ __exportStar(require("./dtos/requests/CreateDiscountCodeRequest"), exports);
59
+ __exportStar(require("./dtos/requests/ListDiscountCodesQuery"), exports);
60
+ __exportStar(require("./dtos/requests/ChangeDiscountCodeStatusRequest"), exports);
61
+ __exportStar(require("./dtos/requests/ListStoreSalePromotionsQuery"), exports);
62
+ __exportStar(require("./dtos/requests/EvaluateSalePromotionsRequest"), exports);
63
+ __exportStar(require("./dtos/requests/HoldSalePromotionRequest"), exports);
64
+ // Response DTOs
65
+ __exportStar(require("./dtos/responses/SalePromotionCrudResponses"), exports);
66
+ __exportStar(require("./dtos/responses/DiscountCodeResponses"), exports);
67
+ __exportStar(require("./dtos/responses/WizardSalePromotionResponses"), exports);
@@ -26,18 +26,18 @@ export interface Sale {
26
26
  skus?: string[];
27
27
  /** La cancelación aún no confirma la devolución al inventario. */
28
28
  inventoryReturnPending?: boolean;
29
+ /** Venta de la saga: el inventario se aplica y se devuelve por la cola, no por HTTP. */
30
+ inventoryViaQueue?: boolean;
31
+ /** Promo de venta congelada al cerrar; `null` = ninguna. */
32
+ salePromotionId?: string | null;
33
+ salePromotionVersion?: number | null;
29
34
  /** IMEI consumido del silo también en contado (local-first); null en EXTERNAL_REFERRAL (D15). */
30
35
  imei: string | null;
31
- /**
32
- * Lo COBRADO en caja al cerrar. En contado == precio del equipo (lo garantiza `registerPayment`);
33
- * en crédito es SOLO el enganche. ⚠️ Su significado es contrato de `SaleCompletedV1` (La Central,
34
- * comisión F4): no redefinir — el precio del equipo viaja aparte en `equipmentPriceCents`. 0 en
35
- * EXTERNAL_REFERRAL.
36
- */
36
+ /** Lo cobrado en caja al cerrar: enganche + lo no financiado; 0 en EXTERNAL_REFERRAL. Contrato de `SaleCompletedV1`. */
37
37
  amountCents: number;
38
38
  /**
39
- * Precio de lista del equipo al cerrar (de la reserva de la sesión). En contado coincide con
40
- * `amountCents`; en crédito es el precio full financiado. `null` en ventas anteriores al campo.
39
+ * Ancla neta al cerrar (precio − discountCents de la ancla); base de comisión.
40
+ * `null` en ventas anteriores al campo.
41
41
  */
42
42
  equipmentPriceCents: number | null;
43
43
  /** Enganche cobrado (solo ventas CREDIT; `null` en contado/externa). */
@@ -1,8 +1,9 @@
1
1
  import type { SoldLineComponent } from '../../retailCatalog/dtos/responses/SellStockResponse';
2
2
  import type { LinePaymentTypeEnum } from '../enums/LinePaymentTypeEnum';
3
3
  import type { WizardLineProduct } from './WizardLineProduct';
4
+ import type { WizardLinePromotionFields } from './WizardLinePromotionFields';
4
5
  /** Línea de una venta cerrada; un producto suelto es un solo componente. */
5
- export interface SaleLine {
6
+ export interface SaleLine extends WizardLinePromotionFields {
6
7
  lineId: string;
7
8
  sku: string;
8
9
  qty: number;
@@ -11,6 +12,8 @@ export interface SaleLine {
11
12
  /** Llave del registro PRICE# del que salió el precio. */
12
13
  priceSk: string;
13
14
  paymentType: LinePaymentTypeEnum;
15
+ /** Parte financiada de la línea, congelada en la venta. */
16
+ financedCents?: number;
14
17
  components: SoldLineComponent[];
15
18
  product?: WizardLineProduct | null;
16
19
  }
@@ -0,0 +1,11 @@
1
+ /** Parte financiada de una línea en el reparto provisional. */
2
+ export interface WizardFinancingPreviewLine {
3
+ lineId: string;
4
+ financedCents: number;
5
+ }
6
+ /** Reparto provisional de la sesión; se calcula al leer y no se persiste. */
7
+ export interface WizardFinancingPreview {
8
+ /** Tope de extras financiables: floor(30% × ancla neta). */
9
+ capCents: number;
10
+ lines: WizardFinancingPreviewLine[];
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import type { WizardLineRoleEnum } from '../enums/WizardLineRoleEnum';
2
+ import type { WizardReservedLine } from './WizardReservedLine';
3
+ /** Línea GIFT: siempre ligada a un ancla y con el precio de lista que se regala. */
4
+ export type WizardGiftLine = WizardReservedLine & {
5
+ role: WizardLineRoleEnum.GIFT;
6
+ linkedLineId: string;
7
+ originalPriceCents: number;
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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. */
@@ -8,4 +8,6 @@ export declare class AddProductRequest {
8
8
  cashPriceCents?: number;
9
9
  /** Piezas de la línea; ausente = 1. */
10
10
  qty?: number;
11
+ /** Línea viva que este kit reemplaza («Cambiar por el kit»). */
12
+ replacesLineId?: string;
11
13
  }
@@ -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,15 @@
1
+ /**
2
+ * PUT /private/wizard/sessions/{id}/lines/{lineId}/promotion (privateApplyLinePromotion, M2M de Promociones).
3
+ * Reemplaza la promo de la línea por valor: un campo ausente queda borrado. `tenantId` va en el query.
4
+ * Nunca toca role ni linkedLineId: los GIFT los gestiona el PUT …/gifts. Responde 204 sin body.
5
+ */
6
+ export declare class ApplyLinePromotionRequest {
7
+ promotionId?: string;
8
+ /** Va junto con promotionId; las versiones de Promociones empiezan en 1. */
9
+ promotionVersion?: number;
10
+ /** Solo en la línea ancla. */
11
+ discountCode?: string;
12
+ /** Descuento total de la línea; 0 mientras el código espera revalidarse. */
13
+ discountCents?: number;
14
+ originalPriceCents?: number;
15
+ }
@@ -0,0 +1,58 @@
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 /private/wizard/sessions/{id}/lines/{lineId}/promotion (privateApplyLinePromotion, M2M de Promociones).
18
+ * Reemplaza la promo de la línea por valor: un campo ausente queda borrado. `tenantId` va en el query.
19
+ * Nunca toca role ni linkedLineId: los GIFT los gestiona el PUT …/gifts. Responde 204 sin body.
20
+ */
21
+ class ApplyLinePromotionRequest {
22
+ }
23
+ exports.ApplyLinePromotionRequest = ApplyLinePromotionRequest;
24
+ __decorate([
25
+ (0, class_transformer_1.Expose)(),
26
+ (0, class_validator_1.ValidateIf)(hasPromotion),
27
+ (0, class_validator_1.IsString)(),
28
+ (0, class_validator_1.IsNotEmpty)(),
29
+ __metadata("design:type", String)
30
+ ], ApplyLinePromotionRequest.prototype, "promotionId", void 0);
31
+ __decorate([
32
+ (0, class_transformer_1.Expose)(),
33
+ (0, class_validator_1.ValidateIf)(hasPromotion),
34
+ (0, class_validator_1.IsInt)(),
35
+ (0, class_validator_1.Min)(1),
36
+ __metadata("design:type", Number)
37
+ ], ApplyLinePromotionRequest.prototype, "promotionVersion", void 0);
38
+ __decorate([
39
+ (0, class_transformer_1.Expose)(),
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.IsNotEmpty)(),
43
+ __metadata("design:type", String)
44
+ ], ApplyLinePromotionRequest.prototype, "discountCode", void 0);
45
+ __decorate([
46
+ (0, class_transformer_1.Expose)(),
47
+ (0, class_validator_1.IsOptional)(),
48
+ (0, class_validator_1.IsInt)(),
49
+ (0, class_validator_1.Min)(0),
50
+ __metadata("design:type", Number)
51
+ ], ApplyLinePromotionRequest.prototype, "discountCents", void 0);
52
+ __decorate([
53
+ (0, class_transformer_1.Expose)(),
54
+ (0, class_validator_1.IsOptional)(),
55
+ (0, class_validator_1.IsInt)(),
56
+ (0, class_validator_1.Min)(0),
57
+ __metadata("design:type", Number)
58
+ ], 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);
@@ -8,6 +8,6 @@
8
8
  export declare class QuoteRequest {
9
9
  downPaymentCents: number;
10
10
  termWeeks: number;
11
- /** Línea que se financia; su precio fijado es el del crédito. */
11
+ /** Se ignora: el servidor financia la ancla. Se acepta un release más por el front viejo. */
12
12
  financedLineId?: string;
13
13
  }
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import type { WizardGiftLine } from '../WizardGiftLine';
2
+ /** Respuesta del PUT de regalos: las líneas GIFT que quedaron ligadas al ancla. */
3
+ export interface SetAnchorGiftsResponse {
4
+ lines: WizardGiftLine[];
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ /** Tipo de mensaje que el wizard publica en la cola de Promociones. */
2
+ export declare enum RetailPromotionInboundMessageTypeEnum {
3
+ SALE_CONFIRMED = "SALE_CONFIRMED",
4
+ SALE_CANCELLED = "SALE_CANCELLED"
5
+ }
@@ -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,4 @@
1
+ /** Papel especial de una línea; sin `role` es una línea normal. */
2
+ export declare enum WizardLineRoleEnum {
3
+ GIFT = "GIFT"
4
+ }
@@ -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
+ }