@fiado/type-kit 3.1.30 → 3.2.1

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 (204) hide show
  1. package/bin/benefitCenter/dtos/BannerActionRequest.d.ts +7 -0
  2. package/bin/benefitCenter/dtos/BannerActionRequest.js +36 -0
  3. package/bin/benefitCenter/dtos/BannerContentRequest.d.ts +6 -0
  4. package/bin/benefitCenter/dtos/BannerContentRequest.js +28 -0
  5. package/bin/benefitCenter/dtos/BannerCreateRequest.d.ts +14 -0
  6. package/bin/benefitCenter/dtos/BannerCreateRequest.js +64 -0
  7. package/bin/benefitCenter/dtos/BannerTranslationRequest.d.ts +7 -0
  8. package/bin/benefitCenter/dtos/BannerTranslationRequest.js +41 -0
  9. package/bin/benefitCenter/dtos/BannerTranslationsRequest.d.ts +5 -0
  10. package/bin/benefitCenter/dtos/BannerTranslationsRequest.js +30 -0
  11. package/bin/benefitCenter/dtos/BannerUpdateRequest.d.ts +13 -0
  12. package/bin/benefitCenter/dtos/BannerUpdateRequest.js +63 -0
  13. package/bin/benefitCenter/dtos/BenefitCreateRequest.d.ts +20 -0
  14. package/bin/benefitCenter/dtos/BenefitCreateRequest.js +73 -0
  15. package/bin/benefitCenter/dtos/BenefitModuleConfigRequest.d.ts +4 -0
  16. package/bin/benefitCenter/dtos/BenefitModuleConfigRequest.js +25 -0
  17. package/bin/benefitCenter/dtos/BenefitModuleEntryRequest.d.ts +4 -0
  18. package/bin/benefitCenter/dtos/BenefitModuleEntryRequest.js +26 -0
  19. package/bin/benefitCenter/dtos/BenefitUpdateRequest.d.ts +14 -0
  20. package/bin/benefitCenter/dtos/BenefitUpdateRequest.js +67 -0
  21. package/bin/benefitCenter/dtos/PublicVerifyReferenceRequest.d.ts +16 -0
  22. package/bin/benefitCenter/dtos/PublicVerifyReferenceRequest.js +50 -0
  23. package/bin/benefitCenter/index.d.ts +11 -0
  24. package/bin/benefitCenter/index.js +12 -0
  25. package/bin/credit/dtos/BannerStateResponse.d.ts +19 -4
  26. package/bin/credit/dtos/BannerStateResponse.js +7 -1
  27. package/bin/credit/dtos/CreditOfferOptionItem.d.ts +6 -0
  28. package/bin/credit/dtos/EligibilityResponse.d.ts +2 -2
  29. package/bin/creditBackoffice/dtos/BackofficeApplicationDetail.d.ts +36 -0
  30. package/bin/creditBackoffice/dtos/BackofficeApplicationDetail.js +14 -0
  31. package/bin/creditBackoffice/dtos/BackofficeApplicationsListItem.d.ts +11 -0
  32. package/bin/creditBackoffice/dtos/BackofficeApplicationsListItem.js +6 -0
  33. package/bin/creditBackoffice/dtos/BackofficeCreditDetail.d.ts +80 -0
  34. package/bin/creditBackoffice/dtos/BackofficeCreditDetail.js +21 -0
  35. package/bin/creditBackoffice/dtos/BackofficeCreditsListItem.d.ts +14 -0
  36. package/bin/creditBackoffice/dtos/BackofficeCreditsListItem.js +6 -0
  37. package/bin/creditBackoffice/dtos/BackofficeIncomeSourceItem.d.ts +13 -0
  38. package/bin/creditBackoffice/dtos/BackofficeIncomeSourceItem.js +6 -0
  39. package/bin/creditBackoffice/dtos/BackofficeOfferDetail.d.ts +35 -0
  40. package/bin/creditBackoffice/dtos/BackofficeOfferDetail.js +14 -0
  41. package/bin/creditBackoffice/dtos/BackofficeOffersListItem.d.ts +16 -0
  42. package/bin/creditBackoffice/dtos/BackofficeOffersListItem.js +6 -0
  43. package/bin/creditBackoffice/dtos/BackofficePagination.d.ts +6 -0
  44. package/bin/creditBackoffice/dtos/BackofficePagination.js +6 -0
  45. package/bin/creditBackoffice/dtos/BackofficePipeline.d.ts +11 -0
  46. package/bin/creditBackoffice/dtos/BackofficePipeline.js +6 -0
  47. package/bin/creditBackoffice/dtos/BackofficePipelineByLevel.d.ts +6 -0
  48. package/bin/creditBackoffice/dtos/BackofficePipelineByLevel.js +6 -0
  49. package/bin/creditBackoffice/dtos/BackofficeProfileDetail.d.ts +68 -0
  50. package/bin/creditBackoffice/dtos/BackofficeProfileDetail.js +13 -0
  51. package/bin/creditBackoffice/dtos/BackofficeProfilesListItem.d.ts +17 -0
  52. package/bin/creditBackoffice/dtos/BackofficeProfilesListItem.js +6 -0
  53. package/bin/creditBackoffice/dtos/BackofficeProfilesListResponse.d.ts +6 -0
  54. package/bin/creditBackoffice/dtos/BackofficeProfilesListResponse.js +6 -0
  55. package/bin/creditBackoffice/dtos/BackofficeProfilesSummary.d.ts +19 -0
  56. package/bin/creditBackoffice/dtos/BackofficeProfilesSummary.js +6 -0
  57. package/bin/creditBackoffice/dtos/ConfigSnapshotListItem.d.ts +10 -0
  58. package/bin/creditBackoffice/dtos/ConfigSnapshotListItem.js +9 -0
  59. package/bin/creditBackoffice/dtos/SimulateImpactRequest.d.ts +9 -0
  60. package/bin/creditBackoffice/dtos/SimulateImpactRequest.js +34 -0
  61. package/bin/creditBackoffice/dtos/SimulateImpactResult.d.ts +46 -0
  62. package/bin/creditBackoffice/dtos/SimulateImpactResult.js +18 -0
  63. package/bin/creditBackoffice/dtos/SimulateInterestRequest.d.ts +8 -0
  64. package/bin/creditBackoffice/dtos/SimulateInterestRequest.js +30 -0
  65. package/bin/creditBackoffice/dtos/SimulateInterestResult.d.ts +10 -0
  66. package/bin/creditBackoffice/dtos/SimulateInterestResult.js +9 -0
  67. package/bin/creditBackoffice/dtos/UpdateConfigRequest.d.ts +10 -0
  68. package/bin/creditBackoffice/dtos/UpdateConfigRequest.js +40 -0
  69. package/bin/creditBackoffice/enums/ConfigType.d.ts +17 -0
  70. package/bin/creditBackoffice/enums/ConfigType.js +21 -0
  71. package/bin/creditBackoffice/index.d.ts +21 -0
  72. package/bin/creditBackoffice/index.js +39 -0
  73. package/bin/creditDashboard/dtos/CohortQualityItem.d.ts +8 -0
  74. package/bin/creditDashboard/dtos/CohortQualityItem.js +6 -0
  75. package/bin/creditDashboard/dtos/DashboardSummary.d.ts +8 -0
  76. package/bin/creditDashboard/dtos/DashboardSummary.js +6 -0
  77. package/bin/creditDashboard/dtos/NurturingFunnelItem.d.ts +5 -0
  78. package/bin/creditDashboard/dtos/NurturingFunnelItem.js +6 -0
  79. package/bin/creditDashboard/dtos/OriginationCompositionResult.d.ts +13 -0
  80. package/bin/creditDashboard/dtos/OriginationCompositionResult.js +6 -0
  81. package/bin/creditDashboard/dtos/OriginationEfficiencyResult.d.ts +8 -0
  82. package/bin/creditDashboard/dtos/OriginationEfficiencyResult.js +6 -0
  83. package/bin/creditDashboard/dtos/OriginationMonthlyItem.d.ts +6 -0
  84. package/bin/creditDashboard/dtos/OriginationMonthlyItem.js +6 -0
  85. package/bin/creditDashboard/dtos/OriginationSummaryResult.d.ts +6 -0
  86. package/bin/creditDashboard/dtos/OriginationSummaryResult.js +6 -0
  87. package/bin/creditDashboard/dtos/OriginationWeeklyItem.d.ts +7 -0
  88. package/bin/creditDashboard/dtos/OriginationWeeklyItem.js +6 -0
  89. package/bin/creditDashboard/dtos/PipelineLevelRow.d.ts +26 -0
  90. package/bin/creditDashboard/dtos/PipelineLevelRow.js +6 -0
  91. package/bin/creditDashboard/dtos/PipelineWeek.d.ts +6 -0
  92. package/bin/creditDashboard/dtos/PipelineWeek.js +6 -0
  93. package/bin/creditDashboard/dtos/PortfolioActiveItem.d.ts +12 -0
  94. package/bin/creditDashboard/dtos/PortfolioActiveItem.js +6 -0
  95. package/bin/creditDashboard/dtos/PortfolioBalance.d.ts +5 -0
  96. package/bin/creditDashboard/dtos/PortfolioBalance.js +6 -0
  97. package/bin/creditDashboard/dtos/PortfolioBalanceMonthlyItem.d.ts +5 -0
  98. package/bin/creditDashboard/dtos/PortfolioBalanceMonthlyItem.js +6 -0
  99. package/bin/creditDashboard/dtos/PortfolioByLevelItem.d.ts +7 -0
  100. package/bin/creditDashboard/dtos/PortfolioByLevelItem.js +6 -0
  101. package/bin/creditDashboard/dtos/PortfolioResolutionItem.d.ts +8 -0
  102. package/bin/creditDashboard/dtos/PortfolioResolutionItem.js +6 -0
  103. package/bin/creditDashboard/dtos/PortfolioUpcomingWeek.d.ts +7 -0
  104. package/bin/creditDashboard/dtos/PortfolioUpcomingWeek.js +6 -0
  105. package/bin/creditDashboard/index.d.ts +16 -0
  106. package/bin/creditDashboard/index.js +32 -0
  107. package/bin/creditEngine/dtos/AdvancedPaymentRequest.d.ts +8 -0
  108. package/bin/creditEngine/dtos/AdvancedPaymentRequest.js +30 -0
  109. package/bin/creditEngine/dtos/AnticipatedPaymentRequest.d.ts +8 -0
  110. package/bin/creditEngine/dtos/AnticipatedPaymentRequest.js +30 -0
  111. package/bin/creditEngine/dtos/CreditDetailResponse.d.ts +25 -11
  112. package/bin/creditEngine/dtos/CreditOriginationRequest.d.ts +4 -1
  113. package/bin/creditEngine/dtos/CreditOriginationRequest.js +11 -0
  114. package/bin/creditEngine/dtos/CreditRequestResult.d.ts +9 -0
  115. package/bin/creditEngine/dtos/CreditRequestResult.js +9 -0
  116. package/bin/creditEngine/dtos/CreditSignatureResult.d.ts +8 -0
  117. package/bin/creditEngine/dtos/CreditSignatureResult.js +9 -0
  118. package/bin/creditEngine/dtos/EarlyPaymentResult.d.ts +9 -0
  119. package/bin/creditEngine/dtos/EarlyPaymentResult.js +9 -0
  120. package/bin/creditEngine/dtos/OfferResult.d.ts +15 -0
  121. package/bin/creditEngine/dtos/OfferResult.js +12 -0
  122. package/bin/creditEngine/dtos/PaymentScheduleItemResponse.d.ts +7 -6
  123. package/bin/creditEngine/dtos/SettlementPaymentRequest.d.ts +7 -0
  124. package/bin/creditEngine/dtos/SettlementPaymentRequest.js +25 -0
  125. package/bin/creditEngine/dtos/SettlementQuote.d.ts +14 -0
  126. package/bin/creditEngine/dtos/SettlementQuote.js +9 -0
  127. package/bin/creditEngine/index.d.ts +8 -0
  128. package/bin/creditEngine/index.js +8 -0
  129. package/bin/customerFile/dtos/CustomerFileSearchRequest.d.ts +5 -0
  130. package/bin/customerFile/dtos/CustomerFileSearchRequest.js +32 -0
  131. package/bin/customerFile/index.d.ts +1 -0
  132. package/bin/customerFile/index.js +17 -0
  133. package/bin/index.d.ts +3 -0
  134. package/bin/index.js +4 -1
  135. package/package.json +1 -1
  136. package/src/benefitCenter/dtos/BannerActionRequest.ts +14 -0
  137. package/src/benefitCenter/dtos/BannerContentRequest.ts +13 -0
  138. package/src/benefitCenter/dtos/BannerCreateRequest.ts +46 -0
  139. package/src/benefitCenter/dtos/BannerTranslationRequest.ts +9 -0
  140. package/src/benefitCenter/dtos/BannerTranslationsRequest.ts +15 -0
  141. package/src/benefitCenter/dtos/BannerUpdateRequest.ts +35 -0
  142. package/src/benefitCenter/dtos/BenefitCreateRequest.ts +59 -0
  143. package/src/benefitCenter/dtos/BenefitModuleConfigRequest.ts +11 -0
  144. package/src/benefitCenter/dtos/BenefitModuleEntryRequest.ts +11 -0
  145. package/src/benefitCenter/dtos/BenefitUpdateRequest.ts +34 -0
  146. package/src/benefitCenter/dtos/PublicVerifyReferenceRequest.ts +33 -0
  147. package/src/benefitCenter/index.ts +12 -0
  148. package/src/credit/dtos/BannerStateResponse.ts +20 -1
  149. package/src/credit/dtos/CreditOfferOptionItem.ts +6 -0
  150. package/src/credit/dtos/EligibilityResponse.ts +2 -2
  151. package/src/creditBackoffice/dtos/BackofficeApplicationDetail.ts +33 -0
  152. package/src/creditBackoffice/dtos/BackofficeApplicationsListItem.ts +11 -0
  153. package/src/creditBackoffice/dtos/BackofficeCreditDetail.ts +78 -0
  154. package/src/creditBackoffice/dtos/BackofficeCreditsListItem.ts +14 -0
  155. package/src/creditBackoffice/dtos/BackofficeIncomeSourceItem.ts +13 -0
  156. package/src/creditBackoffice/dtos/BackofficeOfferDetail.ts +29 -0
  157. package/src/creditBackoffice/dtos/BackofficeOffersListItem.ts +13 -0
  158. package/src/creditBackoffice/dtos/BackofficePagination.ts +6 -0
  159. package/src/creditBackoffice/dtos/BackofficePipeline.ts +9 -0
  160. package/src/creditBackoffice/dtos/BackofficePipelineByLevel.ts +6 -0
  161. package/src/creditBackoffice/dtos/BackofficeProfileDetail.ts +79 -0
  162. package/src/creditBackoffice/dtos/BackofficeProfilesListItem.ts +17 -0
  163. package/src/creditBackoffice/dtos/BackofficeProfilesListResponse.ts +7 -0
  164. package/src/creditBackoffice/dtos/BackofficeProfilesSummary.ts +12 -0
  165. package/src/creditBackoffice/dtos/ConfigSnapshotListItem.ts +10 -0
  166. package/src/creditBackoffice/dtos/SimulateImpactRequest.ts +18 -0
  167. package/src/creditBackoffice/dtos/SimulateImpactResult.ts +41 -0
  168. package/src/creditBackoffice/dtos/SimulateInterestRequest.ts +15 -0
  169. package/src/creditBackoffice/dtos/SimulateInterestResult.ts +11 -0
  170. package/src/creditBackoffice/dtos/UpdateConfigRequest.ts +23 -0
  171. package/src/creditBackoffice/enums/ConfigType.ts +17 -0
  172. package/src/creditBackoffice/index.ts +24 -0
  173. package/src/creditDashboard/dtos/CohortQualityItem.ts +8 -0
  174. package/src/creditDashboard/dtos/DashboardSummary.ts +8 -0
  175. package/src/creditDashboard/dtos/NurturingFunnelItem.ts +5 -0
  176. package/src/creditDashboard/dtos/OriginationCompositionResult.ts +5 -0
  177. package/src/creditDashboard/dtos/OriginationEfficiencyResult.ts +8 -0
  178. package/src/creditDashboard/dtos/OriginationMonthlyItem.ts +6 -0
  179. package/src/creditDashboard/dtos/OriginationSummaryResult.ts +6 -0
  180. package/src/creditDashboard/dtos/OriginationWeeklyItem.ts +7 -0
  181. package/src/creditDashboard/dtos/PipelineLevelRow.ts +10 -0
  182. package/src/creditDashboard/dtos/PipelineWeek.ts +7 -0
  183. package/src/creditDashboard/dtos/PortfolioActiveItem.ts +12 -0
  184. package/src/creditDashboard/dtos/PortfolioBalance.ts +5 -0
  185. package/src/creditDashboard/dtos/PortfolioBalanceMonthlyItem.ts +5 -0
  186. package/src/creditDashboard/dtos/PortfolioByLevelItem.ts +7 -0
  187. package/src/creditDashboard/dtos/PortfolioResolutionItem.ts +8 -0
  188. package/src/creditDashboard/dtos/PortfolioUpcomingWeek.ts +7 -0
  189. package/src/creditDashboard/index.ts +16 -0
  190. package/src/creditEngine/dtos/AdvancedPaymentRequest.ts +15 -0
  191. package/src/creditEngine/dtos/AnticipatedPaymentRequest.ts +15 -0
  192. package/src/creditEngine/dtos/CreditDetailResponse.ts +25 -11
  193. package/src/creditEngine/dtos/CreditOriginationRequest.ts +12 -2
  194. package/src/creditEngine/dtos/CreditRequestResult.ts +9 -0
  195. package/src/creditEngine/dtos/CreditSignatureResult.ts +8 -0
  196. package/src/creditEngine/dtos/EarlyPaymentResult.ts +9 -0
  197. package/src/creditEngine/dtos/OfferResult.ts +16 -0
  198. package/src/creditEngine/dtos/PaymentScheduleItemResponse.ts +7 -6
  199. package/src/creditEngine/dtos/SettlementPaymentRequest.ts +11 -0
  200. package/src/creditEngine/dtos/SettlementQuote.ts +14 -0
  201. package/src/creditEngine/index.ts +8 -0
  202. package/src/customerFile/dtos/CustomerFileSearchRequest.ts +16 -0
  203. package/src/customerFile/index.ts +1 -0
  204. package/src/index.ts +3 -0
