@fiado/type-kit 3.196.0 → 3.198.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.
- package/bin/creditEngine/dtos/AnticipatedPaymentQuote.d.ts +47 -0
- package/bin/creditEngine/dtos/AnticipatedPaymentQuote.js +22 -0
- package/bin/creditEngine/index.d.ts +1 -0
- package/bin/creditEngine/index.js +1 -0
- package/bin/index.d.ts +2 -0
- package/bin/index.js +8 -1
- package/bin/loanCredit/dtos/ActivationChecklist.d.ts +11 -0
- package/bin/loanCredit/dtos/ActivationChecklist.js +42 -0
- package/bin/loanCredit/dtos/LoanBeneficiary.d.ts +8 -0
- package/bin/{platformRbac/dtos/ResendOtpRequest.js → loanCredit/dtos/LoanBeneficiary.js} +14 -12
- package/bin/loanCredit/dtos/LoanBorrower.d.ts +22 -0
- package/bin/loanCredit/dtos/LoanBorrower.js +82 -0
- package/bin/loanCredit/dtos/LoanCredit.d.ts +50 -0
- package/bin/loanCredit/dtos/LoanCredit.js +174 -0
- package/bin/loanCredit/dtos/LoanInstallment.d.ts +27 -0
- package/bin/loanCredit/dtos/LoanInstallment.js +97 -0
- package/bin/loanCredit/dtos/requests/ChangeLoanCreditStatusRequest.d.ts +12 -0
- package/bin/{platformRbac/dtos/ResendSelfRegisterOtpRequest.js → loanCredit/dtos/requests/ChangeLoanCreditStatusRequest.js} +13 -13
- package/bin/loanCredit/dtos/requests/OriginateLoanCreditRequest.d.ts +22 -0
- package/bin/loanCredit/dtos/requests/OriginateLoanCreditRequest.js +84 -0
- package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.d.ts +11 -0
- package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.js +46 -0
- package/bin/loanCredit/dtos/requests/UpsertLoanBorrowerRequest.d.ts +14 -0
- package/bin/loanCredit/dtos/requests/UpsertLoanBorrowerRequest.js +57 -0
- package/bin/loanCredit/dtos/responses/LoanBorrowerResponse.d.ts +21 -0
- package/bin/loanCredit/dtos/responses/LoanBorrowerResponse.js +2 -0
- package/bin/loanCredit/dtos/responses/LoanCreditResponse.d.ts +38 -0
- package/bin/loanCredit/dtos/responses/LoanCreditResponse.js +2 -0
- package/bin/loanCredit/dtos/responses/LoanInstallmentResponse.d.ts +17 -0
- package/bin/loanCredit/dtos/responses/LoanInstallmentResponse.js +2 -0
- package/bin/loanCredit/dtos/responses/OriginateLoanCreditResponse.d.ts +10 -0
- package/bin/loanCredit/dtos/responses/OriginateLoanCreditResponse.js +2 -0
- package/bin/loanCredit/enums/ClientLevelEnum.d.ts +11 -0
- package/bin/loanCredit/enums/ClientLevelEnum.js +15 -0
- package/bin/loanCredit/enums/LoanCreditStatusEnum.d.ts +21 -0
- package/bin/loanCredit/enums/LoanCreditStatusEnum.js +25 -0
- package/bin/loanCredit/enums/LoanInstallmentStatusEnum.d.ts +11 -0
- package/bin/loanCredit/enums/LoanInstallmentStatusEnum.js +15 -0
- package/bin/loanCredit/index.d.ts +16 -0
- package/bin/loanCredit/index.js +36 -0
- package/bin/loanScoring/dtos/SciBreakdown.d.ts +29 -0
- package/bin/loanScoring/dtos/SciBreakdown.js +2 -0
- package/bin/loanScoring/dtos/ScoringDecision.d.ts +29 -0
- package/bin/loanScoring/dtos/ScoringDecision.js +2 -0
- package/bin/loanScoring/dtos/ScoringOffer.d.ts +18 -0
- package/bin/loanScoring/dtos/ScoringOffer.js +2 -0
- package/bin/loanScoring/dtos/requests/EvaluateSciRequest.d.ts +23 -0
- package/bin/loanScoring/dtos/requests/EvaluateSciRequest.js +54 -0
- package/bin/loanScoring/dtos/requests/SciInternalHistoryInput.d.ts +19 -0
- package/bin/loanScoring/dtos/requests/SciInternalHistoryInput.js +51 -0
- package/bin/loanScoring/dtos/responses/EvaluateSciResponse.d.ts +24 -0
- package/bin/loanScoring/dtos/responses/EvaluateSciResponse.js +2 -0
- package/bin/loanScoring/dtos/responses/SciEvaluationResponse.d.ts +28 -0
- package/bin/loanScoring/dtos/responses/SciEvaluationResponse.js +2 -0
- package/bin/loanScoring/enums/ClientLevelEnum.d.ts +13 -0
- package/bin/loanScoring/enums/ClientLevelEnum.js +17 -0
- package/bin/loanScoring/enums/SciLayer2SourceEnum.d.ts +11 -0
- package/bin/loanScoring/enums/SciLayer2SourceEnum.js +15 -0
- package/bin/loanScoring/enums/ScoringDecisionEnum.d.ts +14 -0
- package/bin/loanScoring/enums/ScoringDecisionEnum.js +18 -0
- package/bin/loanScoring/enums/ScoringProviderEnum.d.ts +12 -0
- package/bin/loanScoring/enums/ScoringProviderEnum.js +16 -0
- package/bin/loanScoring/index.d.ts +11 -0
- package/bin/loanScoring/index.js +31 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +6 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +31 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +7 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +6 -0
- package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +11 -0
- package/bin/walletFunding/dtos/CancelFundingRequest.js +33 -0
- package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +14 -0
- package/bin/walletFunding/dtos/CancelFundingResponse.js +12 -0
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +3 -0
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +21 -0
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +7 -0
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +6 -0
- package/package.json +1 -1
- package/src/creditEngine/dtos/AnticipatedPaymentQuote.ts +56 -0
- package/src/creditEngine/index.ts +1 -0
- package/src/index.ts +7 -0
- package/src/loanCredit/dtos/ActivationChecklist.ts +25 -0
- package/src/loanCredit/dtos/LoanBeneficiary.ts +22 -0
- package/src/loanCredit/dtos/LoanBorrower.ts +71 -0
- package/src/loanCredit/dtos/LoanCredit.ts +156 -0
- package/src/loanCredit/dtos/LoanInstallment.ts +75 -0
- package/src/loanCredit/dtos/requests/ChangeLoanCreditStatusRequest.ts +22 -0
- package/src/loanCredit/dtos/requests/OriginateLoanCreditRequest.ts +73 -0
- package/src/loanCredit/dtos/requests/UpdateActivationChecklistRequest.ts +29 -0
- package/src/loanCredit/dtos/requests/UpsertLoanBorrowerRequest.ts +48 -0
- package/src/loanCredit/dtos/responses/LoanBorrowerResponse.ts +22 -0
- package/src/loanCredit/dtos/responses/LoanCreditResponse.ts +39 -0
- package/src/loanCredit/dtos/responses/LoanInstallmentResponse.ts +18 -0
- package/src/loanCredit/dtos/responses/OriginateLoanCreditResponse.ts +11 -0
- package/src/loanCredit/enums/ClientLevelEnum.ts +11 -0
- package/src/loanCredit/enums/LoanCreditStatusEnum.ts +21 -0
- package/src/loanCredit/enums/LoanInstallmentStatusEnum.ts +11 -0
- package/src/loanCredit/index.ts +23 -0
- package/src/loanScoring/dtos/SciBreakdown.ts +33 -0
- package/src/loanScoring/dtos/ScoringDecision.ts +30 -0
- package/src/loanScoring/dtos/ScoringOffer.ts +18 -0
- package/src/loanScoring/dtos/requests/EvaluateSciRequest.ts +43 -0
- package/src/loanScoring/dtos/requests/SciInternalHistoryInput.ts +38 -0
- package/src/loanScoring/dtos/responses/EvaluateSciResponse.ts +25 -0
- package/src/loanScoring/dtos/responses/SciEvaluationResponse.ts +29 -0
- package/src/loanScoring/enums/ClientLevelEnum.ts +13 -0
- package/src/loanScoring/enums/SciLayer2SourceEnum.ts +11 -0
- package/src/loanScoring/enums/ScoringDecisionEnum.ts +14 -0
- package/src/loanScoring/enums/ScoringProviderEnum.ts +12 -0
- package/src/loanScoring/index.ts +18 -0
- package/bin/loanConfig/enums/ModifiableByRoleEnum.d.ts +0 -11
- package/bin/loanConfig/enums/ModifiableByRoleEnum.js +0 -15
- package/bin/places/dtos/CashInFeeDto.d.ts +0 -17
- package/bin/places/dtos/CashInFeeDto.js +0 -12
- package/bin/platformRbac/dtos/ResendOtpRequest.d.ts +0 -22
- package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.d.ts +0 -11
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PaymentScheduleItemResponse } from "./PaymentScheduleItemResponse";
|
|
2
|
+
/**
|
|
3
|
+
* Preview / cotizacion de un abono a capital (ANTICIPATED) antes de ejecutarlo.
|
|
4
|
+
*
|
|
5
|
+
* Reusa el mismo motor de recalculo que la ejecucion real
|
|
6
|
+
* (ScheduleRecalculationService.redistributeCapital) — no persiste nada.
|
|
7
|
+
*
|
|
8
|
+
* Regla de negocio: el abono acorta la cuota semanal, NO el plazo. El numero
|
|
9
|
+
* de cupones se mantiene igual; los PENDING se re-amortizan sobre el nuevo
|
|
10
|
+
* saldo, los PARTIAL se escalan proporcionalmente y los PAID quedan intactos.
|
|
11
|
+
*/
|
|
12
|
+
export declare class AnticipatedPaymentQuote {
|
|
13
|
+
creditId: string;
|
|
14
|
+
/** Monto que el usuario propuso, capeado al outstanding real del credito. */
|
|
15
|
+
amountMxn: number;
|
|
16
|
+
/** Estado actual (as-is) del credito, antes de aplicar el abono. */
|
|
17
|
+
current: AnticipatedPaymentSummary;
|
|
18
|
+
/** Estado proyectado (as-if) despues de aplicar el abono. */
|
|
19
|
+
after: AnticipatedPaymentSummary;
|
|
20
|
+
/** Diferencia entre `current` y `after` — cuanto ahorra el usuario. */
|
|
21
|
+
savings: AnticipatedPaymentSavings;
|
|
22
|
+
/**
|
|
23
|
+
* Calendario completo proyectado (todos los cupones: PAID historicos,
|
|
24
|
+
* PARTIAL escalados, PENDING re-amortizados). Mismo shape que
|
|
25
|
+
* `GET /credit/{creditId}/schedule` para que el frontend renderice con
|
|
26
|
+
* el mismo componente.
|
|
27
|
+
*/
|
|
28
|
+
newSchedule: PaymentScheduleItemResponse[];
|
|
29
|
+
/** ISO timestamp de la cotizacion. */
|
|
30
|
+
quoteDate: string;
|
|
31
|
+
}
|
|
32
|
+
export declare class AnticipatedPaymentSummary {
|
|
33
|
+
/** Cuota semanal vigente. */
|
|
34
|
+
weeklyPaymentMxn: number;
|
|
35
|
+
/** Saldo insoluto (capital pendiente). */
|
|
36
|
+
outstandingMxn: number;
|
|
37
|
+
/** Cupones que aun no estan PAID (incluye PARTIAL). */
|
|
38
|
+
remainingCoupons: number;
|
|
39
|
+
/** Total pendiente a pagar (capital + interes + IVA de cupones no PAID). */
|
|
40
|
+
totalToPayMxn: number;
|
|
41
|
+
}
|
|
42
|
+
export declare class AnticipatedPaymentSavings {
|
|
43
|
+
/** Reduccion en la cuota semanal (current - after). */
|
|
44
|
+
weeklyMxn: number;
|
|
45
|
+
/** Reduccion total en intereses + IVA a pagar (current - after). */
|
|
46
|
+
totalInterestMxn: number;
|
|
47
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnticipatedPaymentSavings = exports.AnticipatedPaymentSummary = exports.AnticipatedPaymentQuote = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Preview / cotizacion de un abono a capital (ANTICIPATED) antes de ejecutarlo.
|
|
6
|
+
*
|
|
7
|
+
* Reusa el mismo motor de recalculo que la ejecucion real
|
|
8
|
+
* (ScheduleRecalculationService.redistributeCapital) — no persiste nada.
|
|
9
|
+
*
|
|
10
|
+
* Regla de negocio: el abono acorta la cuota semanal, NO el plazo. El numero
|
|
11
|
+
* de cupones se mantiene igual; los PENDING se re-amortizan sobre el nuevo
|
|
12
|
+
* saldo, los PARTIAL se escalan proporcionalmente y los PAID quedan intactos.
|
|
13
|
+
*/
|
|
14
|
+
class AnticipatedPaymentQuote {
|
|
15
|
+
}
|
|
16
|
+
exports.AnticipatedPaymentQuote = AnticipatedPaymentQuote;
|
|
17
|
+
class AnticipatedPaymentSummary {
|
|
18
|
+
}
|
|
19
|
+
exports.AnticipatedPaymentSummary = AnticipatedPaymentSummary;
|
|
20
|
+
class AnticipatedPaymentSavings {
|
|
21
|
+
}
|
|
22
|
+
exports.AnticipatedPaymentSavings = AnticipatedPaymentSavings;
|
|
@@ -32,3 +32,4 @@ __exportStar(require("./dtos/CreditSignatureResult"), exports);
|
|
|
32
32
|
__exportStar(require("./dtos/EarlyPaymentResult"), exports);
|
|
33
33
|
__exportStar(require("./dtos/OfferResult"), exports);
|
|
34
34
|
__exportStar(require("./dtos/SettlementQuote"), exports);
|
|
35
|
+
__exportStar(require("./dtos/AnticipatedPaymentQuote"), exports);
|
package/bin/index.d.ts
CHANGED
|
@@ -96,5 +96,7 @@ export * as RetailWizard from './retailWizard';
|
|
|
96
96
|
export * as LoanConfig from './loanConfig';
|
|
97
97
|
export * as LoanOfferings from './loanOfferings';
|
|
98
98
|
export * as LoanCollectorAssignment from './loanCollectorAssignment';
|
|
99
|
+
export * as LoanCredit from './loanCredit';
|
|
100
|
+
export * as LoanScoring from './loanScoring';
|
|
99
101
|
export * from './messaging';
|
|
100
102
|
export * from './complaint';
|
package/bin/index.js
CHANGED
|
@@ -37,7 +37,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.Device = exports.Observations = exports.IssuanceBusiness = exports.Blacklist = exports.CentralPayments = exports.Helpdesk = exports.FiadoApiResponse = exports.Auth = exports.LegalDocumentsBusiness = exports.Role = exports.STPAccount = exports.RiskProfile = exports.FraudPreventionEngine = exports.BBVARst = exports.Stp = exports.BenefitCenter = exports.BankAccount = exports.P2pContact = exports.CreditContract = exports.Contract = exports.ProductCatalog = exports.ContactInfo = exports.TransactionAnalytics = exports.Transaction = exports.TransactionProcessor = exports.GenericMessage = exports.EventBridgeMessage = exports.SessionActivity = exports.NotificationMessages = exports.ServicePayment = exports.Header = exports.Identity = exports.UserTags = exports.Group = exports.File = exports.ExchangeRate = exports.Directory = exports.Currency = exports.Country = exports.Card = exports.Authentication = exports.AppContent = exports.App = exports.Offices = exports.Places = exports.Address = exports.Beneficiary = exports.Activity = exports.Account = exports.Crypto = void 0;
|
|
40
|
-
exports.LoanCollectorAssignment = exports.LoanOfferings = exports.LoanConfig = exports.RetailWizard = exports.RetailCustomer = exports.RetailCards = exports.RetailCatalog = exports.RetailOrg = exports.EmailVerification = exports.NetworkConnector = exports.Modelias = exports.TotpSecurity = exports.Passport = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = exports.AccountIssuanceBusiness = exports.AppSelectionData = void 0;
|
|
40
|
+
exports.LoanScoring = exports.LoanCredit = exports.LoanCollectorAssignment = exports.LoanOfferings = exports.LoanConfig = exports.RetailWizard = exports.RetailCustomer = exports.RetailCards = exports.RetailCatalog = exports.RetailOrg = exports.EmailVerification = exports.NetworkConnector = exports.Modelias = exports.TotpSecurity = exports.Passport = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = exports.AccountIssuanceBusiness = exports.AppSelectionData = void 0;
|
|
41
41
|
exports.Crypto = __importStar(require("./crypto"));
|
|
42
42
|
exports.Account = __importStar(require("./account"));
|
|
43
43
|
exports.Activity = __importStar(require("./activity"));
|
|
@@ -163,5 +163,12 @@ exports.LoanOfferings = __importStar(require("./loanOfferings"));
|
|
|
163
163
|
// LoanCollectorAssignment: DTOs/enums del lambda loan-collector-assignment-business (comp 08 — reglas de
|
|
164
164
|
// asignación de cartera de cobranza + asignaciones crédito↔cobrador; SureKeep Fase 1 — pista Loan).
|
|
165
165
|
exports.LoanCollectorAssignment = __importStar(require("./loanCollectorAssignment"));
|
|
166
|
+
// LoanCredit: DTOs/enums del lambda loan-credit-business (comp 09 F2/F3 — motor de crédito SOFOM:
|
|
167
|
+
// acreditado, crédito, plan de cuotas con amortización francesa + IVA 16%; SureKeep — pista Loan).
|
|
168
|
+
exports.LoanCredit = __importStar(require("./loanCredit"));
|
|
169
|
+
// LoanScoring: DTOs/enums del lambda loan-scoring-business (comp 08 F2 — SCI M7 de 3 capas +
|
|
170
|
+
// ScoringProviderRouter configurable Modelias|Círculo con contrato agnóstico ScoringDecision;
|
|
171
|
+
// SureKeep Fase 2 — pista Loan/SOFOM).
|
|
172
|
+
exports.LoanScoring = __importStar(require("./loanScoring"));
|
|
166
173
|
__exportStar(require("./messaging"), exports);
|
|
167
174
|
__exportStar(require("./complaint"), exports);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Las 4 condiciones de activación del crédito (M2 §5 / 05_MOTOR §7). El crédito solo puede pasar a
|
|
3
|
+
* `ACTIVE` cuando las 4 son `true`. `downPayment`/`contractSigned` las marca la firma del contrato;
|
|
4
|
+
* `imeiEnrolled`/`lockVerified` las marca el enrolamiento MDM.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ActivationChecklist {
|
|
7
|
+
downPayment: boolean;
|
|
8
|
+
contractSigned: boolean;
|
|
9
|
+
imeiEnrolled: boolean;
|
|
10
|
+
lockVerified: boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ActivationChecklist = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/**
|
|
16
|
+
* Las 4 condiciones de activación del crédito (M2 §5 / 05_MOTOR §7). El crédito solo puede pasar a
|
|
17
|
+
* `ACTIVE` cuando las 4 son `true`. `downPayment`/`contractSigned` las marca la firma del contrato;
|
|
18
|
+
* `imeiEnrolled`/`lockVerified` las marca el enrolamiento MDM.
|
|
19
|
+
*/
|
|
20
|
+
class ActivationChecklist {
|
|
21
|
+
}
|
|
22
|
+
exports.ActivationChecklist = ActivationChecklist;
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_transformer_1.Expose)(),
|
|
25
|
+
(0, class_validator_1.IsBoolean)(),
|
|
26
|
+
__metadata("design:type", Boolean)
|
|
27
|
+
], ActivationChecklist.prototype, "downPayment", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_transformer_1.Expose)(),
|
|
30
|
+
(0, class_validator_1.IsBoolean)(),
|
|
31
|
+
__metadata("design:type", Boolean)
|
|
32
|
+
], ActivationChecklist.prototype, "contractSigned", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, class_transformer_1.Expose)(),
|
|
35
|
+
(0, class_validator_1.IsBoolean)(),
|
|
36
|
+
__metadata("design:type", Boolean)
|
|
37
|
+
], ActivationChecklist.prototype, "imeiEnrolled", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, class_transformer_1.Expose)(),
|
|
40
|
+
(0, class_validator_1.IsBoolean)(),
|
|
41
|
+
__metadata("design:type", Boolean)
|
|
42
|
+
], ActivationChecklist.prototype, "lockVerified", void 0);
|
|
@@ -9,28 +9,30 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.LoanBeneficiary = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
* Reenvía el OTP del login re-disparando el challenge real CUSTOM_AUTH (EMAIL_OTP) para la
|
|
18
|
-
* identidad SIN password. `tenantId` obligatorio (DEC-064 — el picker ya lo resolvió, NO "solo email").
|
|
19
|
-
* El email se normaliza lowercase server-side. Postura anti-enumeración: respuesta 200 genérica
|
|
20
|
-
* siempre, sin filtrar existencia (ver AuthLoginManager.resendChallengeOtp).
|
|
16
|
+
* Beneficiario declarado por el acreditado (modelo-datos §5b `LoanBorrower.beneficiary`).
|
|
21
17
|
*/
|
|
22
|
-
class
|
|
18
|
+
class LoanBeneficiary {
|
|
23
19
|
}
|
|
24
|
-
exports.
|
|
20
|
+
exports.LoanBeneficiary = LoanBeneficiary;
|
|
25
21
|
__decorate([
|
|
26
22
|
(0, class_transformer_1.Expose)(),
|
|
27
|
-
(0, class_validator_1.
|
|
23
|
+
(0, class_validator_1.IsString)(),
|
|
28
24
|
(0, class_validator_1.IsNotEmpty)(),
|
|
29
25
|
__metadata("design:type", String)
|
|
30
|
-
],
|
|
26
|
+
], LoanBeneficiary.prototype, "fullName", void 0);
|
|
31
27
|
__decorate([
|
|
32
28
|
(0, class_transformer_1.Expose)(),
|
|
29
|
+
(0, class_validator_1.IsOptional)(),
|
|
30
|
+
(0, class_validator_1.IsString)(),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], LoanBeneficiary.prototype, "relationship", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, class_transformer_1.Expose)(),
|
|
35
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
36
|
(0, class_validator_1.IsString)(),
|
|
34
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
35
37
|
__metadata("design:type", String)
|
|
36
|
-
],
|
|
38
|
+
], LoanBeneficiary.prototype, "phone", void 0);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ClientLevelEnum } from '../enums/ClientLevelEnum';
|
|
2
|
+
import { LoanBeneficiary } from './LoanBeneficiary';
|
|
3
|
+
/**
|
|
4
|
+
* LoanBorrower — el acreditado de la SOFOM (modelo-datos §5b · owner `loan-credit-business`).
|
|
5
|
+
* Se hidrata desde el evento `CustomerKycVerifiedV1` de retail-customer (idempotente por
|
|
6
|
+
* `retailCustomerId`). `sciScore`/`clientLevel` los actualiza loan-scoring tras cada evaluación.
|
|
7
|
+
*/
|
|
8
|
+
export declare class LoanBorrower {
|
|
9
|
+
borrowerId: string;
|
|
10
|
+
/** FK al comprador de retail (`RetailCustomer` — owner retail-customer-business). */
|
|
11
|
+
retailCustomerId: string;
|
|
12
|
+
/** SCI vigente 0-100 (M7). Ausente hasta la primera evaluación. */
|
|
13
|
+
sciScore?: number;
|
|
14
|
+
clientLevel?: ClientLevelEnum;
|
|
15
|
+
/** Score FICO/FIS del buró en la última consulta (Círculo de Crédito). */
|
|
16
|
+
bureauScore?: number;
|
|
17
|
+
beneficiary?: LoanBeneficiary;
|
|
18
|
+
createdBy: string;
|
|
19
|
+
updatedBy: string;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
updatedAt: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LoanBorrower = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const regex_1 = require("../../helpers/constans/regex");
|
|
16
|
+
const ClientLevelEnum_1 = require("../enums/ClientLevelEnum");
|
|
17
|
+
const LoanBeneficiary_1 = require("./LoanBeneficiary");
|
|
18
|
+
/**
|
|
19
|
+
* LoanBorrower — el acreditado de la SOFOM (modelo-datos §5b · owner `loan-credit-business`).
|
|
20
|
+
* Se hidrata desde el evento `CustomerKycVerifiedV1` de retail-customer (idempotente por
|
|
21
|
+
* `retailCustomerId`). `sciScore`/`clientLevel` los actualiza loan-scoring tras cada evaluación.
|
|
22
|
+
*/
|
|
23
|
+
class LoanBorrower {
|
|
24
|
+
}
|
|
25
|
+
exports.LoanBorrower = LoanBorrower;
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], LoanBorrower.prototype, "borrowerId", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], LoanBorrower.prototype, "retailCustomerId", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
(0, class_validator_1.IsOptional)(),
|
|
39
|
+
(0, class_validator_1.IsInt)(),
|
|
40
|
+
(0, class_validator_1.Min)(0),
|
|
41
|
+
(0, class_validator_1.Max)(100),
|
|
42
|
+
__metadata("design:type", Number)
|
|
43
|
+
], LoanBorrower.prototype, "sciScore", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, class_transformer_1.Expose)(),
|
|
46
|
+
(0, class_validator_1.IsOptional)(),
|
|
47
|
+
(0, class_validator_1.IsEnum)(ClientLevelEnum_1.ClientLevelEnum),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], LoanBorrower.prototype, "clientLevel", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, class_transformer_1.Expose)(),
|
|
52
|
+
(0, class_validator_1.IsOptional)(),
|
|
53
|
+
(0, class_validator_1.IsInt)(),
|
|
54
|
+
__metadata("design:type", Number)
|
|
55
|
+
], LoanBorrower.prototype, "bureauScore", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, class_transformer_1.Expose)(),
|
|
58
|
+
(0, class_validator_1.IsOptional)(),
|
|
59
|
+
(0, class_validator_1.ValidateNested)(),
|
|
60
|
+
(0, class_transformer_1.Type)(() => LoanBeneficiary_1.LoanBeneficiary),
|
|
61
|
+
__metadata("design:type", LoanBeneficiary_1.LoanBeneficiary)
|
|
62
|
+
], LoanBorrower.prototype, "beneficiary", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, class_transformer_1.Expose)(),
|
|
65
|
+
(0, class_validator_1.IsString)(),
|
|
66
|
+
__metadata("design:type", String)
|
|
67
|
+
], LoanBorrower.prototype, "createdBy", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, class_transformer_1.Expose)(),
|
|
70
|
+
(0, class_validator_1.IsString)(),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], LoanBorrower.prototype, "updatedBy", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, class_transformer_1.Expose)(),
|
|
75
|
+
(0, class_validator_1.Matches)(regex_1.regexIso8601),
|
|
76
|
+
__metadata("design:type", String)
|
|
77
|
+
], LoanBorrower.prototype, "createdAt", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, class_transformer_1.Expose)(),
|
|
80
|
+
(0, class_validator_1.Matches)(regex_1.regexIso8601),
|
|
81
|
+
__metadata("design:type", String)
|
|
82
|
+
], LoanBorrower.prototype, "updatedAt", void 0);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ClientLevelEnum } from '../enums/ClientLevelEnum';
|
|
2
|
+
import { LoanCreditStatusEnum } from '../enums/LoanCreditStatusEnum';
|
|
3
|
+
import { ActivationChecklist } from './ActivationChecklist';
|
|
4
|
+
/**
|
|
5
|
+
* LoanCredit — el crédito SOFOM (modelo-datos §5b · M2 · owner `loan-credit-business`).
|
|
6
|
+
*
|
|
7
|
+
* Convenciones: montos en **cents** (entero); TNA decimal (`2.30` = 230%); porcentajes decimal
|
|
8
|
+
* sobre 1. La estructura financiera es amortización francesa + IVA 16% sobre intereses, sin interés
|
|
9
|
+
* moratorio (M2 §3). El snapshot `sciAtOrigination`/`clientLevelAtOrigination` congela las
|
|
10
|
+
* condiciones del cliente al originar (el SCI vivo evoluciona en `LoanBorrower`).
|
|
11
|
+
*/
|
|
12
|
+
export declare class LoanCredit {
|
|
13
|
+
creditId: string;
|
|
14
|
+
borrowerId: string;
|
|
15
|
+
status: LoanCreditStatusEnum;
|
|
16
|
+
/** Plan de crédito del catálogo de loan-offerings con el que se originó. */
|
|
17
|
+
planId: string;
|
|
18
|
+
termWeeks: number;
|
|
19
|
+
equipmentPriceCents: number;
|
|
20
|
+
downPaymentCents: number;
|
|
21
|
+
/** Capital financiado = precio del equipo − enganche. */
|
|
22
|
+
financedCapitalCents: number;
|
|
23
|
+
/** TNA decimal (`2.30` = 230%). */
|
|
24
|
+
tnaAnnual: number;
|
|
25
|
+
/** Cuota semanal sin IVA (constante en amortización francesa). */
|
|
26
|
+
weeklyPaymentCents: number;
|
|
27
|
+
/** Cuota semanal con IVA de la primera semana (informativa — el IVA decrece por cuota). */
|
|
28
|
+
weeklyPaymentWithIvaCents: number;
|
|
29
|
+
totalInterestCents: number;
|
|
30
|
+
totalIvaCents: number;
|
|
31
|
+
/** Total a pagar = capital + intereses + IVA. */
|
|
32
|
+
totalToPayCents: number;
|
|
33
|
+
/** IMEI del equipo financiado (se fija en el enrolamiento MDM). */
|
|
34
|
+
imei?: string;
|
|
35
|
+
activationChecklist: ActivationChecklist;
|
|
36
|
+
/** SCI del cliente al originar (snapshot, 0-100). */
|
|
37
|
+
sciAtOrigination?: number;
|
|
38
|
+
clientLevelAtOrigination?: ClientLevelEnum;
|
|
39
|
+
activatedAt?: string;
|
|
40
|
+
/** Fin de la ventana de cancelación voluntaria = activatedAt + 7 días naturales (M2 §11.3). */
|
|
41
|
+
voluntaryCancelDeadline?: string;
|
|
42
|
+
/** Vencimiento de la primera cuota (primer viernes después de la activación). */
|
|
43
|
+
firstDueDate?: string;
|
|
44
|
+
/** Vencimiento de la última cuota. */
|
|
45
|
+
lastDueDate?: string;
|
|
46
|
+
createdBy: string;
|
|
47
|
+
updatedBy: string;
|
|
48
|
+
createdAt: string;
|
|
49
|
+
updatedAt: string;
|
|
50
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LoanCredit = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const regex_1 = require("../../helpers/constans/regex");
|
|
16
|
+
const ClientLevelEnum_1 = require("../enums/ClientLevelEnum");
|
|
17
|
+
const LoanCreditStatusEnum_1 = require("../enums/LoanCreditStatusEnum");
|
|
18
|
+
const ActivationChecklist_1 = require("./ActivationChecklist");
|
|
19
|
+
/**
|
|
20
|
+
* LoanCredit — el crédito SOFOM (modelo-datos §5b · M2 · owner `loan-credit-business`).
|
|
21
|
+
*
|
|
22
|
+
* Convenciones: montos en **cents** (entero); TNA decimal (`2.30` = 230%); porcentajes decimal
|
|
23
|
+
* sobre 1. La estructura financiera es amortización francesa + IVA 16% sobre intereses, sin interés
|
|
24
|
+
* moratorio (M2 §3). El snapshot `sciAtOrigination`/`clientLevelAtOrigination` congela las
|
|
25
|
+
* condiciones del cliente al originar (el SCI vivo evoluciona en `LoanBorrower`).
|
|
26
|
+
*/
|
|
27
|
+
class LoanCredit {
|
|
28
|
+
}
|
|
29
|
+
exports.LoanCredit = LoanCredit;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_transformer_1.Expose)(),
|
|
32
|
+
(0, class_validator_1.IsString)(),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], LoanCredit.prototype, "creditId", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, class_transformer_1.Expose)(),
|
|
37
|
+
(0, class_validator_1.IsString)(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], LoanCredit.prototype, "borrowerId", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_transformer_1.Expose)(),
|
|
42
|
+
(0, class_validator_1.IsEnum)(LoanCreditStatusEnum_1.LoanCreditStatusEnum),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], LoanCredit.prototype, "status", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, class_transformer_1.Expose)(),
|
|
47
|
+
(0, class_validator_1.IsString)(),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], LoanCredit.prototype, "planId", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, class_transformer_1.Expose)(),
|
|
52
|
+
(0, class_validator_1.IsInt)(),
|
|
53
|
+
(0, class_validator_1.Min)(1),
|
|
54
|
+
__metadata("design:type", Number)
|
|
55
|
+
], LoanCredit.prototype, "termWeeks", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, class_transformer_1.Expose)(),
|
|
58
|
+
(0, class_validator_1.IsInt)(),
|
|
59
|
+
(0, class_validator_1.Min)(1),
|
|
60
|
+
__metadata("design:type", Number)
|
|
61
|
+
], LoanCredit.prototype, "equipmentPriceCents", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, class_transformer_1.Expose)(),
|
|
64
|
+
(0, class_validator_1.IsInt)(),
|
|
65
|
+
(0, class_validator_1.Min)(0),
|
|
66
|
+
__metadata("design:type", Number)
|
|
67
|
+
], LoanCredit.prototype, "downPaymentCents", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, class_transformer_1.Expose)(),
|
|
70
|
+
(0, class_validator_1.IsInt)(),
|
|
71
|
+
(0, class_validator_1.Min)(1),
|
|
72
|
+
__metadata("design:type", Number)
|
|
73
|
+
], LoanCredit.prototype, "financedCapitalCents", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, class_transformer_1.Expose)(),
|
|
76
|
+
(0, class_validator_1.IsNumber)(),
|
|
77
|
+
(0, class_validator_1.Min)(0),
|
|
78
|
+
__metadata("design:type", Number)
|
|
79
|
+
], LoanCredit.prototype, "tnaAnnual", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, class_transformer_1.Expose)(),
|
|
82
|
+
(0, class_validator_1.IsInt)(),
|
|
83
|
+
__metadata("design:type", Number)
|
|
84
|
+
], LoanCredit.prototype, "weeklyPaymentCents", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, class_transformer_1.Expose)(),
|
|
87
|
+
(0, class_validator_1.IsInt)(),
|
|
88
|
+
__metadata("design:type", Number)
|
|
89
|
+
], LoanCredit.prototype, "weeklyPaymentWithIvaCents", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
(0, class_transformer_1.Expose)(),
|
|
92
|
+
(0, class_validator_1.IsInt)(),
|
|
93
|
+
__metadata("design:type", Number)
|
|
94
|
+
], LoanCredit.prototype, "totalInterestCents", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, class_transformer_1.Expose)(),
|
|
97
|
+
(0, class_validator_1.IsInt)(),
|
|
98
|
+
__metadata("design:type", Number)
|
|
99
|
+
], LoanCredit.prototype, "totalIvaCents", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, class_transformer_1.Expose)(),
|
|
102
|
+
(0, class_validator_1.IsInt)(),
|
|
103
|
+
__metadata("design:type", Number)
|
|
104
|
+
], LoanCredit.prototype, "totalToPayCents", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, class_transformer_1.Expose)(),
|
|
107
|
+
(0, class_validator_1.IsOptional)(),
|
|
108
|
+
(0, class_validator_1.IsString)(),
|
|
109
|
+
__metadata("design:type", String)
|
|
110
|
+
], LoanCredit.prototype, "imei", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
(0, class_transformer_1.Expose)(),
|
|
113
|
+
(0, class_validator_1.ValidateNested)(),
|
|
114
|
+
(0, class_transformer_1.Type)(() => ActivationChecklist_1.ActivationChecklist),
|
|
115
|
+
__metadata("design:type", ActivationChecklist_1.ActivationChecklist)
|
|
116
|
+
], LoanCredit.prototype, "activationChecklist", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
(0, class_transformer_1.Expose)(),
|
|
119
|
+
(0, class_validator_1.IsOptional)(),
|
|
120
|
+
(0, class_validator_1.IsInt)(),
|
|
121
|
+
(0, class_validator_1.Min)(0),
|
|
122
|
+
(0, class_validator_1.Max)(100),
|
|
123
|
+
__metadata("design:type", Number)
|
|
124
|
+
], LoanCredit.prototype, "sciAtOrigination", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
(0, class_transformer_1.Expose)(),
|
|
127
|
+
(0, class_validator_1.IsOptional)(),
|
|
128
|
+
(0, class_validator_1.IsEnum)(ClientLevelEnum_1.ClientLevelEnum),
|
|
129
|
+
__metadata("design:type", String)
|
|
130
|
+
], LoanCredit.prototype, "clientLevelAtOrigination", void 0);
|
|
131
|
+
__decorate([
|
|
132
|
+
(0, class_transformer_1.Expose)(),
|
|
133
|
+
(0, class_validator_1.IsOptional)(),
|
|
134
|
+
(0, class_validator_1.Matches)(regex_1.regexIso8601),
|
|
135
|
+
__metadata("design:type", String)
|
|
136
|
+
], LoanCredit.prototype, "activatedAt", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
(0, class_transformer_1.Expose)(),
|
|
139
|
+
(0, class_validator_1.IsOptional)(),
|
|
140
|
+
(0, class_validator_1.Matches)(regex_1.regexIso8601),
|
|
141
|
+
__metadata("design:type", String)
|
|
142
|
+
], LoanCredit.prototype, "voluntaryCancelDeadline", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
(0, class_transformer_1.Expose)(),
|
|
145
|
+
(0, class_validator_1.IsOptional)(),
|
|
146
|
+
(0, class_validator_1.IsString)(),
|
|
147
|
+
__metadata("design:type", String)
|
|
148
|
+
], LoanCredit.prototype, "firstDueDate", void 0);
|
|
149
|
+
__decorate([
|
|
150
|
+
(0, class_transformer_1.Expose)(),
|
|
151
|
+
(0, class_validator_1.IsOptional)(),
|
|
152
|
+
(0, class_validator_1.IsString)(),
|
|
153
|
+
__metadata("design:type", String)
|
|
154
|
+
], LoanCredit.prototype, "lastDueDate", void 0);
|
|
155
|
+
__decorate([
|
|
156
|
+
(0, class_transformer_1.Expose)(),
|
|
157
|
+
(0, class_validator_1.IsString)(),
|
|
158
|
+
__metadata("design:type", String)
|
|
159
|
+
], LoanCredit.prototype, "createdBy", void 0);
|
|
160
|
+
__decorate([
|
|
161
|
+
(0, class_transformer_1.Expose)(),
|
|
162
|
+
(0, class_validator_1.IsString)(),
|
|
163
|
+
__metadata("design:type", String)
|
|
164
|
+
], LoanCredit.prototype, "updatedBy", void 0);
|
|
165
|
+
__decorate([
|
|
166
|
+
(0, class_transformer_1.Expose)(),
|
|
167
|
+
(0, class_validator_1.Matches)(regex_1.regexIso8601),
|
|
168
|
+
__metadata("design:type", String)
|
|
169
|
+
], LoanCredit.prototype, "createdAt", void 0);
|
|
170
|
+
__decorate([
|
|
171
|
+
(0, class_transformer_1.Expose)(),
|
|
172
|
+
(0, class_validator_1.Matches)(regex_1.regexIso8601),
|
|
173
|
+
__metadata("design:type", String)
|
|
174
|
+
], LoanCredit.prototype, "updatedAt", void 0);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LoanInstallmentStatusEnum } from '../enums/LoanInstallmentStatusEnum';
|
|
2
|
+
/**
|
|
3
|
+
* LoanInstallment — cuota semanal del crédito (modelo-datos §5b). Montos en cents; el IVA (16%)
|
|
4
|
+
* aplica SOLO sobre el interés de la cuota (M2 §3.3). `dueDate` (YYYY-MM-DD) queda ausente hasta la
|
|
5
|
+
* activación: las fechas se fijan a partir del primer viernes después de `activatedAt` (05_MOTOR §7).
|
|
6
|
+
*/
|
|
7
|
+
export declare class LoanInstallment {
|
|
8
|
+
creditId: string;
|
|
9
|
+
/** Número de cuota 1-based. */
|
|
10
|
+
installmentNumber: number;
|
|
11
|
+
status: LoanInstallmentStatusEnum;
|
|
12
|
+
/** Vencimiento YYYY-MM-DD (viernes; festivo → lunes siguiente). Ausente hasta activar. */
|
|
13
|
+
dueDate?: string;
|
|
14
|
+
capitalCents: number;
|
|
15
|
+
interestCents: number;
|
|
16
|
+
/** IVA 16% sobre el interés de la cuota. */
|
|
17
|
+
ivaCents: number;
|
|
18
|
+
/** capital + interés + IVA. */
|
|
19
|
+
totalCents: number;
|
|
20
|
+
/** Saldo insoluto de capital tras aplicar la cuota. */
|
|
21
|
+
outstandingBalanceCents: number;
|
|
22
|
+
paidAt?: string;
|
|
23
|
+
createdBy: string;
|
|
24
|
+
updatedBy: string;
|
|
25
|
+
createdAt: string;
|
|
26
|
+
updatedAt: string;
|
|
27
|
+
}
|