@fiado/type-kit 3.328.0 → 3.331.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 (142) hide show
  1. package/.github/workflows/npm-publish.yml +30 -0
  2. package/_test_/unit/loanCredit/dtos/loanDeviceContract.test.ts +283 -0
  3. package/_test_/unit/places/GetNearbyPlacesRequest.test.ts +70 -0
  4. package/_test_/unit/retailWizard/wizardBlocked.test.ts +3 -2
  5. package/bin/identity/dtos/ManualApproval.d.ts +9 -0
  6. package/bin/identity/dtos/PeopleResponse.d.ts +4 -0
  7. package/bin/identity/dtos/PeopleUpdateRequest.d.ts +2 -0
  8. package/bin/loanCredit/constants/LoanDeviceBatchLimits.d.ts +2 -0
  9. package/bin/loanCredit/constants/LoanDeviceBatchLimits.js +5 -0
  10. package/bin/loanCredit/dtos/LoanDeviceCreditRefItem.d.ts +4 -0
  11. package/bin/{retailWizard/dtos/requests/MarkPcfCardDeliveredRequest.js → loanCredit/dtos/LoanDeviceCreditRefItem.js} +6 -6
  12. package/bin/loanCredit/dtos/LoanDeviceEnrollItem.d.ts +11 -0
  13. package/bin/loanCredit/dtos/LoanDeviceEnrollItem.js +62 -0
  14. package/bin/loanCredit/dtos/LoanDeviceManualLockItem.d.ts +9 -0
  15. package/bin/loanCredit/dtos/LoanDeviceManualLockItem.js +37 -0
  16. package/bin/loanCredit/dtos/LoanDeviceOperationResult.d.ts +9 -0
  17. package/bin/loanCredit/dtos/LoanDeviceOperationResult.js +8 -0
  18. package/bin/loanCredit/dtos/LoanDeviceResult.d.ts +9 -0
  19. package/bin/loanCredit/dtos/LoanDeviceResult.js +7 -0
  20. package/bin/loanCredit/dtos/requests/LoanDeviceEnrollRequest.d.ts +7 -0
  21. package/bin/loanCredit/dtos/requests/LoanDeviceEnrollRequest.js +37 -0
  22. package/bin/loanCredit/dtos/requests/LoanDeviceEnrollStatusRequest.d.ts +4 -0
  23. package/bin/{retailWizard/dtos/requests/CompleteSaleRequest.js → loanCredit/dtos/requests/LoanDeviceEnrollStatusRequest.js} +12 -13
  24. package/bin/loanCredit/dtos/requests/LoanDeviceLastSeenRequest.d.ts +4 -0
  25. package/bin/{retailCards/dtos/requests/CancelCardRequest.js → loanCredit/dtos/requests/LoanDeviceLastSeenRequest.js} +14 -8
  26. package/bin/loanCredit/dtos/requests/LoanDeviceManualLockRequest.d.ts +7 -0
  27. package/bin/loanCredit/dtos/requests/LoanDeviceManualLockRequest.js +37 -0
  28. package/bin/loanCredit/dtos/requests/LoanDeviceManualUnlockRequest.d.ts +7 -0
  29. package/bin/loanCredit/dtos/requests/LoanDeviceManualUnlockRequest.js +37 -0
  30. package/bin/loanCredit/dtos/requests/LoanDeviceStatusRequest.d.ts +4 -0
  31. package/bin/{retailCards/dtos/requests/AssignCardRequest.js → loanCredit/dtos/requests/LoanDeviceStatusRequest.js} +14 -16
  32. package/bin/loanCredit/dtos/responses/LoanDeviceEnrollResponse.d.ts +5 -0
  33. package/bin/loanCredit/dtos/responses/LoanDeviceEnrollResponse.js +7 -0
  34. package/bin/loanCredit/dtos/responses/LoanDeviceEnrollResult.d.ts +7 -0
  35. package/bin/loanCredit/dtos/responses/LoanDeviceEnrollResult.js +8 -0
  36. package/bin/loanCredit/dtos/responses/LoanDeviceEnrollStatusResponse.d.ts +5 -0
  37. package/bin/loanCredit/dtos/responses/LoanDeviceEnrollStatusResponse.js +7 -0
  38. package/bin/loanCredit/dtos/responses/LoanDeviceEnrollStatusResult.d.ts +16 -0
  39. package/bin/loanCredit/dtos/responses/LoanDeviceEnrollStatusResult.js +8 -0
  40. package/bin/loanCredit/dtos/responses/LoanDeviceLastSeenResponse.d.ts +5 -0
  41. package/bin/loanCredit/dtos/responses/LoanDeviceLastSeenResponse.js +7 -0
  42. package/bin/loanCredit/dtos/responses/LoanDeviceLastSeenResult.d.ts +5 -0
  43. package/bin/loanCredit/dtos/responses/LoanDeviceLastSeenResult.js +8 -0
  44. package/bin/loanCredit/dtos/responses/LoanDeviceLockResult.d.ts +8 -0
  45. package/bin/loanCredit/dtos/responses/LoanDeviceLockResult.js +8 -0
  46. package/bin/loanCredit/dtos/responses/LoanDeviceManualLockResponse.d.ts +5 -0
  47. package/bin/loanCredit/dtos/responses/LoanDeviceManualLockResponse.js +7 -0
  48. package/bin/loanCredit/dtos/responses/LoanDeviceManualUnlockResponse.d.ts +5 -0
  49. package/bin/loanCredit/dtos/responses/LoanDeviceManualUnlockResponse.js +7 -0
  50. package/bin/loanCredit/dtos/responses/LoanDeviceStatusResponse.d.ts +5 -0
  51. package/bin/loanCredit/dtos/responses/LoanDeviceStatusResponse.js +7 -0
  52. package/bin/loanCredit/dtos/responses/LoanDeviceStatusResult.d.ts +28 -0
  53. package/bin/loanCredit/dtos/responses/LoanDeviceStatusResult.js +8 -0
  54. package/bin/loanCredit/dtos/responses/LoanDeviceUnlockResult.d.ts +8 -0
  55. package/bin/loanCredit/dtos/responses/LoanDeviceUnlockResult.js +8 -0
  56. package/bin/loanCredit/enums/LoanDeviceLockReasonEnum.d.ts +12 -0
  57. package/bin/loanCredit/enums/LoanDeviceLockReasonEnum.js +16 -0
  58. package/bin/loanCredit/enums/LoanDeviceMdmStatusEnum.d.ts +25 -0
  59. package/bin/loanCredit/enums/LoanDeviceMdmStatusEnum.js +29 -0
  60. package/bin/loanCredit/index.d.ts +34 -0
  61. package/bin/loanCredit/index.js +45 -1
  62. package/bin/places/dtos/GetNearbyPlacesRequest.d.ts +13 -0
  63. package/bin/places/dtos/GetNearbyPlacesRequest.js +6 -0
  64. package/bin/places/dtos/GetNearbyPlacesResponse.d.ts +14 -0
  65. package/bin/retailWizard/enums/BlockedCategoryEnum.d.ts +6 -1
  66. package/bin/retailWizard/enums/BlockedCategoryEnum.js +5 -0
  67. package/bin/retailWizard/enums/PendingReasonEnum.d.ts +4 -2
  68. package/bin/retailWizard/enums/PendingReasonEnum.js +4 -1
  69. package/package.json +2 -2
  70. package/src/identity/dtos/ManualApproval.ts +10 -0
  71. package/src/identity/dtos/PeopleResponse.ts +4 -0
  72. package/src/identity/dtos/PeopleUpdateRequest.ts +2 -0
  73. package/src/loanCredit/constants/LoanDeviceBatchLimits.ts +2 -0
  74. package/src/loanCredit/dtos/LoanDeviceCreditRefItem.ts +9 -0
  75. package/src/loanCredit/dtos/LoanDeviceEnrollItem.ts +47 -0
  76. package/src/loanCredit/dtos/LoanDeviceManualLockItem.ts +22 -0
  77. package/src/loanCredit/dtos/LoanDeviceOperationResult.ts +11 -0
  78. package/src/loanCredit/dtos/LoanDeviceResult.ts +12 -0
  79. package/src/loanCredit/dtos/requests/LoanDeviceEnrollRequest.ts +23 -0
  80. package/src/loanCredit/dtos/requests/LoanDeviceEnrollStatusRequest.ts +14 -0
  81. package/src/loanCredit/dtos/requests/LoanDeviceLastSeenRequest.ts +14 -0
  82. package/src/loanCredit/dtos/requests/LoanDeviceManualLockRequest.ts +23 -0
  83. package/src/loanCredit/dtos/requests/LoanDeviceManualUnlockRequest.ts +23 -0
  84. package/src/loanCredit/dtos/requests/LoanDeviceStatusRequest.ts +14 -0
  85. package/src/loanCredit/dtos/responses/LoanDeviceEnrollResponse.ts +6 -0
  86. package/src/loanCredit/dtos/responses/LoanDeviceEnrollResult.ts +8 -0
  87. package/src/loanCredit/dtos/responses/LoanDeviceEnrollStatusResponse.ts +6 -0
  88. package/src/loanCredit/dtos/responses/LoanDeviceEnrollStatusResult.ts +21 -0
  89. package/src/loanCredit/dtos/responses/LoanDeviceLastSeenResponse.ts +6 -0
  90. package/src/loanCredit/dtos/responses/LoanDeviceLastSeenResult.ts +6 -0
  91. package/src/loanCredit/dtos/responses/LoanDeviceLockResult.ts +10 -0
  92. package/src/loanCredit/dtos/responses/LoanDeviceManualLockResponse.ts +6 -0
  93. package/src/loanCredit/dtos/responses/LoanDeviceManualUnlockResponse.ts +6 -0
  94. package/src/loanCredit/dtos/responses/LoanDeviceStatusResponse.ts +6 -0
  95. package/src/loanCredit/dtos/responses/LoanDeviceStatusResult.ts +39 -0
  96. package/src/loanCredit/dtos/responses/LoanDeviceUnlockResult.ts +10 -0
  97. package/src/loanCredit/enums/LoanDeviceLockReasonEnum.ts +12 -0
  98. package/src/loanCredit/enums/LoanDeviceMdmStatusEnum.ts +25 -0
  99. package/src/loanCredit/index.ts +41 -0
  100. package/src/mdm/README.md +4 -10
  101. package/src/places/dtos/GetNearbyPlacesRequest.ts +18 -1
  102. package/src/places/dtos/GetNearbyPlacesResponse.ts +14 -0
  103. package/src/retailWizard/enums/BlockedCategoryEnum.ts +5 -0
  104. package/src/retailWizard/enums/PendingReasonEnum.ts +4 -1
  105. package/bin/benefitCenter/enums/BenefitFlowEnum.d.ts +0 -11
  106. package/bin/benefitCenter/enums/BenefitFlowEnum.js +0 -15
  107. package/bin/identity/enums/SelfieSourceEnum.d.ts +0 -10
  108. package/bin/identity/enums/SelfieSourceEnum.js +0 -14
  109. package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.d.ts +0 -11
  110. package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.js +0 -46
  111. package/bin/loanCredit/enums/ClientLevelEnum.d.ts +0 -11
  112. package/bin/loanCredit/enums/ClientLevelEnum.js +0 -15
  113. package/bin/retailCards/dtos/requests/AssignCardRequest.d.ts +0 -6
  114. package/bin/retailCards/dtos/requests/CancelCardRequest.d.ts +0 -5
  115. package/bin/retailCards/dtos/responses/RetailCardResponse.d.ts +0 -12
  116. package/bin/retailCards/dtos/responses/RetailCardResponse.js +0 -2
  117. package/bin/retailCards/enums/CardBatchStatusEnum.d.ts +0 -17
  118. package/bin/retailCards/enums/CardBatchStatusEnum.js +0 -21
  119. package/bin/retailCards/enums/CardCancelReasonEnum.d.ts +0 -13
  120. package/bin/retailCards/enums/CardCancelReasonEnum.js +0 -17
  121. package/bin/retailCards/enums/RetailCardStatusEnum.d.ts +0 -13
  122. package/bin/retailCards/enums/RetailCardStatusEnum.js +0 -17
  123. package/bin/retailCards/events/RetailCardAssignedV1.d.ts +0 -10
  124. package/bin/retailCards/events/RetailCardAssignedV1.js +0 -2
  125. package/bin/retailCards/events/RetailCardCancelledV1.d.ts +0 -9
  126. package/bin/retailCards/events/RetailCardCancelledV1.js +0 -2
  127. package/bin/retailCards/events/RetailCardReleasedV1.d.ts +0 -7
  128. package/bin/retailCards/events/RetailCardReleasedV1.js +0 -2
  129. package/bin/retailWizard/dtos/requests/CompleteSaleRequest.d.ts +0 -9
  130. package/bin/retailWizard/dtos/requests/MarkPcfCardDeliveredRequest.d.ts +0 -4
  131. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +0 -6
  132. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +0 -31
  133. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +0 -7
  134. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +0 -6
  135. package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +0 -11
  136. package/bin/walletFunding/dtos/CancelFundingRequest.js +0 -33
  137. package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +0 -14
  138. package/bin/walletFunding/dtos/CancelFundingResponse.js +0 -12
  139. package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +0 -3
  140. package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +0 -21
  141. package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +0 -7
  142. package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +0 -6
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ClientLevelEnum = void 0;
17
+ exports.MdmLockModeEnum = exports.DeviceLockScreenMessage = exports.MdmError = exports.DeviceEnrollmentModeEnum = exports.MdmProviderEnum = exports.MdmOperationTypeEnum = exports.MdmDeviceStatusEnum = exports.MdmOperationStatusEnum = exports.ClientLevelEnum = void 0;
18
18
  // Enums