@@ -0,0 +1,59 @@
1
+ import {
2
+ IsEnum,
3
+ IsInt,
4
+ IsNotEmpty,
5
+ IsObject,
6
+ IsOptional,
7
+ IsString,
8
+ Min,
9
+ ValidateNested,
10
+ } from "class-validator";
11
+ import { Type } from "class-transformer";
12
+ import { BenefitFlowEnum } from "../enums/BenefitFlowEnum";
13
+ import { BenefitModuleConfigRequest } from "./BenefitModuleConfigRequest";
14
+
15
+ /** Mirror enum-like de BenefitCatalogStatus en el type-kit (para validación). */
16
+ export enum BenefitCatalogStatusEnum {
17
+ ACTIVE = "ACTIVE",
18
+ INACTIVE = "INACTIVE",
19
+ COMING_SOON = "COMING_SOON",
20
+ }
21
+
22
+ export class BenefitCreateRequest {
23
+ @IsOptional()
24
+ @IsString()
25
+ id?: string;
26
+
27
+ @IsNotEmpty()
28
+ @IsString()
29
+ name!: string;
30
+
31
+ @IsOptional()
32
+ @IsString()
33
+ description?: string;
34
+
35
+ @IsEnum(BenefitCatalogStatusEnum)
36
+ status!: BenefitCatalogStatusEnum;
37
+
38
+ @IsInt()
39
+ @Min(0)
40
+ sortOrder!: number;
41
+
42
+ @IsOptional()
43
+ @IsString()
44
+ icon?: string;
45
+
46
+ @IsEnum(BenefitFlowEnum)
47
+ flow!: BenefitFlowEnum;
48
+
49
+ @IsOptional()
50
+ @IsString()
51
+ translationKey?: string;
52
+
53
+ @ValidateNested()
54
+ @Type(() => BenefitModuleConfigRequest)
55
+ moduleConfig!: BenefitModuleConfigRequest;
56
+
57
+ @IsObject()
58
+ rulesVisibility!: Record<string, unknown>;
59
+ }
@@ -0,0 +1,11 @@
1
+ import { ArrayMinSize, IsArray, ValidateNested } from "class-validator";
2
+ import { Type } from "class-transformer";
3
+ import { BenefitModuleEntryRequest } from "./BenefitModuleEntryRequest";
4
+
5
+ export class BenefitModuleConfigRequest {
6
+ @IsArray()
7
+ @ArrayMinSize(1)
8
+ @ValidateNested({ each: true })
9
+ @Type(() => BenefitModuleEntryRequest)
10
+ modules!: BenefitModuleEntryRequest[];
11
+ }
@@ -0,0 +1,11 @@
1
+ import { IsNotEmpty, IsString } from "class-validator";
2
+
3
+ export class BenefitModuleEntryRequest {
4
+ @IsNotEmpty()
5
+ @IsString()
6
+ moduleEnvVar!: string;
7
+
8
+ @IsNotEmpty()
9
+ @IsString()
10
+ moduleName!: string;
11
+ }
@@ -0,0 +1,34 @@
1
+ import {
2
+ IsEnum,
3
+ IsInt,
4
+ IsObject,
5
+ IsOptional,
6
+ IsString,
7
+ Min,
8
+ ValidateNested,
9
+ } from "class-validator";
10
+ import { Type } from "class-transformer";
11
+ import { BenefitFlowEnum } from "../enums/BenefitFlowEnum";
12
+ import {
13
+ BenefitCatalogStatusEnum,
14
+ } from "./BenefitCreateRequest";
15
+ import { BenefitModuleConfigRequest } from "./BenefitModuleConfigRequest";
16
+
17
+ export class BenefitUpdateRequest {
18
+ @IsOptional() @IsString() name?: string;
19
+ @IsOptional() @IsString() description?: string;
20
+ @IsOptional() @IsEnum(BenefitCatalogStatusEnum) status?: BenefitCatalogStatusEnum;
21
+ @IsOptional() @IsInt() @Min(0) sortOrder?: number;
22
+ @IsOptional() @IsString() icon?: string;
23
+ @IsOptional() @IsEnum(BenefitFlowEnum) flow?: BenefitFlowEnum;
24
+ @IsOptional() @IsString() translationKey?: string;
25
+
26
+ @IsOptional()
27
+ @ValidateNested()
28
+ @Type(() => BenefitModuleConfigRequest)
29
+ moduleConfig?: BenefitModuleConfigRequest;
30
+
31
+ @IsOptional()
32
+ @IsObject()
33
+ rulesVisibility?: Record<string, unknown>;
34
+ }
@@ -0,0 +1,33 @@
1
+ import { IsNotEmpty, IsString, Length } from "class-validator";
2
+
3
+ /**
4
+ * Request del endpoint público POST /benefits/{benefitId}/verificateReference del
5
+ * `benefits-marketplace-business`. Combina:
6
+ * - Los campos de `BenefitReferenceVerificationRequest` (serviceId/productId/reference)
7
+ * - Un `leafId` adicional para que el lambda del Centro sepa a qué módulo rutear
8
+ * la verificación sin tener que buscar por anchor.
9
+ *
10
+ * Se expone separado de `BenefitReferenceVerificationRequest` porque éste último
11
+ * es el contrato DIRECTO al conector (no conoce de leafIds).
12
+ */
13
+ export class PublicVerifyReferenceRequest {
14
+ @IsNotEmpty()
15
+ @IsString()
16
+ @Length(1, 100)
17
+ leafId!: string;
18
+
19
+ @IsNotEmpty()
20
+ @IsString()
21
+ @Length(1, 50)
22
+ serviceId!: string;
23
+
24
+ @IsNotEmpty()
25
+ @IsString()
26
+ @Length(1, 50)
27
+ productId!: string;
28
+
29
+ @IsNotEmpty()
30
+ @IsString()
31
+ @Length(1, 100)
32
+ reference!: string;
33
+ }
@@ -25,3 +25,15 @@ export * from "./dtos/BannerItem";
25
25
  export * from "./dtos/BenefitReferenceVerificationRequest";
