@fiado/type-kit 3.495.0 → 3.497.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 (187) hide show
  1. package/_test_/unit/loanCredit/dtos/createSellerPaymentRequest.test.ts +63 -0
  2. package/_test_/unit/loanCredit/inStorePaymentDtos.test.ts +141 -0
  3. package/_test_/unit/retailIntegration/applyRetailEventRequest.test.ts +43 -0
  4. package/_test_/unit/retailIntegration/isIsoDateTimeWithZone.test.ts +85 -0
  5. package/_test_/unit/retailIntegration/receiveRetailEventRequest.test.ts +93 -0
  6. package/_test_/unit/retailIntegration/retailOutboundRequests.test.ts +69 -0
  7. package/_test_/unit/retailIntegration/retailSystemEnums.test.ts +42 -0
  8. package/bin/index.d.ts +1 -0
  9. package/bin/index.js +3 -1
  10. package/bin/loanCredit/dtos/requests/CreateSellerPaymentRequest.d.ts +15 -0
  11. package/bin/loanCredit/dtos/requests/CreateSellerPaymentRequest.js +56 -0
  12. package/bin/loanCredit/dtos/requests/InStorePaymentDetail.d.ts +12 -0
  13. package/bin/loanCredit/dtos/requests/InStorePaymentDetail.js +40 -0
  14. package/bin/loanCredit/dtos/responses/CreditCustomerListItem.d.ts +46 -0
  15. package/bin/loanCredit/dtos/responses/CreditCustomerListItem.js +2 -0
  16. package/bin/loanCredit/dtos/responses/InStorePaymentListItem.d.ts +19 -0
  17. package/bin/loanCredit/dtos/responses/InStorePaymentListItem.js +2 -0
  18. package/bin/loanCredit/dtos/responses/LoanPaymentListItem.d.ts +14 -1
  19. package/bin/loanCredit/dtos/responses/SellerCreditLookupResult.d.ts +10 -0
  20. package/bin/loanCredit/dtos/responses/SellerCreditLookupResult.js +2 -0
  21. package/bin/loanCredit/dtos/responses/SellerPaymentOptions.d.ts +36 -0
  22. package/bin/loanCredit/dtos/responses/SellerPaymentOptions.js +2 -0
  23. package/bin/loanCredit/dtos/responses/SellerPaymentResult.d.ts +39 -0
  24. package/bin/loanCredit/dtos/responses/SellerPaymentResult.js +2 -0
  25. package/bin/loanCredit/enums/CreditCustomerStateEnum.d.ts +6 -0
  26. package/bin/loanCredit/enums/CreditCustomerStateEnum.js +10 -0
  27. package/bin/loanCredit/enums/InStorePaymentMethodEnum.d.ts +6 -0
  28. package/bin/loanCredit/enums/InStorePaymentMethodEnum.js +10 -0
  29. package/bin/loanCredit/enums/LoanPaymentOriginEnum.d.ts +5 -0
  30. package/bin/loanCredit/enums/LoanPaymentOriginEnum.js +9 -0
  31. package/bin/loanCredit/index.d.ts +10 -0
  32. package/bin/loanCredit/index.js +11 -0
  33. package/bin/retailIntegration/constants/retailIntegrationLimits.d.ts +7 -0
  34. package/bin/retailIntegration/constants/retailIntegrationLimits.js +10 -0
  35. package/bin/retailIntegration/dtos/ApplyRetailEventRequest.d.ts +29 -0
  36. package/bin/retailIntegration/dtos/ApplyRetailEventRequest.js +54 -0
  37. package/bin/retailIntegration/dtos/GetRetailInventoryRequest.d.ts +5 -0
  38. package/bin/retailIntegration/dtos/GetRetailInventoryRequest.js +23 -0
  39. package/bin/retailIntegration/dtos/ListRetailCatalogRequest.d.ts +4 -0
  40. package/bin/retailIntegration/dtos/ListRetailCatalogRequest.js +8 -0
  41. package/bin/retailIntegration/dtos/ListRetailStoresRequest.d.ts +4 -0
  42. package/bin/retailIntegration/dtos/ListRetailStoresRequest.js +8 -0
  43. package/bin/retailIntegration/dtos/ListRetailUsersRequest.d.ts +5 -0
  44. package/bin/retailIntegration/dtos/ListRetailUsersRequest.js +24 -0
  45. package/bin/retailIntegration/dtos/ReceiveInventoryEventRequest.d.ts +6 -0
  46. package/bin/retailIntegration/dtos/ReceiveInventoryEventRequest.js +23 -0
  47. package/bin/retailIntegration/dtos/ReceiveProductEventRequest.d.ts +6 -0
  48. package/bin/retailIntegration/dtos/ReceiveProductEventRequest.js +23 -0
  49. package/bin/retailIntegration/dtos/ReceiveRetailEventRequest.d.ts +12 -0
  50. package/bin/retailIntegration/dtos/ReceiveRetailEventRequest.js +2 -0
  51. package/bin/retailIntegration/dtos/ReceiveRetailUserEventRequest.d.ts +6 -0
  52. package/bin/retailIntegration/dtos/ReceiveRetailUserEventRequest.js +23 -0
  53. package/bin/retailIntegration/dtos/ReceiveStoreEventRequest.d.ts +6 -0
  54. package/bin/retailIntegration/dtos/ReceiveStoreEventRequest.js +23 -0
  55. package/bin/retailIntegration/dtos/RegisterRetailSaleRequest.d.ts +4 -0
  56. package/bin/retailIntegration/dtos/RegisterRetailSaleRequest.js +8 -0
  57. package/bin/retailIntegration/dtos/RetailEventEnvelope.d.ts +8 -0
  58. package/bin/retailIntegration/dtos/RetailEventEnvelope.js +33 -0
  59. package/bin/retailIntegration/dtos/RetailEventResult.d.ts +12 -0
  60. package/bin/retailIntegration/dtos/RetailEventResult.js +2 -0
  61. package/bin/retailIntegration/dtos/RetailOutboundResponses.d.ts +30 -0
  62. package/bin/retailIntegration/dtos/RetailOutboundResponses.js +2 -0
  63. package/bin/retailIntegration/dtos/RetailPagedQuery.d.ts +6 -0
  64. package/bin/retailIntegration/dtos/RetailPagedQuery.js +34 -0
  65. package/bin/retailIntegration/dtos/RetailTenantQuery.d.ts +4 -0
  66. package/bin/retailIntegration/dtos/RetailTenantQuery.js +23 -0
  67. package/bin/retailIntegration/enums/InventoryEventTypeEnum.d.ts +4 -0
  68. package/bin/retailIntegration/enums/InventoryEventTypeEnum.js +8 -0
  69. package/bin/retailIntegration/enums/ProductEventTypeEnum.d.ts +6 -0
  70. package/bin/retailIntegration/enums/ProductEventTypeEnum.js +10 -0
  71. package/bin/retailIntegration/enums/RetailCurrencyEnum.d.ts +5 -0
  72. package/bin/retailIntegration/enums/RetailCurrencyEnum.js +9 -0
  73. package/bin/retailIntegration/enums/RetailEventResultEnum.d.ts +6 -0
  74. package/bin/retailIntegration/enums/RetailEventResultEnum.js +10 -0
  75. package/bin/retailIntegration/enums/RetailFinancierEnum.d.ts +8 -0
  76. package/bin/retailIntegration/enums/RetailFinancierEnum.js +12 -0
  77. package/bin/retailIntegration/enums/RetailLinePaymentTypeEnum.d.ts +5 -0
  78. package/bin/retailIntegration/enums/RetailLinePaymentTypeEnum.js +9 -0
  79. package/bin/retailIntegration/enums/RetailMdmProviderEnum.d.ts +5 -0
  80. package/bin/retailIntegration/enums/RetailMdmProviderEnum.js +9 -0
  81. package/bin/retailIntegration/enums/RetailPaymentMethodEnum.d.ts +6 -0
  82. package/bin/retailIntegration/enums/RetailPaymentMethodEnum.js +10 -0
  83. package/bin/retailIntegration/enums/RetailPieceReasonEnum.d.ts +6 -0
  84. package/bin/retailIntegration/enums/RetailPieceReasonEnum.js +10 -0
  85. package/bin/retailIntegration/enums/RetailPieceStatusEnum.d.ts +7 -0
  86. package/bin/retailIntegration/enums/RetailPieceStatusEnum.js +11 -0
  87. package/bin/retailIntegration/enums/RetailProductCategoryEnum.d.ts +7 -0
  88. package/bin/retailIntegration/enums/RetailProductCategoryEnum.js +11 -0
  89. package/bin/retailIntegration/enums/RetailProductStatusEnum.d.ts +6 -0
  90. package/bin/retailIntegration/enums/RetailProductStatusEnum.js +10 -0
  91. package/bin/retailIntegration/enums/RetailProductTierEnum.d.ts +7 -0
  92. package/bin/retailIntegration/enums/RetailProductTierEnum.js +11 -0
  93. package/bin/retailIntegration/enums/RetailSaleFinancierEnum.d.ts +9 -0
  94. package/bin/retailIntegration/enums/RetailSaleFinancierEnum.js +13 -0
  95. package/bin/retailIntegration/enums/RetailSaleTypeEnum.d.ts +6 -0
  96. package/bin/retailIntegration/enums/RetailSaleTypeEnum.js +10 -0
  97. package/bin/retailIntegration/enums/RetailStoreStatusEnum.d.ts +6 -0
  98. package/bin/retailIntegration/enums/RetailStoreStatusEnum.js +10 -0
  99. package/bin/retailIntegration/enums/RetailTrackingModeEnum.d.ts +6 -0
  100. package/bin/retailIntegration/enums/RetailTrackingModeEnum.js +10 -0
  101. package/bin/retailIntegration/enums/RetailUserAccessStatusEnum.d.ts +6 -0
  102. package/bin/retailIntegration/enums/RetailUserAccessStatusEnum.js +10 -0
  103. package/bin/retailIntegration/enums/RetailUserEventTypeEnum.d.ts +7 -0
  104. package/bin/retailIntegration/enums/RetailUserEventTypeEnum.js +11 -0
  105. package/bin/retailIntegration/enums/RetailUserRoleEnum.d.ts +7 -0
  106. package/bin/retailIntegration/enums/RetailUserRoleEnum.js +11 -0
  107. package/bin/retailIntegration/enums/StoreEventTypeEnum.d.ts +6 -0
  108. package/bin/retailIntegration/enums/StoreEventTypeEnum.js +10 -0
  109. package/bin/retailIntegration/enums/index.d.ts +21 -0
  110. package/bin/retailIntegration/enums/index.js +37 -0
  111. package/bin/retailIntegration/index.d.ts +25 -0
  112. package/bin/retailIntegration/index.js +41 -0
  113. package/bin/retailIntegration/models/RetailPageMeta.d.ts +10 -0
  114. package/bin/retailIntegration/models/RetailPageMeta.js +2 -0
  115. package/bin/retailIntegration/models/RetailSystemInventory.d.ts +17 -0
  116. package/bin/retailIntegration/models/RetailSystemInventory.js +2 -0
  117. package/bin/retailIntegration/models/RetailSystemProduct.d.ts +32 -0
  118. package/bin/retailIntegration/models/RetailSystemProduct.js +2 -0
  119. package/bin/retailIntegration/models/RetailSystemSale.d.ts +46 -0
  120. package/bin/retailIntegration/models/RetailSystemSale.js +2 -0
  121. package/bin/retailIntegration/models/RetailSystemStore.d.ts +29 -0
  122. package/bin/retailIntegration/models/RetailSystemStore.js +2 -0
  123. package/bin/retailIntegration/models/RetailSystemUser.d.ts +14 -0
  124. package/bin/retailIntegration/models/RetailSystemUser.js +2 -0
  125. package/bin/retailIntegration/validators/IsIsoDateTimeWithZone.d.ts +6 -0
  126. package/bin/retailIntegration/validators/IsIsoDateTimeWithZone.js +29 -0
  127. package/package.json +1 -1
  128. package/src/index.ts +2 -0
  129. package/src/loanCredit/dtos/requests/CreateSellerPaymentRequest.ts +40 -0
  130. package/src/loanCredit/dtos/requests/InStorePaymentDetail.ts +27 -0
  131. package/src/loanCredit/dtos/responses/CreditCustomerListItem.ts +51 -0
  132. package/src/loanCredit/dtos/responses/InStorePaymentListItem.ts +21 -0
  133. package/src/loanCredit/dtos/responses/LoanPaymentListItem.ts +11 -1
  134. package/src/loanCredit/dtos/responses/SellerCreditLookupResult.ts +11 -0
  135. package/src/loanCredit/dtos/responses/SellerPaymentOptions.ts +29 -0
  136. package/src/loanCredit/dtos/responses/SellerPaymentResult.ts +43 -0
  137. package/src/loanCredit/enums/CreditCustomerStateEnum.ts +6 -0
  138. package/src/loanCredit/enums/InStorePaymentMethodEnum.ts +6 -0
  139. package/src/loanCredit/enums/LoanPaymentOriginEnum.ts +5 -0
  140. package/src/loanCredit/index.ts +12 -0
  141. package/src/retailIntegration/constants/retailIntegrationLimits.ts +9 -0
  142. package/src/retailIntegration/dtos/ApplyRetailEventRequest.ts +49 -0
  143. package/src/retailIntegration/dtos/GetRetailInventoryRequest.ts +9 -0
  144. package/src/retailIntegration/dtos/ListRetailCatalogRequest.ts +4 -0
  145. package/src/retailIntegration/dtos/ListRetailStoresRequest.ts +4 -0
  146. package/src/retailIntegration/dtos/ListRetailUsersRequest.ts +10 -0
  147. package/src/retailIntegration/dtos/ReceiveInventoryEventRequest.ts +9 -0
  148. package/src/retailIntegration/dtos/ReceiveProductEventRequest.ts +9 -0
  149. package/src/retailIntegration/dtos/ReceiveRetailEventRequest.ts +18 -0
  150. package/src/retailIntegration/dtos/ReceiveRetailUserEventRequest.ts +9 -0
  151. package/src/retailIntegration/dtos/ReceiveStoreEventRequest.ts +9 -0
  152. package/src/retailIntegration/dtos/RegisterRetailSaleRequest.ts +4 -0
  153. package/src/retailIntegration/dtos/RetailEventEnvelope.ts +20 -0
  154. package/src/retailIntegration/dtos/RetailEventResult.ts +14 -0
  155. package/src/retailIntegration/dtos/RetailOutboundResponses.ts +35 -0
  156. package/src/retailIntegration/dtos/RetailPagedQuery.ts +19 -0
  157. package/src/retailIntegration/dtos/RetailTenantQuery.ts +9 -0
  158. package/src/retailIntegration/enums/InventoryEventTypeEnum.ts +4 -0
  159. package/src/retailIntegration/enums/ProductEventTypeEnum.ts +6 -0
  160. package/src/retailIntegration/enums/RetailCurrencyEnum.ts +5 -0
  161. package/src/retailIntegration/enums/RetailEventResultEnum.ts +6 -0
  162. package/src/retailIntegration/enums/RetailFinancierEnum.ts +8 -0
  163. package/src/retailIntegration/enums/RetailLinePaymentTypeEnum.ts +5 -0
  164. package/src/retailIntegration/enums/RetailMdmProviderEnum.ts +5 -0
  165. package/src/retailIntegration/enums/RetailPaymentMethodEnum.ts +6 -0
  166. package/src/retailIntegration/enums/RetailPieceReasonEnum.ts +6 -0
  167. package/src/retailIntegration/enums/RetailPieceStatusEnum.ts +7 -0
  168. package/src/retailIntegration/enums/RetailProductCategoryEnum.ts +7 -0
  169. package/src/retailIntegration/enums/RetailProductStatusEnum.ts +6 -0
  170. package/src/retailIntegration/enums/RetailProductTierEnum.ts +7 -0
  171. package/src/retailIntegration/enums/RetailSaleFinancierEnum.ts +9 -0
  172. package/src/retailIntegration/enums/RetailSaleTypeEnum.ts +6 -0
  173. package/src/retailIntegration/enums/RetailStoreStatusEnum.ts +6 -0
  174. package/src/retailIntegration/enums/RetailTrackingModeEnum.ts +6 -0
  175. package/src/retailIntegration/enums/RetailUserAccessStatusEnum.ts +6 -0
  176. package/src/retailIntegration/enums/RetailUserEventTypeEnum.ts +7 -0
  177. package/src/retailIntegration/enums/RetailUserRoleEnum.ts +7 -0
  178. package/src/retailIntegration/enums/StoreEventTypeEnum.ts +6 -0
  179. package/src/retailIntegration/enums/index.ts +21 -0
  180. package/src/retailIntegration/index.ts +25 -0
  181. package/src/retailIntegration/models/RetailPageMeta.ts +11 -0
  182. package/src/retailIntegration/models/RetailSystemInventory.ts +20 -0
  183. package/src/retailIntegration/models/RetailSystemProduct.ts +43 -0
  184. package/src/retailIntegration/models/RetailSystemSale.ts +51 -0
  185. package/src/retailIntegration/models/RetailSystemStore.ts +33 -0
  186. package/src/retailIntegration/models/RetailSystemUser.ts +16 -0
  187. package/src/retailIntegration/validators/IsIsoDateTimeWithZone.ts +21 -0