19
19
  __exportStar(require("./enums/LoanCreditStatusEnum"), exports);
20
20
  __exportStar(require("./enums/LoanInstallmentStatusEnum"), exports);
@@ -45,3 +45,47 @@ __exportStar(require("./dtos/responses/OriginateLoanCreditResponse"), exports);
45
45
  __exportStar(require("./dtos/responses/QuoteLoanCreditResponse"), exports);
46
46
  __exportStar(require("./dtos/responses/SignLoanCreditResponse"), exports);
47
47
  __exportStar(require("./dtos/responses/ActivationCheckResponse"), exports);
48
+ // Device / MDM — contrato hacia los callers de loan-credit
49
+ __exportStar(require("./enums/LoanDeviceMdmStatusEnum"), exports);
50
+ __exportStar(require("./enums/LoanDeviceLockReasonEnum"), exports);
51
+ // Re-export de los tipos canónicos del dominio `mdm` que este contrato reusa (un solo origen de verdad).
52
+ var MdmOperationStatusEnum_1 = require("../mdm/enums/MdmOperationStatusEnum");
53
+ Object.defineProperty(exports, "MdmOperationStatusEnum", { enumerable: true, get: function () { return MdmOperationStatusEnum_1.MdmOperationStatusEnum; } });
54
+ var MdmDeviceStatusEnum_1 = require("../mdm/enums/MdmDeviceStatusEnum");
55
+ Object.defineProperty(exports, "MdmDeviceStatusEnum", { enumerable: true, get: function () { return MdmDeviceStatusEnum_1.MdmDeviceStatusEnum; } });
56
+ var MdmOperationTypeEnum_1 = require("../mdm/enums/MdmOperationTypeEnum");
57
+ Object.defineProperty(exports, "MdmOperationTypeEnum", { enumerable: true, get: function () { return MdmOperationTypeEnum_1.MdmOperationTypeEnum; } });
58
+ var MdmProviderEnum_1 = require("../mdm/enums/MdmProviderEnum");
59
+ Object.defineProperty(exports, "MdmProviderEnum", { enumerable: true, get: function () { return MdmProviderEnum_1.MdmProviderEnum; } });
60
+ var DeviceEnrollmentModeEnum_1 = require("../mdm/enums/DeviceEnrollmentModeEnum");
61
+ Object.defineProperty(exports, "DeviceEnrollmentModeEnum", { enumerable: true, get: function () { return DeviceEnrollmentModeEnum_1.DeviceEnrollmentModeEnum; } });
62
+ var MdmError_1 = require("../mdm/dtos/MdmError");
63
+ Object.defineProperty(exports, "MdmError", { enumerable: true, get: function () { return MdmError_1.MdmError; } });
64
+ var DeviceLockScreenMessage_1 = require("../mdm/dtos/DeviceLockScreenMessage");
65
+ Object.defineProperty(exports, "DeviceLockScreenMessage", { enumerable: true, get: function () { return DeviceLockScreenMessage_1.DeviceLockScreenMessage; } });
66
+ var MdmLockModeEnum_1 = require("../retailCatalog/enums/MdmLockModeEnum");
67
+ Object.defineProperty(exports, "MdmLockModeEnum", { enumerable: true, get: function () { return MdmLockModeEnum_1.MdmLockModeEnum; } });
68
+ __exportStar(require("./constants/LoanDeviceBatchLimits"), exports);
69
+ __exportStar(require("./dtos/LoanDeviceResult"), exports);
70
+ __exportStar(require("./dtos/LoanDeviceOperationResult"), exports);
71
+ __exportStar(require("./dtos/LoanDeviceCreditRefItem"), exports);
72
+ __exportStar(require("./dtos/LoanDeviceEnrollItem"), exports);
73
+ __exportStar(require("./dtos/LoanDeviceManualLockItem"), exports);
74
+ __exportStar(require("./dtos/requests/LoanDeviceEnrollRequest"), exports);
75
+ __exportStar(require("./dtos/requests/LoanDeviceEnrollStatusRequest"), exports);
76
+ __exportStar(require("./dtos/requests/LoanDeviceStatusRequest"), exports);
77
+ __exportStar(require("./dtos/requests/LoanDeviceLastSeenRequest"), exports);
78
+ __exportStar(require("./dtos/requests/LoanDeviceManualLockRequest"), exports);
79
+ __exportStar(require("./dtos/requests/LoanDeviceManualUnlockRequest"), exports);
80
+ __exportStar(require("./dtos/responses/LoanDeviceEnrollResult"), exports);
81
+ __exportStar(require("./dtos/responses/LoanDeviceEnrollResponse"), exports);
82
+ __exportStar(require("./dtos/responses/LoanDeviceEnrollStatusResult"), exports);
83
+ __exportStar(require("./dtos/responses/LoanDeviceEnrollStatusResponse"), exports);
84
+ __exportStar(require("./dtos/responses/LoanDeviceStatusResult"), exports);
85
+ __exportStar(require("./dtos/responses/LoanDeviceStatusResponse"), exports);
86
+ __exportStar(require("./dtos/responses/LoanDeviceLastSeenResult"), exports);
87
+ __exportStar(require("./dtos/responses/LoanDeviceLastSeenResponse"), exports);
88
+ __exportStar(require("./dtos/responses/LoanDeviceLockResult"), exports);
89
+ __exportStar(require("./dtos/responses/LoanDeviceManualLockResponse"), exports);
90
+ __exportStar(require("./dtos/responses/LoanDeviceUnlockResult"), exports);
91
+ __exportStar(require("./dtos/responses/LoanDeviceManualUnlockResponse"), exports);
@@ -7,4 +7,17 @@ export declare class GetNearbyPlacesRequest {
7
7
  latitude: number;
8
8
  longitude: number;
9
9
  types: PlaceTypeEnum[];
10
+ /**
11
+ * Radio de búsqueda en km.
12
+ *
13
+ * Sólo aplica a los tipos que consultan un directorio EN VIVO del proveedor; los que
14
+ * se sirven de la cache geoespacial lo ignoran, porque su área la fija la resolución
15
+ * de las celdas y no un radio del request.
16
+ *
17
+ * Omitido = el default de quien atiende la búsqueda. No lleva `@Max` acá a propósito:
18
+ * el tope sano depende del proveedor (un directorio que no pagina devuelve miles de
19
+ * tiendas en una sola respuesta), así que lo aplica el lambda que lo consume y no este
20
+ * contrato, que es compartido.
21
+ */
22
+ radius?: number;
10
23
  }