26
26
  export * from "./dtos/ConnectorCatalogItem";
27
27
  export * from "./dtos/ConnectorCatalogResponse";
28
+ //Admin + public request DTOs (v3.2.1)
29
+ export * from "./dtos/BenefitModuleEntryRequest";
30
+ export * from "./dtos/BenefitModuleConfigRequest";
31
+ export * from "./dtos/BenefitCreateRequest";
32
+ export * from "./dtos/BenefitUpdateRequest";
33
+ export * from "./dtos/BannerTranslationRequest";
34
+ export * from "./dtos/BannerTranslationsRequest";
35
+ export * from "./dtos/BannerContentRequest";
36
+ export * from "./dtos/BannerActionRequest";
37
+ export * from "./dtos/BannerCreateRequest";
38
+ export * from "./dtos/BannerUpdateRequest";
39
+ export * from "./dtos/PublicVerifyReferenceRequest";
@@ -1,3 +1,11 @@
1
+ /**
2
+ * CTA asociado al banner state (boton y accion a ejecutar).
3
+ */
4
+ export class BannerCta {
5
+ text!: string;
6
+ action!: string;
7
+ }
8
+
1
9
  /**
2
10
  * Respuesta del endpoint GET /credit/{partnerId}/banner-state/{directoryId}
3
11
  */
