@fiado/type-kit 3.545.0 → 3.547.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/_test_/unit/loanOfferings/prepaymentMinimum.test.ts +40 -0
  2. package/_test_/unit/loanRetailAudit/loanRetailAuditContracts.test.ts +139 -0
  3. package/bin/index.d.ts +1 -0
  4. package/bin/index.js +4 -1
  5. package/bin/loanCredit/dtos/responses/CreditCustomerListItem.d.ts +2 -0
  6. package/bin/loanCredit/dtos/responses/LoanBorrowerCreditItem.d.ts +2 -0
  7. package/bin/loanCredit/dtos/responses/LoanCreditDetail.d.ts +2 -0
  8. package/bin/loanCredit/dtos/responses/LoanPrepaymentQuote.d.ts +3 -1
  9. package/bin/loanCredit/dtos/responses/SellerCreditRow.d.ts +2 -0
  10. package/bin/loanOfferings/dtos/CreditPlan.d.ts +3 -0
  11. package/bin/loanOfferings/dtos/CreditPlan.js +8 -0
  12. package/bin/loanOfferings/dtos/PrepaymentMinimum.d.ts +12 -0
  13. package/bin/loanOfferings/dtos/PrepaymentMinimum.js +42 -0
  14. package/bin/loanOfferings/dtos/requests/CreateCreditPlanRequest.d.ts +3 -0
  15. package/bin/loanOfferings/dtos/requests/CreateCreditPlanRequest.js +8 -0
  16. package/bin/loanOfferings/dtos/requests/UpdateCreditPlanRequest.d.ts +3 -0
  17. package/bin/loanOfferings/dtos/requests/UpdateCreditPlanRequest.js +8 -0
  18. package/bin/loanOfferings/dtos/responses/CreditPlanResponse.d.ts +3 -0
  19. package/bin/loanOfferings/enums/PrepaymentMinimumModeEnum.d.ts +9 -0
  20. package/bin/loanOfferings/enums/PrepaymentMinimumModeEnum.js +13 -0
  21. package/bin/loanOfferings/index.d.ts +2 -0
  22. package/bin/loanOfferings/index.js +2 -0
  23. package/bin/loanRetailAudit/constants/auditTrailEntityTypes.d.ts +6 -0
  24. package/bin/loanRetailAudit/constants/auditTrailEntityTypes.js +10 -0
  25. package/bin/loanRetailAudit/dtos/AuditTrailChange.d.ts +8 -0
  26. package/bin/loanRetailAudit/dtos/AuditTrailChange.js +36 -0
  27. package/bin/loanRetailAudit/dtos/AuditTrailContextEntry.d.ts +5 -0
  28. package/bin/loanRetailAudit/dtos/AuditTrailContextEntry.js +29 -0
  29. package/bin/loanRetailAudit/dtos/requests/CreatePiiAccessLogRequest.d.ts +19 -0
  30. package/bin/loanRetailAudit/dtos/requests/CreatePiiAccessLogRequest.js +85 -0
  31. package/bin/loanRetailAudit/dtos/requests/ListAuditTrailQuery.d.ts +11 -0
  32. package/bin/loanRetailAudit/dtos/requests/ListAuditTrailQuery.js +52 -0
  33. package/bin/loanRetailAudit/dtos/responses/CreatePiiAccessLogResponse.d.ts +4 -0
  34. package/bin/loanRetailAudit/dtos/responses/CreatePiiAccessLogResponse.js +2 -0
  35. package/bin/loanRetailAudit/dtos/responses/ListAuditTrailResponse.d.ts +31 -0
  36. package/bin/loanRetailAudit/dtos/responses/ListAuditTrailResponse.js +2 -0
  37. package/bin/loanRetailAudit/enums/AuditTrailActionEnum.d.ts +39 -0
  38. package/bin/loanRetailAudit/enums/AuditTrailActionEnum.js +43 -0
  39. package/bin/loanRetailAudit/enums/LoanAuditEntityTypeEnum.d.ts +12 -0
  40. package/bin/loanRetailAudit/enums/LoanAuditEntityTypeEnum.js +16 -0
  41. package/bin/loanRetailAudit/enums/PiiAccessActionEnum.d.ts +5 -0
  42. package/bin/loanRetailAudit/enums/PiiAccessActionEnum.js +9 -0
  43. package/bin/loanRetailAudit/enums/PiiResourceTypeEnum.d.ts +9 -0
  44. package/bin/loanRetailAudit/enums/PiiResourceTypeEnum.js +13 -0
  45. package/bin/loanRetailAudit/enums/RetailAuditEntityTypeEnum.d.ts +17 -0
  46. package/bin/loanRetailAudit/enums/RetailAuditEntityTypeEnum.js +21 -0
  47. package/bin/loanRetailAudit/events/AuditTrailRecordedV1.d.ts +20 -0
  48. package/bin/loanRetailAudit/events/AuditTrailRecordedV1.js +94 -0
  49. package/bin/loanRetailAudit/index.d.ts +13 -0
  50. package/bin/loanRetailAudit/index.js +33 -0
  51. package/bin/retailLoan/dtos/MyCreditSummary.d.ts +2 -0
  52. package/package.json +1 -1
  53. package/src/index.ts +4 -0
  54. package/src/loanCredit/dtos/responses/CreditCustomerListItem.ts +2 -0
  55. package/src/loanCredit/dtos/responses/LoanBorrowerCreditItem.ts +2 -0
  56. package/src/loanCredit/dtos/responses/LoanCreditDetail.ts +2 -0
  57. package/src/loanCredit/dtos/responses/LoanPrepaymentQuote.ts +3 -1
  58. package/src/loanCredit/dtos/responses/SellerCreditRow.ts +2 -0
  59. package/src/loanOfferings/dtos/CreditPlan.ts +10 -1
  60. package/src/loanOfferings/dtos/PrepaymentMinimum.ts +28 -0
  61. package/src/loanOfferings/dtos/requests/CreateCreditPlanRequest.ts +10 -1
  62. package/src/loanOfferings/dtos/requests/UpdateCreditPlanRequest.ts +10 -1
  63. package/src/loanOfferings/dtos/responses/CreditPlanResponse.ts +3 -0
  64. package/src/loanOfferings/enums/PrepaymentMinimumModeEnum.ts +9 -0
  65. package/src/loanOfferings/index.ts +2 -0
  66. package/src/loanRetailAudit/constants/auditTrailEntityTypes.ts +12 -0
  67. package/src/loanRetailAudit/dtos/AuditTrailChange.ts +22 -0
  68. package/src/loanRetailAudit/dtos/AuditTrailContextEntry.ts +14 -0
  69. package/src/loanRetailAudit/dtos/requests/CreatePiiAccessLogRequest.ts +64 -0
  70. package/src/loanRetailAudit/dtos/requests/ListAuditTrailQuery.ts +35 -0
  71. package/src/loanRetailAudit/dtos/responses/CreatePiiAccessLogResponse.ts +4 -0
  72. package/src/loanRetailAudit/dtos/responses/ListAuditTrailResponse.ts +31 -0
  73. package/src/loanRetailAudit/enums/AuditTrailActionEnum.ts +39 -0
  74. package/src/loanRetailAudit/enums/LoanAuditEntityTypeEnum.ts +12 -0
  75. package/src/loanRetailAudit/enums/PiiAccessActionEnum.ts +5 -0
  76. package/src/loanRetailAudit/enums/PiiResourceTypeEnum.ts +9 -0
  77. package/src/loanRetailAudit/enums/RetailAuditEntityTypeEnum.ts +17 -0
  78. package/src/loanRetailAudit/events/AuditTrailRecordedV1.ts +70 -0
  79. package/src/loanRetailAudit/index.ts +20 -0
  80. package/src/retailLoan/dtos/MyCreditSummary.ts +2 -0