@@ -37,3 +37,9 @@ __decorate([
37
37
  (0, class_validator_1.IsEnum)(PlaceTypeEnum_1.PlaceTypeEnum, { each: true }),
38
38
  __metadata("design:type", Array)
39
39
  ], GetNearbyPlacesRequest.prototype, "types", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsNumber)(),
43
+ (0, class_validator_1.IsPositive)(),
44
+ __metadata("design:type", Number)
45
+ ], GetNearbyPlacesRequest.prototype, "radius", void 0);
@@ -1,11 +1,25 @@
1
1
  import { EstablishmentDto } from './EstablishmentDto';
2
2
  import { OfficeDto } from '../../offices/dtos/OfficeDto';
3
+ import { FundingStoreItem } from '../../walletFunding/dtos/FundingStoreItem';
3
4
  /**
4
5
  * Respuesta de la búsqueda unificada. Solo se incluyen los tipos pedidos en `types`.
5
6
  */
6
7
  export declare class GetNearbyPlacesResponse {
7
8
  cashInUs?: EstablishmentDto[];
8
9
  cashInMx?: EstablishmentDto[];
10
+ /**
11
+ * Cash-in MX servido por el directorio EN VIVO del proveedor de fondeo, en vez de
12
+ * por la cache geoespacial que alimenta `cashInMx`.
13
+ *
14
+ * Campo aparte a propósito, por dos razones. `FundingStoreItem` trae lo que
15
+ * `EstablishmentDto` no tiene y la app necesita pintar en el pin —comisión de caja,
16
+ * tope por operación, horario, logo—; y es el MISMO tipo que ya comparten el connector
17
+ * y el wallet-app, así que reusarlo evita una tercera declaración del mismo concepto.
18
+ *
19
+ * Cuál de los dos campos se llena lo decide la configuración de ruteo del lambda:
20
+ * viene uno u otro, nunca los dos.
21
+ */
22
+ cashInMxStores?: FundingStoreItem[];
9
23
  officeFiado?: OfficeDto[];
10
24
  storeFiado?: OfficeDto[];
11
25
  }