@@ -8,7 +16,18 @@ export class BannerStateResponse {
8
16
  title: string;
9
17
  subtitle: string;
10
18
  progress_pct: number | null;
11
- cta: { text: string; action: string } | null;
19
+ cta: BannerCta | null;
12
20
  credit_level: string | null;
13
21
  max_credit_amount_mxn: number | null;
22
+ /** Presente cuando el banner refleja un credito activo/delinquent/defaulted. */
23
+ credit_id?: string | null;
24
+ /** Pago del proximo cupon pendiente. */
25
+ next_payment_amount_mxn?: number | null;
26
+ next_payment_date?: string | null;
27
+ next_coupon_number?: number | null;
28
+ /** Montos de cupones vencidos (solo DELINQUENT). */
29
+ overdue_amount_mxn?: number | null;
30
+ overdue_count?: number | null;
31
+ /** Saldo insoluto del credito activo. */
32
+ outstanding_balance_mxn?: number | null;
14
33
  }
@@ -9,4 +9,10 @@ export class CreditOfferOptionItem {
9
9
  total_interest_mxn: number;
10
10
  savings_vs_longest: number;
11
11
  is_recommended: boolean;
12
+ /** IVA (16%) sobre intereses del cupon. */
13
+ total_iva_mxn?: number;
14
+ /** Costo Anual Total (tasa efectiva anual de la operacion). */
15
+ cat?: number;
16
+ /** Fecha del primer pago (ISO, 7 dias desde la originacion). */
17
+ first_payment_date?: string;
12
18
  }