@@ -0,0 +1,85 @@
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.CreatePiiAccessLogRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const PiiAccessActionEnum_1 = require("../../enums/PiiAccessActionEnum");
16
+ const PiiResourceTypeEnum_1 = require("../../enums/PiiResourceTypeEnum");
17
+ /** Body de `POST /private/pii-access-logs` (privateCreatePiiAccessLog); el tenant va en `?tenantId=`. */
18
+ class CreatePiiAccessLogRequest {
19
+ }
20
+ exports.CreatePiiAccessLogRequest = CreatePiiAccessLogRequest;
21
+ __decorate([
22
+ (0, class_transformer_1.Expose)(),
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.IsNotEmpty)(),
25
+ __metadata("design:type", String)
26
+ ], CreatePiiAccessLogRequest.prototype, "accessId", void 0);
27
+ __decorate([
28
+ (0, class_transformer_1.Expose)(),
29
+ (0, class_validator_1.IsISO8601)(),
30
+ __metadata("design:type", String)
31
+ ], CreatePiiAccessLogRequest.prototype, "occurredAt", void 0);
32
+ __decorate([
33
+ (0, class_transformer_1.Expose)(),
34
+ (0, class_validator_1.IsString)(),
35
+ (0, class_validator_1.IsNotEmpty)(),
36
+ __metadata("design:type", String)
37
+ ], CreatePiiAccessLogRequest.prototype, "correlationId", void 0);
38
+ __decorate([
39
+ (0, class_transformer_1.Expose)(),
40
+ (0, class_validator_1.IsString)(),
41
+ (0, class_validator_1.IsNotEmpty)(),
42
+ __metadata("design:type", String)
43
+ ], CreatePiiAccessLogRequest.prototype, "actorId", void 0);
44
+ __decorate([
45
+ (0, class_transformer_1.Expose)(),
46
+ (0, class_validator_1.IsString)(),
47
+ (0, class_validator_1.IsNotEmpty)(),
48
+ __metadata("design:type", String)
49
+ ], CreatePiiAccessLogRequest.prototype, "sourceLambda", void 0);
50
+ __decorate([
51
+ (0, class_transformer_1.Expose)(),
52
+ (0, class_validator_1.IsString)(),
53
+ (0, class_validator_1.IsNotEmpty)(),
54
+ __metadata("design:type", String)
55
+ ], CreatePiiAccessLogRequest.prototype, "operationName", void 0);
56
+ __decorate([
57
+ (0, class_transformer_1.Expose)(),
58
+ (0, class_validator_1.IsEnum)(PiiAccessActionEnum_1.PiiAccessActionEnum),
59
+ __metadata("design:type", String)
60
+ ], CreatePiiAccessLogRequest.prototype, "action", void 0);
61
+ __decorate([
62
+ (0, class_transformer_1.Expose)(),
63
+ (0, class_validator_1.IsEnum)(PiiResourceTypeEnum_1.PiiResourceTypeEnum),
64
+ __metadata("design:type", String)
65
+ ], CreatePiiAccessLogRequest.prototype, "resourceType", void 0);
66
+ __decorate([
67
+ (0, class_transformer_1.Expose)(),
68
+ (0, class_validator_1.IsString)(),
69
+ (0, class_validator_1.IsNotEmpty)(),
70
+ __metadata("design:type", String)
71
+ ], CreatePiiAccessLogRequest.prototype, "resourceId", void 0);
72
+ __decorate([
73
+ (0, class_transformer_1.Expose)(),
74
+ (0, class_validator_1.IsArray)(),
75
+ (0, class_validator_1.ArrayNotEmpty)(),
76
+ (0, class_validator_1.IsString)({ each: true }),
77
+ __metadata("design:type", Array)
78
+ ], CreatePiiAccessLogRequest.prototype, "fields", void 0);
79
+ __decorate([
80
+ (0, class_transformer_1.Expose)(),
81
+ (0, class_validator_1.IsOptional)(),
82
+ (0, class_validator_1.IsArray)(),
83
+ (0, class_validator_1.IsString)({ each: true }),
84
+ __metadata("design:type", Array)
85
+ ], CreatePiiAccessLogRequest.prototype, "resourceIds", void 0);
@@ -0,0 +1,11 @@
1
+ import { SortDirEnum } from '../../../passport/enums/SortDirEnum';
2
+ import { AuditTrailEntityType } from '../../constants/auditTrailEntityTypes';
3
+ /** Query de `GET /private/audit-trail` (privateListAuditTrail): bitácora de una entidad, paginada por sk. */
4
+ export declare class ListAuditTrailQuery {
5
+ entityType: AuditTrailEntityType;
6
+ entityId: string;
7
+ /** Por default `desc`, lo más reciente primero. */
8
+ order?: SortDirEnum;
9
+ limit?: number;
10
+ nextToken?: string;
11
+ }
@@ -0,0 +1,52 @@
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.ListAuditTrailQuery = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const SortDirEnum_1 = require("../../../passport/enums/SortDirEnum");
16
+ const auditTrailEntityTypes_1 = require("../../constants/auditTrailEntityTypes");
17
+ /** Query de `GET /private/audit-trail` (privateListAuditTrail): bitácora de una entidad, paginada por sk. */
18
+ class ListAuditTrailQuery {
19
+ }
20
+ exports.ListAuditTrailQuery = ListAuditTrailQuery;
21
+ __decorate([
22
+ (0, class_transformer_1.Expose)(),
23
+ (0, class_validator_1.IsIn)(auditTrailEntityTypes_1.AUDIT_TRAIL_ENTITY_TYPES),
24
+ __metadata("design:type", String)
25
+ ], ListAuditTrailQuery.prototype, "entityType", void 0);
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.IsNotEmpty)(),
30
+ __metadata("design:type", String)
31
+ ], ListAuditTrailQuery.prototype, "entityId", void 0);
32
+ __decorate([
33
+ (0, class_transformer_1.Expose)(),
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsEnum)(SortDirEnum_1.SortDirEnum),
36
+ __metadata("design:type", String)
37
+ ], ListAuditTrailQuery.prototype, "order", void 0);
38
+ __decorate([
39
+ (0, class_transformer_1.Expose)(),
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_transformer_1.Type)(() => Number),
42
+ (0, class_validator_1.IsInt)(),
43
+ (0, class_validator_1.Min)(1),
44
+ (0, class_validator_1.Max)(auditTrailEntityTypes_1.AUDIT_TRAIL_MAX_PAGE_SIZE),
45
+ __metadata("design:type", Number)
46
+ ], ListAuditTrailQuery.prototype, "limit", void 0);
47
+ __decorate([
48
+ (0, class_transformer_1.Expose)(),
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsString)(),
51
+ __metadata("design:type", String)
52
+ ], ListAuditTrailQuery.prototype, "nextToken", void 0);
@@ -0,0 +1,4 @@
1
+ /** Respuesta 201 de privateCreatePiiAccessLog; el mismo `accessId` en un reintento no duplica la fila. */
2
+ export interface CreatePiiAccessLogResponse {
3
+ accessId: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,31 @@
1
+ import { AuditTrailEntityType } from '../../constants/auditTrailEntityTypes';
2
+ import { AuditTrailActionEnum } from '../../enums/AuditTrailActionEnum';
3
+ /** Un campo que cambió, como lo devuelve la lectura. */
4
+ export interface AuditTrailChangeView {
5
+ field: string;
6
+ oldValue: string | null;
7
+ newValue: string | null;
8
+ }
9
+ /** Una entrada de la bitácora; `eventId` y `sourceLambda` son `null` en filas Loan de forma vieja. */
10
+ export interface AuditTrailEntry {
11
+ eventId: string | null;
12
+ sourceLambda: string | null;
13
+ entityType: AuditTrailEntityType;
14
+ entityId: string;
15
+ tenantId: string | null;
16
+ action: AuditTrailActionEnum;
17
+ performedBy: string;
18
+ reason: string | null;
19
+ ip: string | null;
20
+ changes: AuditTrailChangeView[];
21
+ context: {
22
+ key: string;
23
+ value: string;
24
+ }[];
25
+ occurredAt: string;
26
+ }
27
+ /** Página de privateListAuditTrail; `nextToken` es `null` en la última. */
28
+ export interface ListAuditTrailResponse {
29
+ items: AuditTrailEntry[];
30
+ nextToken: string | null;
31
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,39 @@
1
+ /** Acción auditada en `SharedAuditTrail`; une las de Loan y Retail. */
2
+ export declare enum AuditTrailActionEnum {
3
+ CREATE = "CREATE",
4
+ UPDATE = "UPDATE",
5
+ DELETE = "DELETE",
6
+ UPSERT = "UPSERT",
7
+ STATUS_CHANGE = "STATUS_CHANGE",
8
+ TRANSFER = "TRANSFER",
9
+ KYC_VERIFIED = "KYC_VERIFIED",
10
+ KYC_REVIEW = "KYC_REVIEW",
11
+ ACCOUNT_RESULT = "ACCOUNT_RESULT",
12
+ WELCOME_ACCREDITED = "WELCOME_ACCREDITED",
13
+ WELCOME_ACCREDITATION_RESULT = "WELCOME_ACCREDITATION_RESULT",
14
+ WELCOME_ACCREDITATION_RECONCILED = "WELCOME_ACCREDITATION_RECONCILED",
15
+ SESSION_CREATE = "SESSION_CREATE",
16
+ STEP_ADVANCE = "STEP_ADVANCE",
17
+ OTP_SKIP = "OTP_SKIP",
18
+ SESSION_RESUME = "SESSION_RESUME",
19
+ SESSION_CANCEL = "SESSION_CANCEL",
20
+ SESSION_CREDIT_ENABLED = "SESSION_CREDIT_ENABLED",
21
+ PAYMENT_REGISTERED = "PAYMENT_REGISTERED",
22
+ SALE_COMPLETE = "SALE_COMPLETE",
23
+ SALE_CANCEL = "SALE_CANCEL",
24
+ SALE_CARD_DELIVERED = "SALE_CARD_DELIVERED",
25
+ KYC_CONFIRM = "KYC_CONFIRM",
26
+ COMPLIANCE_VERDICT = "COMPLIANCE_VERDICT",
27
+ EXCEPTION_CREATE = "EXCEPTION_CREATE",
28
+ EXCEPTION_REVIEW = "EXCEPTION_REVIEW",
29
+ EXCEPTION_RESOLVE = "EXCEPTION_RESOLVE",
30
+ EXCEPTION_APPLY = "EXCEPTION_APPLY",
31
+ EXCEPTION_NOTE = "EXCEPTION_NOTE",
32
+ REPORT_RUN_REQUEST = "REPORT_RUN_REQUEST",
33
+ PUBLISH = "PUBLISH",
34
+ CLOSE = "CLOSE",
35
+ ADJUST = "ADJUST",
36
+ PAUSE = "PAUSE",
37
+ RESUME = "RESUME",
38
+ EXPIRE = "EXPIRE"
39
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuditTrailActionEnum = void 0;
4
+ /** Acción auditada en `SharedAuditTrail`; une las de Loan y Retail. */
5
+ var AuditTrailActionEnum;
6
+ (function (AuditTrailActionEnum) {
7
+ AuditTrailActionEnum["CREATE"] = "CREATE";
8
+ AuditTrailActionEnum["UPDATE"] = "UPDATE";
9
+ AuditTrailActionEnum["DELETE"] = "DELETE";
10
+ AuditTrailActionEnum["UPSERT"] = "UPSERT";
11
+ AuditTrailActionEnum["STATUS_CHANGE"] = "STATUS_CHANGE";
12
+ AuditTrailActionEnum["TRANSFER"] = "TRANSFER";
13
+ AuditTrailActionEnum["KYC_VERIFIED"] = "KYC_VERIFIED";
14
+ AuditTrailActionEnum["KYC_REVIEW"] = "KYC_REVIEW";
15
+ AuditTrailActionEnum["ACCOUNT_RESULT"] = "ACCOUNT_RESULT";
16
+ AuditTrailActionEnum["WELCOME_ACCREDITED"] = "WELCOME_ACCREDITED";
17
+ AuditTrailActionEnum["WELCOME_ACCREDITATION_RESULT"] = "WELCOME_ACCREDITATION_RESULT";
18
+ AuditTrailActionEnum["WELCOME_ACCREDITATION_RECONCILED"] = "WELCOME_ACCREDITATION_RECONCILED";
19
+ AuditTrailActionEnum["SESSION_CREATE"] = "SESSION_CREATE";
20
+ AuditTrailActionEnum["STEP_ADVANCE"] = "STEP_ADVANCE";
21
+ AuditTrailActionEnum["OTP_SKIP"] = "OTP_SKIP";
22
+ AuditTrailActionEnum["SESSION_RESUME"] = "SESSION_RESUME";
23
+ AuditTrailActionEnum["SESSION_CANCEL"] = "SESSION_CANCEL";
24
+ AuditTrailActionEnum["SESSION_CREDIT_ENABLED"] = "SESSION_CREDIT_ENABLED";
25
+ AuditTrailActionEnum["PAYMENT_REGISTERED"] = "PAYMENT_REGISTERED";
26
+ AuditTrailActionEnum["SALE_COMPLETE"] = "SALE_COMPLETE";
27
+ AuditTrailActionEnum["SALE_CANCEL"] = "SALE_CANCEL";
28
+ AuditTrailActionEnum["SALE_CARD_DELIVERED"] = "SALE_CARD_DELIVERED";
29
+ AuditTrailActionEnum["KYC_CONFIRM"] = "KYC_CONFIRM";
30
+ AuditTrailActionEnum["COMPLIANCE_VERDICT"] = "COMPLIANCE_VERDICT";
31
+ AuditTrailActionEnum["EXCEPTION_CREATE"] = "EXCEPTION_CREATE";
32
+ AuditTrailActionEnum["EXCEPTION_REVIEW"] = "EXCEPTION_REVIEW";
33
+ AuditTrailActionEnum["EXCEPTION_RESOLVE"] = "EXCEPTION_RESOLVE";
34
+ AuditTrailActionEnum["EXCEPTION_APPLY"] = "EXCEPTION_APPLY";
35
+ AuditTrailActionEnum["EXCEPTION_NOTE"] = "EXCEPTION_NOTE";
36
+ AuditTrailActionEnum["REPORT_RUN_REQUEST"] = "REPORT_RUN_REQUEST";
37
+ AuditTrailActionEnum["PUBLISH"] = "PUBLISH";
38
+ AuditTrailActionEnum["CLOSE"] = "CLOSE";
39
+ AuditTrailActionEnum["ADJUST"] = "ADJUST";
40
+ AuditTrailActionEnum["PAUSE"] = "PAUSE";
41
+ AuditTrailActionEnum["RESUME"] = "RESUME";
42
+ AuditTrailActionEnum["EXPIRE"] = "EXPIRE";
43
+ })(AuditTrailActionEnum || (exports.AuditTrailActionEnum = AuditTrailActionEnum = {}));
@@ -0,0 +1,12 @@
1
+ /** `entityType` de bitácora que escriben los lambdas Loan; los valores son los que ya están en la pk. */
2
+ export declare enum LoanAuditEntityTypeEnum {
3
+ CREDIT = "CREDIT",
4
+ INSTALLMENT = "INSTALLMENT",
5
+ RESTRUCTURE = "RESTRUCTURE",
6
+ CREDIT_PLAN = "CREDIT_PLAN",
7
+ STORE_POLICY = "STORE_POLICY",
8
+ SEGMENT = "SEGMENT",
9
+ LOAN_PARAMETER = "LoanParameter",
10
+ LOAN_ASSIGNMENT_RULE = "LoanAssignmentRule",
11
+ LOAN_COLLECTOR_ASSIGNMENT = "LoanCollectorAssignment"
12
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoanAuditEntityTypeEnum = void 0;
4
+ /** `entityType` de bitácora que escriben los lambdas Loan; los valores son los que ya están en la pk. */
5
+ var LoanAuditEntityTypeEnum;
6
+ (function (LoanAuditEntityTypeEnum) {
7
+ LoanAuditEntityTypeEnum["CREDIT"] = "CREDIT";
8
+ LoanAuditEntityTypeEnum["INSTALLMENT"] = "INSTALLMENT";
9
+ LoanAuditEntityTypeEnum["RESTRUCTURE"] = "RESTRUCTURE";
10
+ LoanAuditEntityTypeEnum["CREDIT_PLAN"] = "CREDIT_PLAN";
11
+ LoanAuditEntityTypeEnum["STORE_POLICY"] = "STORE_POLICY";
12
+ LoanAuditEntityTypeEnum["SEGMENT"] = "SEGMENT";
13
+ LoanAuditEntityTypeEnum["LOAN_PARAMETER"] = "LoanParameter";
14
+ LoanAuditEntityTypeEnum["LOAN_ASSIGNMENT_RULE"] = "LoanAssignmentRule";
15
+ LoanAuditEntityTypeEnum["LOAN_COLLECTOR_ASSIGNMENT"] = "LoanCollectorAssignment";
16
+ })(LoanAuditEntityTypeEnum || (exports.LoanAuditEntityTypeEnum = LoanAuditEntityTypeEnum = {}));
@@ -0,0 +1,5 @@
1
+ /** Qué se hizo con la PII: verla o cambiarla. */
2
+ export declare enum PiiAccessActionEnum {
3
+ READ = "READ",
4
+ WRITE = "WRITE"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PiiAccessActionEnum = void 0;
4
+ /** Qué se hizo con la PII: verla o cambiarla. */
5
+ var PiiAccessActionEnum;
6
+ (function (PiiAccessActionEnum) {
7
+ PiiAccessActionEnum["READ"] = "READ";
8
+ PiiAccessActionEnum["WRITE"] = "WRITE";
9
+ })(PiiAccessActionEnum || (exports.PiiAccessActionEnum = PiiAccessActionEnum = {}));
@@ -0,0 +1,9 @@
1
+ /** Tipo de recurso con PII; arma la pk `RESOURCE#<tipo>#<id>` de `SharedPiiAccessLog`. */
2
+ export declare enum PiiResourceTypeEnum {
3
+ RETAIL_CUSTOMER = "RETAIL_CUSTOMER",
4
+ RETAIL_USER = "RETAIL_USER",
5
+ RETAILER = "RETAILER",
6
+ SALE = "SALE",
7
+ PROSPECT = "PROSPECT",
8
+ LOAN_PAYMENT = "LOAN_PAYMENT"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PiiResourceTypeEnum = void 0;
4
+ /** Tipo de recurso con PII; arma la pk `RESOURCE#<tipo>#<id>` de `SharedPiiAccessLog`. */
5
+ var PiiResourceTypeEnum;
6
+ (function (PiiResourceTypeEnum) {
7
+ PiiResourceTypeEnum["RETAIL_CUSTOMER"] = "RETAIL_CUSTOMER";
8
+ PiiResourceTypeEnum["RETAIL_USER"] = "RETAIL_USER";
9
+ PiiResourceTypeEnum["RETAILER"] = "RETAILER";
10
+ PiiResourceTypeEnum["SALE"] = "SALE";
11
+ PiiResourceTypeEnum["PROSPECT"] = "PROSPECT";
12
+ PiiResourceTypeEnum["LOAN_PAYMENT"] = "LOAN_PAYMENT";
13
+ })(PiiResourceTypeEnum || (exports.PiiResourceTypeEnum = PiiResourceTypeEnum = {}));
@@ -0,0 +1,17 @@
1
+ /** `entityType` de bitácora que escriben los lambdas Retail (customer, org, wizard, commission). */
2
+ export declare enum RetailAuditEntityTypeEnum {
3
+ CUSTOMER = "CUSTOMER",
4
+ RETAILER = "RETAILER",
5
+ STORE = "STORE",
6
+ RETAIL_USER = "RETAIL_USER",
7
+ GOAL = "GOAL",
8
+ WIZARD_SESSION = "WIZARD_SESSION",
9
+ SALE = "SALE",
10
+ SALE_EXCEPTION = "SALE_EXCEPTION",
11
+ REPORT_RUN = "REPORT_RUN",
12
+ COMMISSION_PLAN = "COMMISSION_PLAN",
13
+ COMMISSION_PAYOUT = "COMMISSION_PAYOUT",
14
+ COMMISSION_ADJUSTMENT = "COMMISSION_ADJUSTMENT",
15
+ COMMISSION_RULE = "COMMISSION_RULE",
16
+ COMMISSION_POLICY = "COMMISSION_POLICY"
17
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RetailAuditEntityTypeEnum = void 0;
4
+ /** `entityType` de bitácora que escriben los lambdas Retail (customer, org, wizard, commission). */
5
+ var RetailAuditEntityTypeEnum;
6
+ (function (RetailAuditEntityTypeEnum) {
7
+ RetailAuditEntityTypeEnum["CUSTOMER"] = "CUSTOMER";
8
+ RetailAuditEntityTypeEnum["RETAILER"] = "RETAILER";
9
+ RetailAuditEntityTypeEnum["STORE"] = "STORE";
10
+ RetailAuditEntityTypeEnum["RETAIL_USER"] = "RETAIL_USER";
11
+ RetailAuditEntityTypeEnum["GOAL"] = "GOAL";
12
+ RetailAuditEntityTypeEnum["WIZARD_SESSION"] = "WIZARD_SESSION";
13
+ RetailAuditEntityTypeEnum["SALE"] = "SALE";
14
+ RetailAuditEntityTypeEnum["SALE_EXCEPTION"] = "SALE_EXCEPTION";
15
+ RetailAuditEntityTypeEnum["REPORT_RUN"] = "REPORT_RUN";
16
+ RetailAuditEntityTypeEnum["COMMISSION_PLAN"] = "COMMISSION_PLAN";
17
+ RetailAuditEntityTypeEnum["COMMISSION_PAYOUT"] = "COMMISSION_PAYOUT";
18
+ RetailAuditEntityTypeEnum["COMMISSION_ADJUSTMENT"] = "COMMISSION_ADJUSTMENT";
19
+ RetailAuditEntityTypeEnum["COMMISSION_RULE"] = "COMMISSION_RULE";
20
+ RetailAuditEntityTypeEnum["COMMISSION_POLICY"] = "COMMISSION_POLICY";
21
+ })(RetailAuditEntityTypeEnum || (exports.RetailAuditEntityTypeEnum = RetailAuditEntityTypeEnum = {}));
@@ -0,0 +1,20 @@
1
+ import { AuditTrailEntityType } from '../constants/auditTrailEntityTypes';
2
+ import { AuditTrailChange } from '../dtos/AuditTrailChange';
3
+ import { AuditTrailContextEntry } from '../dtos/AuditTrailContextEntry';
4
+ import { AuditTrailActionEnum } from '../enums/AuditTrailActionEnum';
5
+ /** Mensaje de la cola `LoanRetailAuditQueue`; el central lo guarda una sola vez por `eventId`. */
6
+ export declare class AuditTrailRecordedV1 {
7
+ eventId: string;
8
+ entityType: AuditTrailEntityType;
9
+ entityId: string;
10
+ action: AuditTrailActionEnum;
11
+ changes: AuditTrailChange[];
12
+ context: AuditTrailContextEntry[];
13
+ /** userId del actor, o `system` si lo disparó un proceso interno. */
14
+ performedBy: string;
15
+ sourceLambda: string;
16
+ occurredAt: string;
17
+ tenantId?: string;
18
+ reason?: string;
19
+ ip?: string;
20
+ }
@@ -0,0 +1,94 @@
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.AuditTrailRecordedV1 = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const auditTrailEntityTypes_1 = require("../constants/auditTrailEntityTypes");
16
+ const AuditTrailChange_1 = require("../dtos/AuditTrailChange");
17
+ const AuditTrailContextEntry_1 = require("../dtos/AuditTrailContextEntry");
18
+ const AuditTrailActionEnum_1 = require("../enums/AuditTrailActionEnum");
19
+ /** Mensaje de la cola `LoanRetailAuditQueue`; el central lo guarda una sola vez por `eventId`. */
20
+ class AuditTrailRecordedV1 {
21
+ }
22
+ exports.AuditTrailRecordedV1 = AuditTrailRecordedV1;
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ (0, class_validator_1.IsString)(),
26
+ (0, class_validator_1.IsNotEmpty)(),
27
+ __metadata("design:type", String)
28
+ ], AuditTrailRecordedV1.prototype, "eventId", void 0);
29
+ __decorate([
30
+ (0, class_transformer_1.Expose)(),
31
+ (0, class_validator_1.IsIn)(auditTrailEntityTypes_1.AUDIT_TRAIL_ENTITY_TYPES),
32
+ __metadata("design:type", String)
33
+ ], AuditTrailRecordedV1.prototype, "entityType", void 0);
34
+ __decorate([
35
+ (0, class_transformer_1.Expose)(),
36
+ (0, class_validator_1.IsString)(),
37
+ (0, class_validator_1.IsNotEmpty)(),
38
+ __metadata("design:type", String)
39
+ ], AuditTrailRecordedV1.prototype, "entityId", void 0);
40
+ __decorate([
41
+ (0, class_transformer_1.Expose)(),
42
+ (0, class_validator_1.IsEnum)(AuditTrailActionEnum_1.AuditTrailActionEnum),
43
+ __metadata("design:type", String)
44
+ ], AuditTrailRecordedV1.prototype, "action", void 0);
45
+ __decorate([
46
+ (0, class_transformer_1.Expose)(),
47
+ (0, class_validator_1.IsArray)(),
48
+ (0, class_validator_1.ValidateNested)({ each: true }),
49
+ (0, class_transformer_1.Type)(() => AuditTrailChange_1.AuditTrailChange),
50
+ __metadata("design:type", Array)
51
+ ], AuditTrailRecordedV1.prototype, "changes", void 0);
52
+ __decorate([
53
+ (0, class_transformer_1.Expose)(),
54
+ (0, class_validator_1.IsArray)(),
55
+ (0, class_validator_1.ValidateNested)({ each: true }),
56
+ (0, class_transformer_1.Type)(() => AuditTrailContextEntry_1.AuditTrailContextEntry),
57
+ __metadata("design:type", Array)
58
+ ], AuditTrailRecordedV1.prototype, "context", void 0);
59
+ __decorate([
60
+ (0, class_transformer_1.Expose)(),
61
+ (0, class_validator_1.IsString)(),
62
+ (0, class_validator_1.IsNotEmpty)(),
63
+ __metadata("design:type", String)
64
+ ], AuditTrailRecordedV1.prototype, "performedBy", void 0);
65
+ __decorate([
66
+ (0, class_transformer_1.Expose)(),
67
+ (0, class_validator_1.IsString)(),
68
+ (0, class_validator_1.IsNotEmpty)(),
69
+ __metadata("design:type", String)
70
+ ], AuditTrailRecordedV1.prototype, "sourceLambda", void 0);
71
+ __decorate([
72
+ (0, class_transformer_1.Expose)(),
73
+ (0, class_validator_1.IsISO8601)(),
74
+ __metadata("design:type", String)
75
+ ], AuditTrailRecordedV1.prototype, "occurredAt", void 0);
76
+ __decorate([
77
+ (0, class_transformer_1.Expose)(),
78
+ (0, class_validator_1.IsOptional)(),
79
+ (0, class_validator_1.IsString)(),
80
+ (0, class_validator_1.IsNotEmpty)(),
81
+ __metadata("design:type", String)
82
+ ], AuditTrailRecordedV1.prototype, "tenantId", void 0);
83
+ __decorate([
84
+ (0, class_transformer_1.Expose)(),
85
+ (0, class_validator_1.IsOptional)(),
86
+ (0, class_validator_1.IsString)(),
87
+ __metadata("design:type", String)
88
+ ], AuditTrailRecordedV1.prototype, "reason", void 0);
89
+ __decorate([
90
+ (0, class_transformer_1.Expose)(),
91
+ (0, class_validator_1.IsOptional)(),
92
+ (0, class_validator_1.IsString)(),
93
+ __metadata("design:type", String)
94
+ ], AuditTrailRecordedV1.prototype, "ip", void 0);
@@ -0,0 +1,13 @@
1
+ export * from './enums/LoanAuditEntityTypeEnum';
2
+ export * from './enums/RetailAuditEntityTypeEnum';
3
+ export * from './enums/AuditTrailActionEnum';
4
+ export * from './enums/PiiResourceTypeEnum';
5
+ export * from './enums/PiiAccessActionEnum';
6
+ export * from './constants/auditTrailEntityTypes';
7
+ export * from './dtos/AuditTrailChange';
8
+ export * from './dtos/AuditTrailContextEntry';
9
+ export * from './dtos/requests/CreatePiiAccessLogRequest';
10
+ export * from './dtos/requests/ListAuditTrailQuery';
11
+ export * from './dtos/responses/CreatePiiAccessLogResponse';
12
+ export * from './dtos/responses/ListAuditTrailResponse';
13
+ export * from './events/AuditTrailRecordedV1';
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Enums
18
+ __exportStar(require("./enums/LoanAuditEntityTypeEnum"), exports);
19
+ __exportStar(require("./enums/RetailAuditEntityTypeEnum"), exports);
20
+ __exportStar(require("./enums/AuditTrailActionEnum"), exports);
21
+ __exportStar(require("./enums/PiiResourceTypeEnum"), exports);
22
+ __exportStar(require("./enums/PiiAccessActionEnum"), exports);
23
+ // Constantes
24
+ __exportStar(require("./constants/auditTrailEntityTypes"), exports);
25
+ // DTOs
26
+ __exportStar(require("./dtos/AuditTrailChange"), exports);
27
+ __exportStar(require("./dtos/AuditTrailContextEntry"), exports);
28
+ __exportStar(require("./dtos/requests/CreatePiiAccessLogRequest"), exports);
29
+ __exportStar(require("./dtos/requests/ListAuditTrailQuery"), exports);
30
+ __exportStar(require("./dtos/responses/CreatePiiAccessLogResponse"), exports);
31
+ __exportStar(require("./dtos/responses/ListAuditTrailResponse"), exports);
32
+ // Contratos de eventos
33
+ __exportStar(require("./events/AuditTrailRecordedV1"), exports);
@@ -25,5 +25,7 @@ export interface MyCreditSummary {
25
25
  totalInstallments: number;
26
26
  paidInstallments: number;
27
27
  remainingBalance: number | null;
28
+ /** Deuda total en pesos: capital, interés e IVA que faltan de las cuotas abiertas. `null` = no aplica. */
29
+ totalDebt?: number | null;
28
30
  overdue?: MyOverdue;
29
31
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.545.0",
3
+ "version": "3.547.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
package/src/index.ts CHANGED
@@ -217,3 +217,7 @@ export * as PdfRender from './pdfRender';
217
217
 
218
218
  // Rules: DTOs del lambda central rules-business (catálogo, validación, generación con IA y evaluación de reglas).
219
219
  export * as Rules from './rules';
220
+
221
+ // LoanRetailAudit: contrato del lambda central loan-retail-audit-business (bitácora y accesos a PII
222
+ // de Loan y Retail): mensaje de su cola, POST /private/pii-access-logs y GET /private/audit-trail.
223
+ export * as LoanRetailAudit from './loanRetailAudit';
@@ -28,6 +28,8 @@ export interface CreditCustomerCredit {
28
28
  settledCreditsCount: number | null;
29
29
  writtenOffCreditsCount: number | null;
30
30
  outstandingBalanceCents: number | null;
31
+ /** Deuda total de sus créditos vivos: capital, interés e IVA que faltan de las cuotas abiertas. `null` = no aplica. */
32
+ totalDebtCents?: number | null;
31
33
  arrearsDays: number | null;
32
34
  lastPaymentAt: string | null;
33
35
  /** Ausente en créditos sin pago desde que existe el campo: el front cae a `lastPaymentAt`. */
@@ -10,6 +10,8 @@ export interface LoanBorrowerCreditItem extends LoanCreditResponse {
10
10
  paidInstallments: number;
11
11
  /** `null` = no aplica (el crédito se canceló o caducó); `0` = ya no debe nada. */
12
12
  outstandingBalanceCents: number | null;
13
+ /** Deuda total: capital, interés e IVA que faltan de las cuotas abiertas (PENDING u OVERDUE). `null` = no aplica. */
14
+ totalDebtCents?: number | null;
13
15
  /** Días desde el vencimiento impago más viejo; `0` al día; `null` si no hay atraso que medir. */
14
16
  overdueDays: number | null;
15
17
  /** Suma del TOTAL de las cuotas vencidas impagas. Sigue a `overdueDays` en `null`/`0`. */
@@ -14,6 +14,8 @@ export interface LoanCreditDetail extends LoanCreditResponse {
14
14
  financier: SaleFinancierEnum;
15
15
  paidInstallments: number;
16
16
  outstandingBalanceCents: number | null;
17
+ /** Deuda total: capital, interés e IVA que faltan de las cuotas abiertas (PENDING u OVERDUE). `null` = no aplica. */
18
+ totalDebtCents?: number | null;
17
19
  overdueDays: number | null;
18
20
  overdueAmountCents: number | null;
19
21
  /** Cuotas vencidas impagas. `0` = nada vencido; `null` acompaña a `overdueDays` en null. */
@@ -3,8 +3,10 @@ export interface LoanPrepaymentQuote {
3
3
  creditId: string;
4
4
  /** Saldo insoluto que se le informa al cliente. */
5
5
  outstandingCapitalCents: number;
6
- /** Pago del periodo: el mínimo del abono. */
6
+ /** Pago del periodo. */
7
7
  periodPaymentCents: number;
8
+ /** Mínimo del abono según el plan del crédito; con mínimo `ANY`, 1 centavo. */
9
+ minAmountCents?: number;
8
10
  /** Monto de liquidación anticipada: el techo del abono. */
9
11
  settlementAmountCents: number;
10
12
  }
@@ -18,6 +18,8 @@ export interface SellerCreditRow {
18
18
  summaryUnavailable: boolean;
19
19
  paidInstallments: number | null;
20
20
  outstandingBalanceCents: number | null;
21
+ /** Deuda total: capital, interés e IVA que faltan de las cuotas abiertas (PENDING u OVERDUE). `null` = no aplica. */
22
+ totalDebtCents?: number | null;
21
23
  overdueDays: number | null;
22
24
  overdueAmountCents: number | null;
23
25
  /** Primera cuota que todavía se debe; `null` si ya no debe nada o si el plan no se leyó. */