@@ -11,5 +11,10 @@ export declare enum BlockedCategoryEnum {
11
11
  */
12
12
  UNDER_REVIEW = "UNDER_REVIEW",
13
13
  /** Falla pasajera del proveedor o de la lectura; cede sola cuando el servicio vuelve. */
14
- TEMPORARY = "TEMPORARY"
14
+ TEMPORARY = "TEMPORARY",
15
+ /**
16
+ * Quien revisaba el caso ya resolvió que la cuenta no se abre. Es terminal: nadie la va a
17
+ * destrabar y la venta no continúa. Tampoco dice por qué.
18
+ */
19
+ REJECTED = "REJECTED"
15
20
  }
@@ -16,4 +16,9 @@ var BlockedCategoryEnum;
16
16
  BlockedCategoryEnum["UNDER_REVIEW"] = "UNDER_REVIEW";
17
17
  /** Falla pasajera del proveedor o de la lectura; cede sola cuando el servicio vuelve. */
18
18
  BlockedCategoryEnum["TEMPORARY"] = "TEMPORARY";
19
+ /**
20
+ * Quien revisaba el caso ya resolvió que la cuenta no se abre. Es terminal: nadie la va a
21
+ * destrabar y la venta no continúa. Tampoco dice por qué.
22
+ */
23
+ BlockedCategoryEnum["REJECTED"] = "REJECTED";
19
24
  })(BlockedCategoryEnum || (exports.BlockedCategoryEnum = BlockedCategoryEnum = {}));
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Motivo por el que un cliente quedó como prospecto, filtrados por paso.
3
3
  *
4
- * Los primeros quince son objeciones del CLIENTE y los elige el vendedor. Los dos últimos los pone
4
+ * Los primeros quince son objeciones del CLIENTE y los elige el vendedor. Los tres últimos los pone
5
5
  * el sistema cuando la venta se traba por la cuenta: no se ofrecen en el desplegable ni se editan.
6
6
  * SureKeep Fase 2 — pista Retail.
7
7
  */