@@ -0,0 +1,43 @@
1
+ import {
2
+ RetailCurrencyEnum,
3
+ RetailFinancierEnum,
4
+ RetailMdmProviderEnum,
5
+ RetailProductCategoryEnum,
6
+ RetailProductStatusEnum,
7
+ RetailProductTierEnum,
8
+ RetailTrackingModeEnum,
9
+ } from '../enums';
10
+
11
+ export type RetailProductCategory = `${RetailProductCategoryEnum}`;
12
+ export type RetailTrackingMode = `${RetailTrackingModeEnum}`;
13
+ export type RetailProductTier = `${RetailProductTierEnum}`;
14
+ export type RetailCurrency = `${RetailCurrencyEnum}`;
15
+ export type RetailFinancier = `${RetailFinancierEnum}`;
16
+ export type RetailMdmProvider = `${RetailMdmProviderEnum}`;
17
+ export type RetailProductStatus = `${RetailProductStatusEnum}`;
18
+
19
+ /** Precios como decimal en string con dos decimales. */
20
+ export interface RetailSystemProductPrice {
21
+ basePrice: string;
22
+ listPrice: string | null;
23
+ effectiveFrom: string;
24
+ }
25
+
26
+ /** Producto tal como lo define la doc de integración. */
27
+ export interface RetailSystemProduct {
28
+ sku: string;
29
+ externalId: string;
30
+ brand: string;
31
+ model: string;
32
+ color: string | null;
33
+ capacity: string | null;
34
+ description: string | null;
35
+ category: RetailProductCategory;
36
+ trackingMode: RetailTrackingMode;
37
+ tier: RetailProductTier | null;
38
+ currencyId: RetailCurrency;
39
+ price: RetailSystemProductPrice;
40
+ eligibleFinanciers: RetailFinancier[];
41
+ mdmProvider: RetailMdmProvider | null;
42
+ status: RetailProductStatus;
43
+ }
@@ -0,0 +1,51 @@
1
+ import { RetailLinePaymentTypeEnum, RetailPaymentMethodEnum, RetailSaleFinancierEnum, RetailSaleTypeEnum } from '../enums';
2
+ import { RetailCurrency } from './RetailSystemProduct';
3
+
4
+ export type RetailSaleType = `${RetailSaleTypeEnum}`;
5
+ export type RetailSaleFinancier = `${RetailSaleFinancierEnum}`;
6
+ export type RetailPaymentMethod = `${RetailPaymentMethodEnum}`;
7
+ export type RetailLinePaymentType = `${RetailLinePaymentTypeEnum}`;
8
+
9
+ export interface RetailSystemSaleCustomer {
10
+ customerId: string;
11
+ names: string;
12
+ paternalLastName: string;
13
+ maternalLastName: string | null;
14
+ phone: string;
15
+ }
16
+
17
+ export interface RetailSystemSaleComponent {
18
+ sku: string;
19
+ qty: number;
20
+ identifiers: string[];
21
+ }
22
+
23
+ export interface RetailSystemSaleLine {
24
+ lineId: string;
25
+ sku: string;
26
+ qty: number;
27
+ basePrice: string;
28
+ discount: string;
29
+ paymentType: RetailLinePaymentType;
30
+ financedAmount: string;
31
+ role: 'GIFT' | null;
32
+ components: RetailSystemSaleComponent[];
33
+ }
34
+
35
+ /** Cuerpo de `POST /sales` de la doc; `saleId` es la llave de idempotencia. */
36
+ export interface RetailSystemSale {
37
+ saleId: string;
38
+ folio: string;
39
+ storeId: string;
40
+ sellerRetailUserId: string;
41
+ soldAt: string;
42
+ saleType: RetailSaleType;
43
+ financier: RetailSaleFinancier;
44
+ creditId: string | null;
45
+ currencyId: RetailCurrency;
46
+ customer: RetailSystemSaleCustomer;
47
+ equipmentPrice: string;
48
+ amountPaid: string;
49
+ paymentMethod: RetailPaymentMethod | null;
50
+ lines: RetailSystemSaleLine[];
51
+ }
@@ -0,0 +1,33 @@
1
+ import { RetailStoreStatusEnum } from '../enums';
2
+
3
+ export type RetailStoreStatus = `${RetailStoreStatusEnum}`;
4
+
5
+ export interface RetailSystemStoreAddress {
6
+ address1: string;
7
+ externalNumber: string | null;
8
+ internalNumber: string | null;
9
+ neighborhood: string | null;
10
+ city: string;
11
+ state: string;
12
+ zipCode: string;
13
+ country: string | null;
14
+ reference: string | null;
15
+ }
16
+
17
+ export interface RetailSystemStoreLocation {
18
+ lat: number | null;
19
+ lng: number | null;
20
+ }
21
+
22
+ /** Tienda tal como la define la doc de integración. */
23
+ export interface RetailSystemStore {
24
+ storeId: string;
25
+ code: string;
26
+ name: string;
27
+ zoneId: string | null;
28
+ address: RetailSystemStoreAddress;
29
+ location: RetailSystemStoreLocation;
30
+ phone: string;
31
+ schedule: string | null;
32
+ status: RetailStoreStatus;
33
+ }
@@ -0,0 +1,16 @@
1
+ import { RetailUserAccessStatusEnum, RetailUserRoleEnum } from '../enums';
2
+
3
+ export type RetailUserRole = `${RetailUserRoleEnum}`;
4
+ export type RetailUserAccessStatus = `${RetailUserAccessStatusEnum}`;
5
+
6
+ /** Usuario de la operación del retailer, tal como lo define la doc de integración. */
7
+ export interface RetailSystemUser {
8
+ retailUserId: string;
9
+ displayName: string;
10
+ email: string;
11
+ phone: string | null;
12
+ homeStoreId: string;
13
+ zoneId: string | null;
14
+ role: RetailUserRole;
15
+ status: RetailUserAccessStatus;
16
+ }
@@ -0,0 +1,21 @@
1
+ import { ValidatorConstraint, ValidatorConstraintInterface } from 'class-validator';
2
+
3
+ const ISO_DATE_TIME_WITH_ZONE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2})$/;
4
+
5
+ /** Descarta fechas que `Date` recorre en silencio, como el 31 de febrero. */
6
+ function isRealCalendarDate(value: string): boolean {
7
+ const [year, month, day] = value.slice(0, 10).split('-').map(Number);
8
+ return !Number.isNaN(Date.parse(value)) && new Date(Date.UTC(year, month - 1, day)).getUTCDate() === day;
9
+ }
10
+
11
+ /** Acepta fecha y hora ISO-8601 con segundos y zona; sin zona se rechaza, como dice la doc. */
12
+ @ValidatorConstraint({ name: 'isIsoDateTimeWithZone', async: false })
13
+ export class IsIsoDateTimeWithZone implements ValidatorConstraintInterface {
14
+ validate(value: unknown): boolean {
15
+ return typeof value === 'string' && ISO_DATE_TIME_WITH_ZONE.test(value) && isRealCalendarDate(value);
16
+ }
17
+
18
+ defaultMessage(): string {
19
+ return 'debe ser fecha y hora ISO-8601 con zona, por ejemplo 2026-08-17T20:32:05Z';
20
+ }
21
+ }