@@ -2,8 +2,8 @@
2
2
  * Respuesta del endpoint GET /credit/{partnerId}/eligibility/{directoryId}
3
3
  */
4
4
  export class EligibilityResponse {
5
- partner_id: string;
6
- directory_id: string;
5
+ partner_id?: string;
6
+ directory_id?: string;
7
7
  is_eligible: boolean;
8
8
  credit_level: string | null;
9
9
  max_credit_amount_mxn: number | null;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Row de aplicación de crédito (schema espejo de `CreditApplications_GT`).
3
+ * Inline aquí porque los DTOs son contratos públicos y no deben depender de
4
+ * tipos de infra en el repo de cada lambda.
5
+ */
6
+ export class BackofficeCreditApplicationRow {
7
+ pk!: string;
8
+ sk!: string;
9
+ application_id?: string;
10
+ directory_id?: string;
11
+ partner_id?: string;
12
+ offer_id?: string;
13
+ status?: string;
14
+ amount_mxn?: number;
15
+ term_weeks?: number;
16
+ annual_rate?: number;
17
+ weekly_payment_mxn?: number;
18
+ cat?: number;
19
+ first_payment_date?: string;
20
+ contract_view_url?: string;
21
+ expires_at?: string;
22
+ signed_at?: string;
23
+ created_at?: string;
24
+ updated_at?: string;
25
+ /** Runtime fields set by managers but not declared in the Dynamoose schema. */
26
+ credit_level?: string;
27
+ config_version?: number;
28
+ }
29
+
30
+ export class BackofficeApplicationDetail {
31
+ application!: BackofficeCreditApplicationRow;
32
+ user!: { directory_id: string; phone_number: string; people_id: string };
33
+ }
@@ -0,0 +1,11 @@
1
+ export class BackofficeApplicationsListItem {
2
+ application_id!: string;
3
+ directory_id!: string;
4
+ partner_id!: string;
5
+ phone_number!: string;
6
+ amount_mxn!: number;
7
+ term_weeks!: number;
8
+ status!: string;
9
+ signed_at!: string;
10
+ created_at!: string;
11
+ }
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Row de crédito (schema espejo de `Credits_GT`).
3
+ * Inline aquí porque los DTOs son contratos públicos y no deben depender de
4
+ * tipos de infra en el repo de cada lambda.
5
+ */
6
+ export class BackofficeCreditRow {
7
+ pk!: string;
8
+ sk!: string;
9
+ credit_id!: string;
10
+ application_id?: string;
11
+ directory_id?: string;
12
+ partner_id?: string;
13
+ status?: string;
14
+ amount_mxn?: number;
15
+ term_weeks?: number;
16
+ annual_rate?: number;
17
+ weekly_payment_mxn?: number;
18
+ cat?: number;
19
+ total_interest_mxn?: number;
20
+ total_payable_mxn?: number;
21
+ total_iva_mxn?: number;
22
+ iva_rate?: number;
23
+ fiado_rate_points?: number;
24
+ loanco_rate_points?: number;
25
+ fiado_interest_mxn?: number;
26
+ loanco_interest_mxn?: number;
27
+ credit_level?: string;
28
+ disbursed_at?: string;
29
+ first_payment_date?: string;
30
+ total_collected_mxn?: number;
31
+ outstanding_balance_mxn?: number;
32
+ last_payment_date?: string;
33
+ created_at?: string;
34
+ updated_at?: string;
35
+ /** Runtime fields set by managers but not declared in the Dynamoose schema. */
36
+ config_version?: number;
37
+ signed_at?: string;
38
+ }
39
+
40
+ /**
41
+ * Row del calendario de pagos (schema espejo de `CreditPaymentSchedule_GT`).
42
+ * Inline aquí porque los DTOs son contratos públicos.
43
+ */
44
+ export class BackofficeCreditPaymentScheduleRow {
45
+ pk!: string;
46
+ sk!: string;
47
+ credit_id?: string;
48
+ coupon_number!: number;
49
+ due_date?: string;
50
+ principal_mxn?: number;
51
+ interest_mxn?: number;
52
+ iva_mxn?: number;
53
+ total_mxn?: number;
54
+ fiado_interest_mxn?: number;
55
+ loanco_interest_mxn?: number;
56
+ remaining_balance_mxn?: number;
57
+ status?: string;
58
+ paid_amount_mxn?: number;
59
+ principal_collected_mxn?: number;
60
+ interest_collected_mxn?: number;
61
+ iva_collected_mxn?: number;
62
+ fiado_interest_collected_mxn?: number;
63
+ loanco_interest_collected_mxn?: number;
64
+ anticipated_reduction_mxn?: number;
65
+ collection_attempts?: number;
66
+ last_collection_date?: string;
67
+ paid_at?: string;
68
+ created_at?: string;
69
+ updated_at?: string;
70
+ /** Runtime field used during settlement. */
71
+ settlement_adjustment_mxn?: number;
72
+ }
73
+
74
+ export class BackofficeCreditDetail {
75
+ credit!: BackofficeCreditRow;
76
+ user!: { directory_id: string; phone_number: string; people_id: string };
77
+ schedule!: BackofficeCreditPaymentScheduleRow[];
78
+ }
@@ -0,0 +1,14 @@
1
+ export class BackofficeCreditsListItem {
2
+ credit_id!: string;
3
+ directory_id!: string;
4
+ partner_id!: string;
5
+ phone_number!: string;
6
+ amount_mxn!: number;
7
+ term_weeks!: number;
8
+ annual_rate!: number;
9
+ weekly_payment_mxn!: number;
10
+ status!: string;
11
+ credit_level!: string;
12
+ disbursed_at!: string;
13
+ created_at!: string;
14
+ }
@@ -0,0 +1,13 @@
1
+ export class BackofficeIncomeSourceItem {
2
+ normalized_memo!: string;
3
+ classification!: string;
4
+ detected_frequency!: string;
5
+ total_deposits_90d!: number;
6
+ total_amount_90d_usd!: number;
7
+ average_amount_usd!: number;
8
+ reliable_amount_usd!: number;
9
+ income_share_pct!: number;
10
+ avg_days_between_deposits!: number;
11
+ first_detection!: string;
12
+ last_detection!: string;
13
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Row de oferta de crédito (schema espejo de `CreditOffers_GT`).
3
+ * Inline aquí porque los DTOs son contratos públicos y no deben depender de
4
+ * tipos de infra en el repo de cada lambda.
5
+ */
6
+ export class BackofficeCreditOfferRow {
7
+ pk!: string;
8
+ sk!: string;
9
+ offer_id?: string;
10
+ directory_id?: string;
11
+ partner_id?: string;
12
+ status?: string;
13
+ credit_level?: string;
14
+ max_amount_mxn?: number;
15
+ selected_amount_mxn?: number;
16
+ offer_expires_at?: string;
17
+ options?: Record<string, unknown>[];
18
+ created_at?: string;
19
+ updated_at?: string;
20
+ /** Runtime fields set by managers but not declared in the Dynamoose schema. */
21
+ min_amount_mxn?: number;
22
+ available_rates?: { term_weeks: number; annual_rate: number }[];
23
+ config_version?: number;
24
+ }
25
+
26
+ export class BackofficeOfferDetail {
27
+ offer!: BackofficeCreditOfferRow;
28
+ user!: { directory_id: string; phone_number: string; people_id: string };
29
+ }
@@ -0,0 +1,13 @@
1
+ export class BackofficeOffersListItem {
2
+ offer_id!: string;
3
+ directory_id!: string;
4
+ partner_id!: string;
5
+ phone_number!: string;
6
+ credit_level!: string;
7
+ max_amount_mxn!: number;
8
+ min_amount_mxn!: number;
9
+ available_rates!: { term_weeks: number; annual_rate: number }[];
10
+ status!: string;
11
+ offer_expires_at!: string;
12
+ created_at!: string;
13
+ }
@@ -0,0 +1,6 @@
1
+ export class BackofficePagination {
2
+ page!: number;
3
+ page_size!: number;
4
+ total_items!: number;
5
+ total_pages!: number;
6
+ }
@@ -0,0 +1,9 @@
1
+ import { BackofficePipelineByLevel } from "./BackofficePipelineByLevel";
2
+
3
+ export class BackofficePipeline {
4
+ eligible_count!: number;
5
+ total_potential_mxn!: number;
6
+ avg_potential_mxn!: number;
7
+ by_level!: BackofficePipelineByLevel[];
8
+ by_banner_state!: { state: string; count: number }[];
9
+ }
@@ -0,0 +1,6 @@
1
+ export class BackofficePipelineByLevel {
2
+ level!: string;
3
+ count!: number;
4
+ total_potential_mxn!: number;
5
+ avg_potential_mxn!: number;
6
+ }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Detalle de perfil enriquecido con información de directorio.
3
+ *
4
+ * Nota: en el lambda este tipo es una intersección de `CreditFinancialProfileRow` con
5
+ * `{ people_id, phone_number }`. Aquí se inlinea todo el shape del profile para no
6
+ * depender de tipos de infra.
7
+ */
8
+ export class BackofficeProfileDetail {
9
+ pk?: string;
10
+ sk?: string;
11
+ directory_id?: string;
12
+ partner_id?: string;
13
+ calculation_date?: string;
14
+ // Income
15
+ total_income_sources?: number;
16
+ primary_sources?: number;
17
+ secondary_sources?: number;
18
+ has_regular_income?: string;
19
+ total_income_90d_usd?: number;
20
+ monthly_income_usd?: number;
21
+ primary_income_usd?: number;
22
+ secondary_income_usd?: number;
23
+ dominant_frequency?: string;
24
+ days_since_last_deposit?: number;
25
+ primary_amount_variation_pct?: number;
26
+ // Expenses
27
+ total_expenses_90d_usd?: number;
28
+ monthly_expenses_usd?: number;
29
+ expense_income_ratio?: number;
30
+ // Wallet loads
31
+ sends_to_mexico_wallet?: string;
32
+ total_wallet_loads_90d_usd?: number;
33
+ monthly_wallet_loads_usd?: number;
34
+ wallet_load_count_90d?: number;
35
+ avg_wallet_load_usd?: number;
36
+ wallet_load_income_ratio?: number;
37
+ days_since_last_wallet_load?: number;
38
+ wallet_load_frequency?: string;
39
+ // Balance
40
+ current_balance_usd?: number;
41
+ average_balance_90d_usd?: number;
42
+ balance_income_ratio?: number;
43
+ // Seniority
44
+ registration_date?: string;
45
+ months_in_platform?: number;
46
+ // Exchange rate
47
+ exchange_rate_usd_mxn?: number;
48
+ monthly_income_mxn?: number;
49
+ // Scores
50
+ score_income_stability?: number;
51
+ score_payment_capacity?: number;
52
+ score_mexico_transfers?: number;
53
+ score_seniority?: number;
54
+ score_income_level?: number;
55
+ score_total?: number;
56
+ // Level & Credit
57
+ credit_level?: string;
58
+ max_credit_amount_mxn?: number;
59
+ has_active_credit?: string;
60
+ is_eligible?: string;
61
+ ineligibility_reason?: string;
62
+ // Gamification
63
+ score_to_next_level?: number;
64
+ next_level?: string;
65
+ next_level_max_credit_mxn?: number;
66
+ progress_pct?: number;
67
+ recommendation_1?: string;
68
+ recommendation_1_points?: number;
69
+ recommendation_2?: string;
70
+ recommendation_2_points?: number;
71
+ last_level_change_date?: string;
72
+ level_change_direction?: string;
73
+ // Audit
74
+ created_at?: string;
75
+ updated_at?: string;
76
+ // Directory enrichment
77
+ people_id!: string | null;
78
+ phone_number!: string | null;
79
+ }
@@ -0,0 +1,17 @@
1
+ export class BackofficeProfilesListItem {
2
+ directory_id!: string;
3
+ partner_id!: string;
4
+ phone_number!: string;
5
+ credit_level!: string;
6
+ score_total!: number;
7
+ is_eligible!: string;
8
+ ineligibility_reason!: string | null;
9
+ max_credit_amount_mxn!: number;
10
+ monthly_income_mxn!: number;
11
+ has_regular_income!: string;
12
+ dominant_frequency!: string;
13
+ total_income_sources!: number;
14
+ days_since_last_deposit!: number;
15
+ calculation_date!: string;
16
+ banner_state!: string;
17
+ }
@@ -0,0 +1,7 @@
1
+ import { BackofficeProfilesListItem } from "./BackofficeProfilesListItem";
2
+ import { BackofficePagination } from "./BackofficePagination";
3
+
4
+ export class BackofficeProfilesListResponse {
5
+ items!: BackofficeProfilesListItem[];
6
+ pagination!: BackofficePagination;
7
+ }
@@ -0,0 +1,12 @@
1
+ import { BackofficePipeline } from "./BackofficePipeline";
2
+
3
+ export class BackofficeProfilesSummary {
4
+ total_profiles!: number;
5
+ eligible_count!: number;
6
+ ineligible_count!: number;
7
+ by_level!: { level: string; count: number; eligible: number; ineligible: number }[];
8
+ score_distribution!: { range: string; count: number }[];
9
+ avg_score!: number;
10
+ avg_max_credit_mxn!: number;
11
+ pipeline!: BackofficePipeline;
12
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Item de lista de snapshots de configuración.
3
+ */
4
+ export class ConfigSnapshotListItem {
5
+ version?: number;
6
+ created_at?: string;
7
+ created_by?: string;
8
+ description?: string;
9
+ config_type_changed?: string;
10
+ }
@@ -0,0 +1,18 @@
1
+ import { IsArray, IsNotEmpty, IsString } from "class-validator";
2
+
3
+ /**
4
+ * Request para simular el impacto de un cambio de configuración contra el universo de clientes.
5
+ * Endpoint: POST /backoffice/config/simulate-impact
6
+ */
7
+ export class SimulateImpactRequest {
8
+ @IsString()
9
+ @IsNotEmpty()
10
+ partnerId!: string;
11
+
12
+ @IsString()
13
+ @IsNotEmpty()
14
+ configType!: string;
15
+
16
+ @IsArray()
17
+ proposedConfig!: Array<Record<string, unknown>>;
18
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Resultado de simulación de impacto de un cambio de configuración.
3
+ */
4
+ export class SimulateImpactStateSnapshot {
5
+ total_profiles!: number;
6
+ eligible_count!: number;
7
+ eligible_pct!: number;
8
+ by_level!: Record<string, number>;
9
+ potential_portfolio_mxn!: number;
10
+ avg_score!: number;
11
+ avg_ticket_mxn!: number;
12
+ }
13
+
14
+ export class SimulateImpactMigration {
15
+ directory_id?: string;
16
+ score_before!: number;
17
+ score_after!: number;
18
+ level_before!: string;
19
+ level_after!: string;
20
+ eligible_before!: boolean;
21
+ eligible_after!: boolean;
22
+ }
23
+
24
+ export class SimulateImpactResult {
25
+ before!: SimulateImpactStateSnapshot;
26
+ after!: SimulateImpactStateSnapshot;
27
+ delta!: {
28
+ eligible_count: number;
29
+ eligible_pct: number;
30
+ potential_portfolio_mxn: number;
31
+ avg_score: number;
32
+ level_migrations: { upgrades: number; downgrades: number; unchanged: number };
33
+ eligibility_changes: { became_eligible: number; lost_eligibility: number; unchanged: number };
34
+ };
35
+ migrations!: SimulateImpactMigration[];
36
+ }
37
+
38
+ export class SimulateImpactError {
39
+ error!: string;
40
+ total_profiles!: number;
41
+ }
@@ -0,0 +1,15 @@
1
+ import { IsNotEmpty, IsNumber, IsString, Min } from "class-validator";
2
+
3
+ /**
4
+ * Request para simular el cálculo de intereses con la configuración actual.
5
+ * Endpoint: POST /backoffice/config/simulate
6
+ */
7
+ export class SimulateInterestRequest {
8
+ @IsString()
9
+ @IsNotEmpty()
10
+ partnerId!: string;
11
+
12
+ @IsNumber()
13
+ @Min(1)
14
+ amount_mxn!: number;
15
+ }
@@ -0,0 +1,11 @@
1
+ import { CreditOfferOptionItem } from "../../credit/dtos/CreditOfferOptionItem";
2
+
3
+ /**
4
+ * Resultado de simulación de interés para un monto dado.
5
+ */
6
+ export class SimulateInterestResult {
7
+ amount_mxn!: number;
8
+ partner_id!: string;
9
+ simulated_at!: string;
10
+ options!: CreditOfferOptionItem[];
11
+ }