@@ -27,7 +27,9 @@ export declare enum PendingReasonEnum {
27
27
  */
28
28
  ACCOUNT_UNDER_REVIEW = "ACCOUNT_UNDER_REVIEW",
29
29
  /** La cuenta no abrió por un dato del expediente o una falla del proveedor. */
30
- ACCOUNT_OPEN_FAILED = "ACCOUNT_OPEN_FAILED"
30
+ ACCOUNT_OPEN_FAILED = "ACCOUNT_OPEN_FAILED",
31
+ /** La revisión terminó y la cuenta no se abre. La venta no continúa. */
32
+ ACCOUNT_REJECTED = "ACCOUNT_REJECTED"
31
33
  }
32
34
  /** Los que pone el sistema al trabarse la venta: no se ofrecen al vendedor ni se pueden editar. */
33
35
  export declare const SYSTEM_PENDING_REASONS: readonly PendingReasonEnum[];
@@ -4,7 +4,7 @@ exports.SYSTEM_PENDING_REASONS = exports.PendingReasonEnum = void 0;
4
4
  /**
5
5
  * Motivo por el que un cliente quedó como prospecto, filtrados por paso.
6
6
  *
7
- * Los primeros quince son objeciones del CLIENTE y los elige el vendedor. Los dos últimos los pone
7
+ * Los primeros quince son objeciones del CLIENTE y los elige el vendedor. Los tres últimos los pone
8
8
  * el sistema cuando la venta se traba por la cuenta: no se ofrecen en el desplegable ni se editan.
9
9
  * SureKeep Fase 2 — pista Retail.
10
10
  */
@@ -32,9 +32,12 @@ var PendingReasonEnum;
32
32
  PendingReasonEnum["ACCOUNT_UNDER_REVIEW"] = "ACCOUNT_UNDER_REVIEW";
33
33
  /** La cuenta no abrió por un dato del expediente o una falla del proveedor. */
34
34
  PendingReasonEnum["ACCOUNT_OPEN_FAILED"] = "ACCOUNT_OPEN_FAILED";
35
+ /** La revisión terminó y la cuenta no se abre. La venta no continúa. */
36
+ PendingReasonEnum["ACCOUNT_REJECTED"] = "ACCOUNT_REJECTED";
35
37
  })(PendingReasonEnum || (exports.PendingReasonEnum = PendingReasonEnum = {}));
36
38
  /** Los que pone el sistema al trabarse la venta: no se ofrecen al vendedor ni se pueden editar. */
37
39
  exports.SYSTEM_PENDING_REASONS = [
38
40
  PendingReasonEnum.ACCOUNT_UNDER_REVIEW,
39
41
  PendingReasonEnum.ACCOUNT_OPEN_FAILED,
42
+ PendingReasonEnum.ACCOUNT_REJECTED,
40
43
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.328.0",
3
+ "version": "3.331.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -28,4 +28,4 @@
28
28
  "class-validator": "^0.14.2",
29
29
  "reflect-metadata": "^0.2.2"
30
30
  }
31
- }
31
+ }
@@ -13,4 +13,14 @@ export interface ManualApproval {
13
13
  at: string;
14
14
  /** justificación obligatoria del override */
15
15
  reason: string;
16
+ /**
17
+ * Conclusión del oficial. Ausente en los sellos escritos antes de este campo, que solo se
18
+ * estampaban al aprobar: leerlos sin `verdict` equivale a `APPROVED`.
19
+ */
20
+ verdict?: ManualApprovalVerdict;
21
+ /** Alerta de PLD que se dictaminó, para rastrear el sello hasta su expediente. */
22
+ alertId?: string;
16
23
  }
24
+
25
+ /** Conclusión del oficial de cumplimiento sobre la lista que revisó. */
26
+ export type ManualApprovalVerdict = 'APPROVED' | 'REJECTED';
@@ -137,6 +137,10 @@ export class PeopleResponse {
137
137
  /** Geolocalización aprobada. `null` = no evaluada; solo `false` bloquea. */
138
138
  geoApproved?:boolean | null;
139
139
  cnbvManualApproval?: ManualApproval | null;
140
+ /** Sello del oficial sobre las listas internacionales y PEP (`blackListApproved`). */
141
+ blackListManualApproval?: ManualApproval | null;
142
+ /** Sello del oficial sobre la lista negra interna de Fiado (`fiadoListApproved`). */
143
+ fiadoListManualApproval?: ManualApproval | null;
140
144
  minorManualApproval?: ManualApproval | null;
141
145
 
142
146
  }
