@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.
- package/bin/benefitCenter/dtos/BannerActionRequest.d.ts +7 -0
- package/bin/benefitCenter/dtos/BannerActionRequest.js +36 -0
- package/bin/benefitCenter/dtos/BannerContentRequest.d.ts +6 -0
- package/bin/benefitCenter/dtos/BannerContentRequest.js +28 -0
- package/bin/benefitCenter/dtos/BannerCreateRequest.d.ts +14 -0
- package/bin/benefitCenter/dtos/BannerCreateRequest.js +64 -0
- package/bin/benefitCenter/dtos/BannerTranslationRequest.d.ts +7 -0
- package/bin/benefitCenter/dtos/BannerTranslationRequest.js +41 -0
- package/bin/benefitCenter/dtos/BannerTranslationsRequest.d.ts +5 -0
- package/bin/benefitCenter/dtos/BannerTranslationsRequest.js +30 -0
- package/bin/benefitCenter/dtos/BannerUpdateRequest.d.ts +13 -0
- package/bin/benefitCenter/dtos/BannerUpdateRequest.js +63 -0
- package/bin/benefitCenter/dtos/BenefitCreateRequest.d.ts +20 -0
- package/bin/benefitCenter/dtos/BenefitCreateRequest.js +73 -0
- package/bin/benefitCenter/dtos/BenefitModuleConfigRequest.d.ts +4 -0
- package/bin/benefitCenter/dtos/BenefitModuleConfigRequest.js +25 -0
- package/bin/benefitCenter/dtos/BenefitModuleEntryRequest.d.ts +4 -0
- package/bin/benefitCenter/dtos/BenefitModuleEntryRequest.js +26 -0
- package/bin/benefitCenter/dtos/BenefitUpdateRequest.d.ts +14 -0
- package/bin/benefitCenter/dtos/BenefitUpdateRequest.js +67 -0
- package/bin/benefitCenter/dtos/PublicVerifyReferenceRequest.d.ts +16 -0
- package/bin/benefitCenter/dtos/PublicVerifyReferenceRequest.js +50 -0
- package/bin/benefitCenter/index.d.ts +11 -0
- package/bin/benefitCenter/index.js +12 -0
- package/bin/credit/dtos/BannerStateResponse.d.ts +19 -4
- package/bin/credit/dtos/BannerStateResponse.js +7 -1
- package/bin/credit/dtos/CreditOfferOptionItem.d.ts +6 -0
- package/bin/credit/dtos/EligibilityResponse.d.ts +2 -2
- package/bin/creditBackoffice/dtos/BackofficeApplicationDetail.d.ts +36 -0
- package/bin/creditBackoffice/dtos/BackofficeApplicationDetail.js +14 -0
- package/bin/creditBackoffice/dtos/BackofficeApplicationsListItem.d.ts +11 -0
- package/bin/creditBackoffice/dtos/BackofficeApplicationsListItem.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficeCreditDetail.d.ts +80 -0
- package/bin/creditBackoffice/dtos/BackofficeCreditDetail.js +21 -0
- package/bin/creditBackoffice/dtos/BackofficeCreditsListItem.d.ts +14 -0
- package/bin/creditBackoffice/dtos/BackofficeCreditsListItem.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficeIncomeSourceItem.d.ts +13 -0
- package/bin/creditBackoffice/dtos/BackofficeIncomeSourceItem.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficeOfferDetail.d.ts +35 -0
- package/bin/creditBackoffice/dtos/BackofficeOfferDetail.js +14 -0
- package/bin/creditBackoffice/dtos/BackofficeOffersListItem.d.ts +16 -0
- package/bin/creditBackoffice/dtos/BackofficeOffersListItem.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficePagination.d.ts +6 -0
- package/bin/creditBackoffice/dtos/BackofficePagination.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficePipeline.d.ts +11 -0
- package/bin/creditBackoffice/dtos/BackofficePipeline.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficePipelineByLevel.d.ts +6 -0
- package/bin/creditBackoffice/dtos/BackofficePipelineByLevel.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficeProfileDetail.d.ts +68 -0
- package/bin/creditBackoffice/dtos/BackofficeProfileDetail.js +13 -0
- package/bin/creditBackoffice/dtos/BackofficeProfilesListItem.d.ts +17 -0
- package/bin/creditBackoffice/dtos/BackofficeProfilesListItem.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficeProfilesListResponse.d.ts +6 -0
- package/bin/creditBackoffice/dtos/BackofficeProfilesListResponse.js +6 -0
- package/bin/creditBackoffice/dtos/BackofficeProfilesSummary.d.ts +19 -0
- package/bin/creditBackoffice/dtos/BackofficeProfilesSummary.js +6 -0
- package/bin/creditBackoffice/dtos/ConfigSnapshotListItem.d.ts +10 -0
- package/bin/creditBackoffice/dtos/ConfigSnapshotListItem.js +9 -0
- package/bin/creditBackoffice/dtos/SimulateImpactRequest.d.ts +9 -0
- package/bin/creditBackoffice/dtos/SimulateImpactRequest.js +34 -0
- package/bin/creditBackoffice/dtos/SimulateImpactResult.d.ts +46 -0
- package/bin/creditBackoffice/dtos/SimulateImpactResult.js +18 -0
- package/bin/creditBackoffice/dtos/SimulateInterestRequest.d.ts +8 -0
- package/bin/creditBackoffice/dtos/SimulateInterestRequest.js +30 -0
- package/bin/creditBackoffice/dtos/SimulateInterestResult.d.ts +10 -0
- package/bin/creditBackoffice/dtos/SimulateInterestResult.js +9 -0
- package/bin/creditBackoffice/dtos/UpdateConfigRequest.d.ts +10 -0
- package/bin/creditBackoffice/dtos/UpdateConfigRequest.js +40 -0
- package/bin/creditBackoffice/enums/ConfigType.d.ts +17 -0
- package/bin/creditBackoffice/enums/ConfigType.js +21 -0
- package/bin/creditBackoffice/index.d.ts +21 -0
- package/bin/creditBackoffice/index.js +39 -0
- package/bin/creditDashboard/dtos/CohortQualityItem.d.ts +8 -0
- package/bin/creditDashboard/dtos/CohortQualityItem.js +6 -0
- package/bin/creditDashboard/dtos/DashboardSummary.d.ts +8 -0
- package/bin/creditDashboard/dtos/DashboardSummary.js +6 -0
- package/bin/creditDashboard/dtos/NurturingFunnelItem.d.ts +5 -0
- package/bin/creditDashboard/dtos/NurturingFunnelItem.js +6 -0
- package/bin/creditDashboard/dtos/OriginationCompositionResult.d.ts +13 -0
- package/bin/creditDashboard/dtos/OriginationCompositionResult.js +6 -0
- package/bin/creditDashboard/dtos/OriginationEfficiencyResult.d.ts +8 -0
- package/bin/creditDashboard/dtos/OriginationEfficiencyResult.js +6 -0
- package/bin/creditDashboard/dtos/OriginationMonthlyItem.d.ts +6 -0
- package/bin/creditDashboard/dtos/OriginationMonthlyItem.js +6 -0
- package/bin/creditDashboard/dtos/OriginationSummaryResult.d.ts +6 -0
- package/bin/creditDashboard/dtos/OriginationSummaryResult.js +6 -0
- package/bin/creditDashboard/dtos/OriginationWeeklyItem.d.ts +7 -0
- package/bin/creditDashboard/dtos/OriginationWeeklyItem.js +6 -0
- package/bin/creditDashboard/dtos/PipelineLevelRow.d.ts +26 -0
- package/bin/creditDashboard/dtos/PipelineLevelRow.js +6 -0
- package/bin/creditDashboard/dtos/PipelineWeek.d.ts +6 -0
- package/bin/creditDashboard/dtos/PipelineWeek.js +6 -0
- package/bin/creditDashboard/dtos/PortfolioActiveItem.d.ts +12 -0
- package/bin/creditDashboard/dtos/PortfolioActiveItem.js +6 -0
- package/bin/creditDashboard/dtos/PortfolioBalance.d.ts +5 -0
- package/bin/creditDashboard/dtos/PortfolioBalance.js +6 -0
- package/bin/creditDashboard/dtos/PortfolioBalanceMonthlyItem.d.ts +5 -0
- package/bin/creditDashboard/dtos/PortfolioBalanceMonthlyItem.js +6 -0
- package/bin/creditDashboard/dtos/PortfolioByLevelItem.d.ts +7 -0
- package/bin/creditDashboard/dtos/PortfolioByLevelItem.js +6 -0
- package/bin/creditDashboard/dtos/PortfolioResolutionItem.d.ts +8 -0
- package/bin/creditDashboard/dtos/PortfolioResolutionItem.js +6 -0
- package/bin/creditDashboard/dtos/PortfolioUpcomingWeek.d.ts +7 -0
- package/bin/creditDashboard/dtos/PortfolioUpcomingWeek.js +6 -0
- package/bin/creditDashboard/index.d.ts +16 -0
- package/bin/creditDashboard/index.js +32 -0
- package/bin/creditEngine/dtos/AdvancedPaymentRequest.d.ts +8 -0
- package/bin/creditEngine/dtos/AdvancedPaymentRequest.js +30 -0
- package/bin/creditEngine/dtos/AnticipatedPaymentRequest.d.ts +8 -0
- package/bin/creditEngine/dtos/AnticipatedPaymentRequest.js +30 -0
- package/bin/creditEngine/dtos/CreditDetailResponse.d.ts +25 -11
- package/bin/creditEngine/dtos/CreditOriginationRequest.d.ts +4 -1
- package/bin/creditEngine/dtos/CreditOriginationRequest.js +11 -0
- package/bin/creditEngine/dtos/CreditRequestResult.d.ts +9 -0
- package/bin/creditEngine/dtos/CreditRequestResult.js +9 -0
- package/bin/creditEngine/dtos/CreditSignatureResult.d.ts +8 -0
- package/bin/creditEngine/dtos/CreditSignatureResult.js +9 -0
- package/bin/creditEngine/dtos/EarlyPaymentResult.d.ts +9 -0
- package/bin/creditEngine/dtos/EarlyPaymentResult.js +9 -0
- package/bin/creditEngine/dtos/OfferResult.d.ts +15 -0
- package/bin/creditEngine/dtos/OfferResult.js +12 -0
- package/bin/creditEngine/dtos/PaymentScheduleItemResponse.d.ts +7 -6
- package/bin/creditEngine/dtos/SettlementPaymentRequest.d.ts +7 -0
- package/bin/creditEngine/dtos/SettlementPaymentRequest.js +25 -0
- package/bin/creditEngine/dtos/SettlementQuote.d.ts +14 -0
- package/bin/creditEngine/dtos/SettlementQuote.js +9 -0
- package/bin/creditEngine/index.d.ts +8 -0
- package/bin/creditEngine/index.js +8 -0
- package/bin/customerFile/dtos/CustomerFileSearchRequest.d.ts +5 -0
- package/bin/customerFile/dtos/CustomerFileSearchRequest.js +32 -0
- package/bin/customerFile/index.d.ts +1 -0
- package/bin/customerFile/index.js +17 -0
- package/bin/index.d.ts +3 -0
- package/bin/index.js +4 -1
- package/package.json +1 -1
- package/src/benefitCenter/dtos/BannerActionRequest.ts +14 -0
- package/src/benefitCenter/dtos/BannerContentRequest.ts +13 -0
- package/src/benefitCenter/dtos/BannerCreateRequest.ts +46 -0
- package/src/benefitCenter/dtos/BannerTranslationRequest.ts +9 -0
- package/src/benefitCenter/dtos/BannerTranslationsRequest.ts +15 -0
- package/src/benefitCenter/dtos/BannerUpdateRequest.ts +35 -0
- package/src/benefitCenter/dtos/BenefitCreateRequest.ts +59 -0
- package/src/benefitCenter/dtos/BenefitModuleConfigRequest.ts +11 -0
- package/src/benefitCenter/dtos/BenefitModuleEntryRequest.ts +11 -0
- package/src/benefitCenter/dtos/BenefitUpdateRequest.ts +34 -0
- package/src/benefitCenter/dtos/PublicVerifyReferenceRequest.ts +33 -0
- package/src/benefitCenter/index.ts +12 -0
- package/src/credit/dtos/BannerStateResponse.ts +20 -1
- package/src/credit/dtos/CreditOfferOptionItem.ts +6 -0
- package/src/credit/dtos/EligibilityResponse.ts +2 -2
- package/src/creditBackoffice/dtos/BackofficeApplicationDetail.ts +33 -0
- package/src/creditBackoffice/dtos/BackofficeApplicationsListItem.ts +11 -0
- package/src/creditBackoffice/dtos/BackofficeCreditDetail.ts +78 -0
- package/src/creditBackoffice/dtos/BackofficeCreditsListItem.ts +14 -0
- package/src/creditBackoffice/dtos/BackofficeIncomeSourceItem.ts +13 -0
- package/src/creditBackoffice/dtos/BackofficeOfferDetail.ts +29 -0
- package/src/creditBackoffice/dtos/BackofficeOffersListItem.ts +13 -0
- package/src/creditBackoffice/dtos/BackofficePagination.ts +6 -0
- package/src/creditBackoffice/dtos/BackofficePipeline.ts +9 -0
- package/src/creditBackoffice/dtos/BackofficePipelineByLevel.ts +6 -0
- package/src/creditBackoffice/dtos/BackofficeProfileDetail.ts +79 -0
- package/src/creditBackoffice/dtos/BackofficeProfilesListItem.ts +17 -0
- package/src/creditBackoffice/dtos/BackofficeProfilesListResponse.ts +7 -0
- package/src/creditBackoffice/dtos/BackofficeProfilesSummary.ts +12 -0
- package/src/creditBackoffice/dtos/ConfigSnapshotListItem.ts +10 -0
- package/src/creditBackoffice/dtos/SimulateImpactRequest.ts +18 -0
- package/src/creditBackoffice/dtos/SimulateImpactResult.ts +41 -0
- package/src/creditBackoffice/dtos/SimulateInterestRequest.ts +15 -0
- package/src/creditBackoffice/dtos/SimulateInterestResult.ts +11 -0
- package/src/creditBackoffice/dtos/UpdateConfigRequest.ts +23 -0
- package/src/creditBackoffice/enums/ConfigType.ts +17 -0
- package/src/creditBackoffice/index.ts +24 -0
- package/src/creditDashboard/dtos/CohortQualityItem.ts +8 -0
- package/src/creditDashboard/dtos/DashboardSummary.ts +8 -0
- package/src/creditDashboard/dtos/NurturingFunnelItem.ts +5 -0
- package/src/creditDashboard/dtos/OriginationCompositionResult.ts +5 -0
- package/src/creditDashboard/dtos/OriginationEfficiencyResult.ts +8 -0
- package/src/creditDashboard/dtos/OriginationMonthlyItem.ts +6 -0
- package/src/creditDashboard/dtos/OriginationSummaryResult.ts +6 -0
- package/src/creditDashboard/dtos/OriginationWeeklyItem.ts +7 -0
- package/src/creditDashboard/dtos/PipelineLevelRow.ts +10 -0
- package/src/creditDashboard/dtos/PipelineWeek.ts +7 -0
- package/src/creditDashboard/dtos/PortfolioActiveItem.ts +12 -0
- package/src/creditDashboard/dtos/PortfolioBalance.ts +5 -0
- package/src/creditDashboard/dtos/PortfolioBalanceMonthlyItem.ts +5 -0
- package/src/creditDashboard/dtos/PortfolioByLevelItem.ts +7 -0
- package/src/creditDashboard/dtos/PortfolioResolutionItem.ts +8 -0
- package/src/creditDashboard/dtos/PortfolioUpcomingWeek.ts +7 -0
- package/src/creditDashboard/index.ts +16 -0
- package/src/creditEngine/dtos/AdvancedPaymentRequest.ts +15 -0
- package/src/creditEngine/dtos/AnticipatedPaymentRequest.ts +15 -0
- package/src/creditEngine/dtos/CreditDetailResponse.ts +25 -11
- package/src/creditEngine/dtos/CreditOriginationRequest.ts +12 -2
- package/src/creditEngine/dtos/CreditRequestResult.ts +9 -0
- package/src/creditEngine/dtos/CreditSignatureResult.ts +8 -0
- package/src/creditEngine/dtos/EarlyPaymentResult.ts +9 -0
- package/src/creditEngine/dtos/OfferResult.ts +16 -0
- package/src/creditEngine/dtos/PaymentScheduleItemResponse.ts +7 -6
- package/src/creditEngine/dtos/SettlementPaymentRequest.ts +11 -0
- package/src/creditEngine/dtos/SettlementQuote.ts +14 -0
- package/src/creditEngine/index.ts +8 -0
- package/src/customerFile/dtos/CustomerFileSearchRequest.ts +16 -0
- package/src/customerFile/index.ts +1 -0
- 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,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:
|
|
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
|
|
6
|
-
directory_id
|
|
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,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,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,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
|
+
}
|