@@ -60,6 +60,8 @@ export class PeopleUpdateRequest {
60
60
  ofacListApproved?: boolean | null;
61
61
  cnbvListApproved?: boolean | null;
62
62
  cnbvManualApproval?: ManualApproval | null;
63
+ blackListManualApproval?: ManualApproval | null;
64
+ fiadoListManualApproval?: ManualApproval | null;
63
65
  minorManualApproval?: ManualApproval | null;
64
66
  blackListApproved?: boolean | null;
65
67
  whiteList?: boolean | null;
@@ -0,0 +1,2 @@
1
+ /** Cota de ítems por request; es el tamaño de lote del fan-out SQS de cobranza. */
2
+ export const LOAN_DEVICE_MAX_BATCH = 500;
@@ -0,0 +1,9 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsUUID } from 'class-validator';
3
+
4
+ /** Ítem que solo referencia un crédito, para las mutaciones que no necesitan más datos. */
5
+ export class LoanDeviceCreditRefItem {
6
+ @Expose()
7
+ @IsUUID()
8
+ creditId: string;
9
+ }
@@ -0,0 +1,47 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsISO8601, IsInt, IsNotEmpty, IsOptional, IsPositive, IsString, IsUUID, Matches, Max, MaxLength } from 'class-validator';
3
+ import { SKU_PATTERN } from '../../retailCatalog/constants/SkuPattern';
4
+
5
+ /** Charset y largo del IMEI: exactamente 15 dígitos. */
6
+ const IMEI_PATTERN = /^\d{15}$/;
7
+
8
+ /** Plazo máximo del crédito en meses. */
9
+ const MAX_TERM_MONTHS = 60;
10
+
11
+ /** Ítem de enrolamiento: un crédito con el equipo que se va a enrolar en el MDM. */
12
+ export class LoanDeviceEnrollItem {
13
+ @Expose()
14
+ @IsUUID()
15
+ creditId: string;
16
+
17
+ @Expose()
18
+ @IsString()
19
+ @IsNotEmpty()
20
+ @Matches(IMEI_PATTERN, { message: 'imei admite solo 15 dígitos' })
21
+ imei: string;
22
+
23
+ /** Segundo IMEI del equipo (dual SIM), si lo tiene. */
24
+ @Expose()
25
+ @IsOptional()
26
+ @IsString()
27
+ @Matches(IMEI_PATTERN, { message: 'imei2 admite solo 15 dígitos' })
28
+ imei2?: string;
29
+
30
+ @Expose()
31
+ @IsString()
32
+ @IsNotEmpty()
33
+ @MaxLength(64)
34
+ @Matches(SKU_PATTERN, { message: 'productSku admite solo [A-Za-z0-9-]' })
35
+ productSku: string;
36
+
37
+ @Expose()
38
+ @IsInt()
39
+ @IsPositive()
40
+ @Max(MAX_TERM_MONTHS)
41
+ termMonths: number;
42
+
43
+ /** En modo SCHEDULED es el primer autolock. */
44
+ @Expose()
45
+ @IsISO8601()
46
+ firstDueDate: string;
47
+ }
@@ -0,0 +1,22 @@
1
+ import { Expose, Type } from 'class-transformer';
2
+ import { IsEnum, IsOptional, IsUUID, ValidateNested } from 'class-validator';
3
+ import { LoanDeviceLockReasonEnum } from '../enums/LoanDeviceLockReasonEnum';
4
+ import { DeviceLockScreenMessage } from '../../mdm/dtos/DeviceLockScreenMessage';
5
+
6
+ /** Ítem de bloqueo manual: qué crédito se bloquea, por qué y con qué mensaje en pantalla. */
7
+ export class LoanDeviceManualLockItem {
8
+ @Expose()
9
+ @IsUUID()
10
+ creditId: string;
11
+
12
+ @Expose()
13
+ @IsEnum(LoanDeviceLockReasonEnum)
14
+ reason: LoanDeviceLockReasonEnum;
15
+
16
+ /** Mensaje que ve el usuario en la pantalla bloqueada; si no viene, el lambda usa el default. */
17
+ @Expose()
18
+ @IsOptional()
19
+ @ValidateNested()
20
+ @Type(() => DeviceLockScreenMessage)
21
+ screenMessage?: DeviceLockScreenMessage;
22
+ }
@@ -0,0 +1,11 @@
1
+ import { LoanDeviceResult } from './LoanDeviceResult';
2
+
3
+ /** Resultado por ítem de las mutaciones (enroll, lock, unlock), que sí llevan referencia de operación. */
4
+ export class LoanDeviceOperationResult extends LoanDeviceResult {
5
+ /** Referencia de la operación con la que el caller correlaciona el batch. */
6
+ operationReference: string;
7
+
8
+ /** Referencia opaca del proveedor, solo para trazabilidad de soporte.
9
+ * El avance se consulta por `creditId` en `enroll-status` (enroll) o `status` (lock/unlock). */
10
+ pollingHandle?: string;
11
+ }
@@ -0,0 +1,12 @@
1
+ import { MdmOperationStatusEnum } from '../../mdm/enums/MdmOperationStatusEnum';
2
+ import { MdmError } from '../../mdm/dtos/MdmError';
3
+
4
+ /** Base de todo resultado por ítem: un ítem puede fallar sin tumbar el batch completo. */
5
+ export class LoanDeviceResult {
6
+ creditId: string;
7
+
8
+ /** Solo toma SUCCESS | PENDING | ERROR; el motivo del fallo viaja en `error.code`. */
9
+ status: MdmOperationStatusEnum;
10
+
11
+ error?: MdmError;
12
+ }
@@ -0,0 +1,23 @@
1
+ import { Expose, Type } from 'class-transformer';
2
+ import { ArrayMaxSize, ArrayNotEmpty, ArrayUnique, IsArray, IsNotEmpty, IsString, Length, ValidateNested } from 'class-validator';
3
+ import { LoanDeviceEnrollItem } from '../LoanDeviceEnrollItem';
4
+ import { LOAN_DEVICE_MAX_BATCH } from '../../constants/LoanDeviceBatchLimits';
5
+
6
+ /** Body de `POST /private/devices/enroll` (loan-credit-business). Enrola en lote. */
7
+ export class LoanDeviceEnrollRequest {
8
+ @Expose()
9
+ @IsArray()
10
+ @ArrayNotEmpty()
11
+ @ArrayMaxSize(LOAN_DEVICE_MAX_BATCH)
12
+ @ArrayUnique((item: LoanDeviceEnrollItem) => item.creditId)
13
+ @ValidateNested({ each: true })
14
+ @Type(() => LoanDeviceEnrollItem)
15
+ items: LoanDeviceEnrollItem[];
16
+
17
+ /** Referencia con la que el caller correlaciona este batch; vuelve en cada resultado. */
18
+ @Expose()
19
+ @IsString()
20
+ @IsNotEmpty()
21
+ @Length(1, 64)
22
+ operationReference: string;
23
+ }
@@ -0,0 +1,14 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { ArrayMaxSize, ArrayNotEmpty, ArrayUnique, IsArray, IsUUID } from 'class-validator';
3
+ import { LOAN_DEVICE_MAX_BATCH } from '../../constants/LoanDeviceBatchLimits';
4
+
5
+ /** Body de `POST /private/devices/enroll-status` (loan-credit-business). Consulta en lote. */
6
+ export class LoanDeviceEnrollStatusRequest {
7
+ @Expose()
8
+ @IsArray()
9
+ @ArrayNotEmpty()
10
+ @ArrayMaxSize(LOAN_DEVICE_MAX_BATCH)
11
+ @ArrayUnique()
12
+ @IsUUID(undefined, { each: true })
13
+ creditIds: string[];
14
+ }
@@ -0,0 +1,14 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { ArrayMaxSize, ArrayNotEmpty, ArrayUnique, IsArray, IsUUID } from 'class-validator';
3
+ import { LOAN_DEVICE_MAX_BATCH } from '../../constants/LoanDeviceBatchLimits';
4
+
5
+ /** Body de `POST /private/devices/last-seen` (loan-credit-business). Consulta en lote. */
6
+ export class LoanDeviceLastSeenRequest {
7
+ @Expose()
8
+ @IsArray()
9
+ @ArrayNotEmpty()
10
+ @ArrayMaxSize(LOAN_DEVICE_MAX_BATCH)
11
+ @ArrayUnique()
12
+ @IsUUID(undefined, { each: true })
13
+ creditIds: string[];
14
+ }
@@ -0,0 +1,23 @@
1
+ import { Expose, Type } from 'class-transformer';
2
+ import { ArrayMaxSize, ArrayNotEmpty, ArrayUnique, IsArray, IsNotEmpty, IsString, Length, ValidateNested } from 'class-validator';
3
+ import { LoanDeviceManualLockItem } from '../LoanDeviceManualLockItem';
4
+ import { LOAN_DEVICE_MAX_BATCH } from '../../constants/LoanDeviceBatchLimits';
5
+
6
+ /** Body de `POST /private/devices/manual-lock` (loan-credit-business). Bloquea en lote. */
7
+ export class LoanDeviceManualLockRequest {
8
+ @Expose()
9
+ @IsArray()
10
+ @ArrayNotEmpty()
11
+ @ArrayMaxSize(LOAN_DEVICE_MAX_BATCH)
12
+ @ArrayUnique((item: LoanDeviceManualLockItem) => item.creditId)
13
+ @ValidateNested({ each: true })
14
+ @Type(() => LoanDeviceManualLockItem)
15
+ items: LoanDeviceManualLockItem[];
16
+
17
+ /** Referencia con la que el caller correlaciona este batch; vuelve en cada resultado. */
18
+ @Expose()
19
+ @IsString()
20
+ @IsNotEmpty()
21
+ @Length(1, 64)
22
+ operationReference: string;
23
+ }
@@ -0,0 +1,23 @@
1
+ import { Expose, Type } from 'class-transformer';
2
+ import { ArrayMaxSize, ArrayNotEmpty, ArrayUnique, IsArray, IsNotEmpty, IsString, Length, ValidateNested } from 'class-validator';
3
+ import { LoanDeviceCreditRefItem } from '../LoanDeviceCreditRefItem';
4
+ import { LOAN_DEVICE_MAX_BATCH } from '../../constants/LoanDeviceBatchLimits';
5
+
6
+ /** Body de `POST /private/devices/manual-unlock` (loan-credit-business). Desbloquea en lote. */
7
+ export class LoanDeviceManualUnlockRequest {
8
+ @Expose()
9
+ @IsArray()
10
+ @ArrayNotEmpty()
11
+ @ArrayMaxSize(LOAN_DEVICE_MAX_BATCH)
12
+ @ArrayUnique((item: LoanDeviceCreditRefItem) => item.creditId)
13
+ @ValidateNested({ each: true })
14
+ @Type(() => LoanDeviceCreditRefItem)
15
+ items: LoanDeviceCreditRefItem[];
16
+
17
+ /** Referencia con la que el caller correlaciona este batch; vuelve en cada resultado. */
18
+ @Expose()
19
+ @IsString()
20
+ @IsNotEmpty()
21
+ @Length(1, 64)
22
+ operationReference: string;
23
+ }
@@ -0,0 +1,14 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { ArrayMaxSize, ArrayNotEmpty, ArrayUnique, IsArray, IsUUID } from 'class-validator';
3
+ import { LOAN_DEVICE_MAX_BATCH } from '../../constants/LoanDeviceBatchLimits';
4
+
5
+ /** Body de `POST /private/devices/status` (loan-credit-business). Consulta en lote. */
6
+ export class LoanDeviceStatusRequest {
7
+ @Expose()
8
+ @IsArray()
9
+ @ArrayNotEmpty()
10
+ @ArrayMaxSize(LOAN_DEVICE_MAX_BATCH)
11
+ @ArrayUnique()
12
+ @IsUUID(undefined, { each: true })
13
+ creditIds: string[];
14
+ }
@@ -0,0 +1,6 @@
1
+ import { LoanDeviceEnrollResult } from './LoanDeviceEnrollResult';
2
+
3
+ /** Response de `POST /private/devices/enroll`. Un resultado por ítem enviado. */
4
+ export class LoanDeviceEnrollResponse {
5
+ results: LoanDeviceEnrollResult[];
6
+ }
@@ -0,0 +1,8 @@
1
+ import { LoanDeviceOperationResult } from '../LoanDeviceOperationResult';
2
+ import { LoanDeviceMdmStatusEnum } from '../../enums/LoanDeviceMdmStatusEnum';
3
+
4
+ /** Resultado por crédito del enrolamiento en lote. */
5
+ export class LoanDeviceEnrollResult extends LoanDeviceOperationResult {
6
+ /** Estado nuestro del expediente después de intentar el enroll. */
7
+ mdmStatus: LoanDeviceMdmStatusEnum;
8
+ }
@@ -0,0 +1,6 @@
1
+ import { LoanDeviceEnrollStatusResult } from './LoanDeviceEnrollStatusResult';
2
+
3
+ /** Response de `POST /private/devices/enroll-status`. Un resultado por crédito consultado. */
4
+ export class LoanDeviceEnrollStatusResponse {
5
+ results: LoanDeviceEnrollStatusResult[];
6
+ }
@@ -0,0 +1,21 @@
1
+ import { LoanDeviceResult } from '../LoanDeviceResult';
2
+ import { LoanDeviceMdmStatusEnum } from '../../enums/LoanDeviceMdmStatusEnum';
3
+ import { DeviceEnrollmentModeEnum } from '../../../mdm/enums/DeviceEnrollmentModeEnum';
4
+
5
+ /** Resultado por crédito del avance del enrolamiento. */
6
+ export class LoanDeviceEnrollStatusResult extends LoanDeviceResult {
7
+ /** Estado nuestro del expediente. */
8
+ mdmStatus: LoanDeviceMdmStatusEnum;
9
+
10
+ /** Referencia de la operación de enroll que dejó el expediente en este estado. */
11
+ operationReference?: string;
12
+
13
+ /** Referencia opaca del proveedor, solo para trazabilidad de soporte.
14
+ * El avance se consulta por `creditId` en este mismo endpoint. */
15
+ pollingHandle?: string;
16
+
17
+ enrolledAt?: string;
18
+
19
+ /** Modo con el que se resolvió el enroll (por API o esperando al dispositivo). */
20
+ enrollmentMode?: DeviceEnrollmentModeEnum;
21
+ }
@@ -0,0 +1,6 @@
1
+ import { LoanDeviceLastSeenResult } from './LoanDeviceLastSeenResult';
2
+
3
+ /** Response de `POST /private/devices/last-seen`. Un resultado por crédito consultado. */
4
+ export class LoanDeviceLastSeenResponse {
5
+ results: LoanDeviceLastSeenResult[];
6
+ }
@@ -0,0 +1,6 @@
1
+ import { LoanDeviceResult } from '../LoanDeviceResult';
2
+
3
+ /** Resultado por crédito de la última vez que se vio el dispositivo. */
4
+ export class LoanDeviceLastSeenResult extends LoanDeviceResult {
5
+ lastSeenAt?: string;
6
+ }
@@ -0,0 +1,10 @@
1
+ import { LoanDeviceOperationResult } from '../LoanDeviceOperationResult';
2
+ import { LoanDeviceMdmStatusEnum } from '../../enums/LoanDeviceMdmStatusEnum';
3
+
4
+ /** Resultado por crédito del bloqueo manual en lote. */
5
+ export class LoanDeviceLockResult extends LoanDeviceOperationResult {
6
+ /** Estado nuestro del expediente después de intentar el bloqueo. */
7
+ mdmStatus: LoanDeviceMdmStatusEnum;
8
+
9
+ lockedAt?: string;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { LoanDeviceLockResult } from './LoanDeviceLockResult';
2
+
3
+ /** Response de `POST /private/devices/manual-lock`. Un resultado por ítem enviado. */
4
+ export class LoanDeviceManualLockResponse {
5
+ results: LoanDeviceLockResult[];
6
+ }
@@ -0,0 +1,6 @@
1
+ import { LoanDeviceUnlockResult } from './LoanDeviceUnlockResult';
2
+
3
+ /** Response de `POST /private/devices/manual-unlock`. Un resultado por ítem enviado. */
4
+ export class LoanDeviceManualUnlockResponse {
5
+ results: LoanDeviceUnlockResult[];
6
+ }
@@ -0,0 +1,6 @@
1
+ import { LoanDeviceStatusResult } from './LoanDeviceStatusResult';
2
+
3
+ /** Response de `POST /private/devices/status`. Un resultado por crédito consultado. */
4
+ export class LoanDeviceStatusResponse {
5
+ results: LoanDeviceStatusResult[];
6
+ }
@@ -0,0 +1,39 @@
1
+ import { LoanDeviceResult } from '../LoanDeviceResult';
2
+ import { LoanDeviceMdmStatusEnum } from '../../enums/LoanDeviceMdmStatusEnum';
3
+ import { LoanDeviceLockReasonEnum } from '../../enums/LoanDeviceLockReasonEnum';
4
+ import { MdmDeviceStatusEnum } from '../../../mdm/enums/MdmDeviceStatusEnum';
5
+ import { MdmOperationTypeEnum } from '../../../mdm/enums/MdmOperationTypeEnum';
6
+ import { MdmProviderEnum } from '../../../mdm/enums/MdmProviderEnum';
7
+ import { MdmLockModeEnum } from '../../../retailCatalog/enums/MdmLockModeEnum';
8
+
9
+ /** Resultado por crédito del estado del dispositivo. */
10
+ export class LoanDeviceStatusResult extends LoanDeviceResult {
11
+ /** Estado nuestro del expediente; es el autoritativo. */
12
+ mdmStatus: LoanDeviceMdmStatusEnum;
13
+
14
+ /** Observación del proveedor, solo informativa: el autoritativo es `mdmStatus`. */
15
+ providerStatus?: MdmDeviceStatusEnum;
16
+
17
+ /** Proveedor con el que se enroló; queda congelado al enrolar. */
18
+ mdmProvider?: MdmProviderEnum;
19
+
20
+ /** Modo de bloqueo con el que se enroló; queda congelado al enrolar. */
21
+ mdmLockMode?: MdmLockModeEnum;
22
+
23
+ imei?: string;
24
+
25
+ /** Motivo del bloqueo vigente; es lo que decide si el backoffice desbloquea. */
26
+ lockReason?: LoanDeviceLockReasonEnum;
27
+
28
+ lockedAt?: string;
29
+
30
+ /** ISO-8601 del próximo autolock programado; solo aplica en modo SCHEDULED. */
31
+ currentLockScheduledFor?: string;
32
+
33
+ lastSeenAt?: string;
34
+
35
+ /** Operación a la que corresponde `lastOperationAt`. */
36
+ lastOperationType?: MdmOperationTypeEnum;
37
+
38
+ lastOperationAt?: string;
39
+ }
@@ -0,0 +1,10 @@
1
+ import { LoanDeviceOperationResult } from '../LoanDeviceOperationResult';
2
+ import { LoanDeviceMdmStatusEnum } from '../../enums/LoanDeviceMdmStatusEnum';
3
+
4
+ /** Resultado por crédito del desbloqueo manual en lote. */
5
+ export class LoanDeviceUnlockResult extends LoanDeviceOperationResult {
6
+ /** Estado nuestro del expediente después de intentar el desbloqueo. */
7
+ mdmStatus: LoanDeviceMdmStatusEnum;
8
+
9
+ unlockedAt?: string;
10
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Motivo por el que se bloquea manualmente el dispositivo de un crédito.
3
+ * @enum {string}
4
+ */
5
+ export enum LoanDeviceLockReasonEnum {
6
+ /** Cuota vencida (T+1). */
7
+ OVERDUE_T_PLUS_1 = 'OVERDUE_T_PLUS_1',
8
+ /** Sospecha o confirmación de fraude. */
9
+ FRAUD = 'FRAUD',
10
+ /** Bloqueo manual disparado por un administrador. */
11
+ ADMIN_MANUAL = 'ADMIN_MANUAL',
12
+ }