@fiado/type-kit 3.315.0 → 3.316.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 (76) hide show
  1. package/_test_/unit/card/CardIssuanceBySideRequest.test.ts +42 -0
  2. package/_test_/unit/onboarding/ExpedienteUpdatedMessage.test.ts +57 -0
  3. package/bin/benefitCenter/enums/BenefitFlowEnum.d.ts +11 -0
  4. package/bin/benefitCenter/enums/BenefitFlowEnum.js +15 -0
  5. package/bin/card/dtos/CardIssuanceBySideRequest.d.ts +16 -0
  6. package/bin/card/dtos/CardIssuanceBySideRequest.js +43 -0
  7. package/bin/card/dtos/CardIssuanceBySideResponse.d.ts +7 -0
  8. package/bin/card/dtos/CardIssuanceBySideResponse.js +6 -0
  9. package/bin/card/enums/issuance/CardIssuanceResultEnum.d.ts +4 -0
  10. package/bin/card/enums/issuance/CardIssuanceResultEnum.js +8 -0
  11. package/bin/card/enums/issuance/CardIssuanceSkipReasonEnum.d.ts +6 -0
  12. package/bin/card/enums/issuance/CardIssuanceSkipReasonEnum.js +10 -0
  13. package/bin/card/enums/issuance/CardIssuanceTriggerEnum.d.ts +5 -0
  14. package/bin/card/enums/issuance/CardIssuanceTriggerEnum.js +9 -0
  15. package/bin/card/index.d.ts +5 -0
  16. package/bin/card/index.js +5 -0
  17. package/bin/identity/dtos/InfoSelfVerifiedFields.d.ts +25 -0
  18. package/bin/identity/dtos/InfoSelfVerifiedFields.js +2 -0
  19. package/bin/identity/dtos/PeopleResponse.d.ts +7 -0
  20. package/bin/identity/dtos/PeopleUpdateRequest.d.ts +7 -0
  21. package/bin/identity/index.d.ts +1 -0
  22. package/bin/identity/index.js +1 -0
  23. package/bin/onboarding/dtos/ExpedienteUpdatedMessage.d.ts +22 -0
  24. package/bin/onboarding/dtos/ExpedienteUpdatedMessage.js +49 -0
  25. package/bin/onboarding/enums/ExpedienteUpdatedSourceEnum.d.ts +7 -0
  26. package/bin/onboarding/enums/ExpedienteUpdatedSourceEnum.js +11 -0
  27. package/bin/onboarding/index.d.ts +2 -0
  28. package/bin/onboarding/index.js +3 -0
  29. package/bin/places/dtos/CashInFeeDto.d.ts +17 -0
  30. package/bin/places/dtos/CashInFeeDto.js +12 -0
  31. package/bin/platformRbac/dtos/CompleteMyProfileRequest.d.ts +9 -0
  32. package/bin/platformRbac/dtos/CompleteMyProfileRequest.js +34 -0
  33. package/bin/retailCards/dtos/requests/AssignCardRequest.d.ts +6 -0
  34. package/bin/retailCards/dtos/requests/AssignCardRequest.js +30 -0
  35. package/bin/retailCards/dtos/requests/CancelCardRequest.d.ts +5 -0
  36. package/bin/retailCards/dtos/requests/CancelCardRequest.js +22 -0
  37. package/bin/retailCards/dtos/responses/RetailCardResponse.d.ts +12 -0
  38. package/bin/retailCards/dtos/responses/RetailCardResponse.js +2 -0
  39. package/bin/retailCards/enums/CardBatchStatusEnum.d.ts +17 -0
  40. package/bin/retailCards/enums/CardBatchStatusEnum.js +21 -0
  41. package/bin/retailCards/enums/CardCancelReasonEnum.d.ts +13 -0
  42. package/bin/retailCards/enums/CardCancelReasonEnum.js +17 -0
  43. package/bin/retailCards/enums/RetailCardStatusEnum.d.ts +13 -0
  44. package/bin/retailCards/enums/RetailCardStatusEnum.js +17 -0
  45. package/bin/retailCards/events/RetailCardAssignedV1.d.ts +10 -0
  46. package/bin/retailCards/events/RetailCardAssignedV1.js +2 -0
  47. package/bin/retailCards/events/RetailCardCancelledV1.d.ts +9 -0
  48. package/bin/retailCards/events/RetailCardCancelledV1.js +2 -0
  49. package/bin/retailCards/events/RetailCardReleasedV1.d.ts +7 -0
  50. package/bin/retailCards/events/RetailCardReleasedV1.js +2 -0
  51. package/bin/retailWizard/dtos/requests/CompleteSaleRequest.d.ts +9 -0
  52. package/bin/retailWizard/dtos/requests/CompleteSaleRequest.js +29 -0
  53. package/bin/retailWizard/dtos/requests/MarkPcfCardDeliveredRequest.d.ts +4 -0
  54. package/bin/retailWizard/dtos/requests/MarkPcfCardDeliveredRequest.js +23 -0
  55. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +14 -0
  56. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +41 -0
  57. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +15 -0
  58. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +13 -0
  59. package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +3 -0
  60. package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +21 -0
  61. package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +7 -0
  62. package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +6 -0
  63. package/package.json +1 -1
  64. package/src/card/dtos/CardIssuanceBySideRequest.ts +29 -0
  65. package/src/card/dtos/CardIssuanceBySideResponse.ts +8 -0
  66. package/src/card/enums/issuance/CardIssuanceResultEnum.ts +4 -0
  67. package/src/card/enums/issuance/CardIssuanceSkipReasonEnum.ts +6 -0
  68. package/src/card/enums/issuance/CardIssuanceTriggerEnum.ts +5 -0
  69. package/src/card/index.ts +5 -0
  70. package/src/identity/dtos/InfoSelfVerifiedFields.ts +25 -0
  71. package/src/identity/dtos/PeopleResponse.ts +7 -0
  72. package/src/identity/dtos/PeopleUpdateRequest.ts +7 -0
  73. package/src/identity/index.ts +1 -0
  74. package/src/onboarding/dtos/ExpedienteUpdatedMessage.ts +37 -0
  75. package/src/onboarding/enums/ExpedienteUpdatedSourceEnum.ts +7 -0
  76. package/src/onboarding/index.ts +4 -0
@@ -0,0 +1,42 @@
1
+ import 'reflect-metadata';
2
+ import { plainToInstance } from 'class-transformer';
3
+ import { validate } from 'class-validator';
4
+ import {
5
+ CardIssuanceBySideRequest,
6
+ CardIssuanceTriggerEnum,
7
+ } from '../../../src/card/index';
8
+ import { Country } from '../../../src/country/enums/Country';
9
+
10
+ /** Base válida del request del evaluador; cada caso pisa solo el campo que está probando. */
11
+ const base = {
12
+ directoryId: 'ade1105a-b3ee-444f-923d-b59e1cb0e019',
13
+ side: 'USA',
14
+ trigger: 'AUTOMATIC',
15
+ };
16
+
17
+ const instancia = (raw: Record<string, unknown>): CardIssuanceBySideRequest =>
18
+ plainToInstance(CardIssuanceBySideRequest, raw);
19
+
20
+ describe('CardIssuanceBySideRequest', () => {
21
+ it('valida el request del evaluador (side + trigger AUTOMATIC, sin InfoSelfVerified)', async () => {
22
+ const dto = instancia({ ...base });
23
+ expect(await validate(dto as object)).toHaveLength(0);
24
+ expect(dto.side).toBe(Country.USA);
25
+ expect(dto.trigger).toBe(CardIssuanceTriggerEnum.AUTOMATIC);
26
+ });
27
+
28
+ it('side y trigger son opcionales (retrocompatibilidad con las vías manuales)', async () => {
29
+ const dto = instancia({ directoryId: base.directoryId });
30
+ expect(await validate(dto as object)).toHaveLength(0);
31
+ });
32
+
33
+ it('rechaza side fuera del enum Country', async () => {
34
+ const errores = await validate(instancia({ ...base, side: 'BRA_INVENTADO' }) as object);
35
+ expect(errores.some((e) => e.property === 'side')).toBe(true);
36
+ });
37
+
38
+ it('rechaza directoryId no-UUID', async () => {
39
+ const errores = await validate(instancia({ ...base, directoryId: 'x' }) as object);
40
+ expect(errores.some((e) => e.property === 'directoryId')).toBe(true);
41
+ });
42
+ });
@@ -0,0 +1,57 @@
1
+ import 'reflect-metadata';
2
+ import { plainToInstance } from 'class-transformer';
3
+ import { validate } from 'class-validator';
4
+ import {
5
+ ExpedienteUpdatedMessage,
6
+ ExpedienteUpdatedSourceEnum,
7
+ } from '../../../src/onboarding/index';
8
+
9
+ /** Base válida del evento; cada caso pisa solo el campo que está probando. */
10
+ const base = {
11
+ eventType: 'EXPEDIENTE_UPDATED',
12
+ eventId: '3f0a2b1c-9d4e-4f6a-8b7c-1d2e3f4a5b6c',
13
+ directoryId: 'ade1105a-b3ee-444f-923d-b59e1cb0e019',
14
+ peopleId: '1e2a7501-cad3-4d63-8995-cc73504da955',
15
+ source: 'PEOPLE',
16
+ occurredAt: '2026-08-16T12:00:00.000Z',
17
+ };
18
+
19
+ const instancia = (raw: Record<string, unknown>): ExpedienteUpdatedMessage =>
20
+ plainToInstance(ExpedienteUpdatedMessage, raw);
21
+
22
+ describe('ExpedienteUpdatedMessage', () => {
23
+ it('valida el shape que publica identity tras una escritura del expediente', async () => {
24
+ const dto = instancia({ ...base });
25
+ expect(await validate(dto as object)).toHaveLength(0);
26
+ expect(dto.source).toBe(ExpedienteUpdatedSourceEnum.PEOPLE);
27
+ });
28
+
29
+ it('rechaza eventId que no es UUID (el dedup del subscriber depende de él)', async () => {
30
+ const errores = await validate(instancia({ ...base, eventId: 'no-uuid' }) as object);
31
+ expect(errores.some((e) => e.property === 'eventId')).toBe(true);
32
+ });
33
+
34
+ it('rechaza source fuera del enum', async () => {
35
+ const errores = await validate(instancia({ ...base, source: 'WEBHOOK_X' }) as object);
36
+ expect(errores.some((e) => e.property === 'source')).toBe(true);
37
+ });
38
+
39
+ it('rechaza occurredAt que no es ISO-8601 estricto UTC (sin hora o con offset local)', async () => {
40
+ for (const invalido of ['16/08/2026', '2026-08-16', '2026-08-16T12:00:00.000-05:00']) {
41
+ const errores = await validate(instancia({ ...base, occurredAt: invalido }) as object);
42
+ expect(errores.some((e) => e.property === 'occurredAt')).toBe(true);
43
+ }
44
+ });
45
+
46
+ it('rechaza eventType distinto del literal EXPEDIENTE_UPDATED (discriminador, gratis hoy y breaking después)', async () => {
47
+ const errores = await validate(instancia({ ...base, eventType: 'OTRA_COSA' }) as object);
48
+ expect(errores.some((e) => e.property === 'eventType')).toBe(true);
49
+ });
50
+
51
+ it('rechaza directoryId y peopleId no-UUID', async () => {
52
+ const errores = await validate(
53
+ instancia({ ...base, directoryId: 'x', peopleId: 'y' }) as object,
54
+ );
55
+ expect(errores.map((e) => e.property).sort()).toEqual(['directoryId', 'peopleId']);
56
+ });
57
+ });
@@ -0,0 +1,11 @@
1
+ export declare enum BenefitFlowEnum {
2
+ TOPUPS = "TOPUPS",
3
+ BILL_PAYMENT = "BILL_PAYMENT",
4
+ CREDIT = "CREDIT",
5
+ INSURANCE = "INSURANCE",
6
+ DONATION = "DONATION",
7
+ PHARMACY = "PHARMACY",
8
+ REMITTANCE = "REMITTANCE",
9
+ /** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
10
+ WALLET_FUNDING = "WALLET_FUNDING"
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BenefitFlowEnum = void 0;
4
+ var BenefitFlowEnum;
5
+ (function (BenefitFlowEnum) {
6
+ BenefitFlowEnum["TOPUPS"] = "TOPUPS";
7
+ BenefitFlowEnum["BILL_PAYMENT"] = "BILL_PAYMENT";
8
+ BenefitFlowEnum["CREDIT"] = "CREDIT";
9
+ BenefitFlowEnum["INSURANCE"] = "INSURANCE";
10
+ BenefitFlowEnum["DONATION"] = "DONATION";
11
+ BenefitFlowEnum["PHARMACY"] = "PHARMACY";
12
+ BenefitFlowEnum["REMITTANCE"] = "REMITTANCE";
13
+ /** Fondeo de wallet PCF con efectivo via provider externo (Equality/Passport, OpenPay, …) — spec 13. */
14
+ BenefitFlowEnum["WALLET_FUNDING"] = "WALLET_FUNDING";
15
+ })(BenefitFlowEnum || (exports.BenefitFlowEnum = BenefitFlowEnum = {}));
@@ -0,0 +1,16 @@
1
+ import { Country } from "../../country/enums/Country";
2
+ import { InfoSelfVerifiedStatus } from "../../identity/enums/InfoSelfVerifiedStatus";
3
+ import { CardIssuanceTriggerEnum } from "../enums/issuance/CardIssuanceTriggerEnum";
4
+ /**
5
+ * Request de privateIssuance (fiado-card-business). Con `side` emite SOLO ese lado
6
+ * (DEC-025 de onboarding-business); sin `side` conserva el comportamiento histórico
7
+ * (ambos lados según wish flags — vías manuales).
8
+ */
9
+ export declare class CardIssuanceBySideRequest {
10
+ directoryId: string;
11
+ side?: Country;
12
+ /** Default en el server: MANUAL (misma semántica que hoy). */
13
+ trigger?: CardIssuanceTriggerEnum;
14
+ /** Solo vías manuales. El disparo AUTOMATIC no lo manda: la confirmación ya viene garantizada por el step. */
15
+ USA_InfoSelfVerified?: InfoSelfVerifiedStatus;
16
+ }
@@ -0,0 +1,43 @@
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.CardIssuanceBySideRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const Country_1 = require("../../country/enums/Country");
15
+ const InfoSelfVerifiedStatus_1 = require("../../identity/enums/InfoSelfVerifiedStatus");
16
+ const CardIssuanceTriggerEnum_1 = require("../enums/issuance/CardIssuanceTriggerEnum");
17
+ /**
18
+ * Request de privateIssuance (fiado-card-business). Con `side` emite SOLO ese lado
19
+ * (DEC-025 de onboarding-business); sin `side` conserva el comportamiento histórico
20
+ * (ambos lados según wish flags — vías manuales).
21
+ */
22
+ class CardIssuanceBySideRequest {
23
+ }
24
+ exports.CardIssuanceBySideRequest = CardIssuanceBySideRequest;
25
+ __decorate([
26
+ (0, class_validator_1.IsUUID)(),
27
+ __metadata("design:type", String)
28
+ ], CardIssuanceBySideRequest.prototype, "directoryId", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsOptional)(),
31
+ (0, class_validator_1.IsEnum)(Country_1.Country),
32
+ __metadata("design:type", String)
33
+ ], CardIssuanceBySideRequest.prototype, "side", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsOptional)(),
36
+ (0, class_validator_1.IsEnum)(CardIssuanceTriggerEnum_1.CardIssuanceTriggerEnum),
37
+ __metadata("design:type", String)
38
+ ], CardIssuanceBySideRequest.prototype, "trigger", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsEnum)(InfoSelfVerifiedStatus_1.InfoSelfVerifiedStatus),
42
+ __metadata("design:type", String)
43
+ ], CardIssuanceBySideRequest.prototype, "USA_InfoSelfVerified", void 0);
@@ -0,0 +1,7 @@
1
+ import { CardIssuanceResultEnum } from "../enums/issuance/CardIssuanceResultEnum";
2
+ import { CardIssuanceSkipReasonEnum } from "../enums/issuance/CardIssuanceSkipReasonEnum";
3
+ export declare class CardIssuanceBySideResponse {
4
+ result: CardIssuanceResultEnum;
5
+ /** Presente solo cuando result = SKIPPED. */
6
+ reason?: CardIssuanceSkipReasonEnum;
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CardIssuanceBySideResponse = void 0;
4
+ class CardIssuanceBySideResponse {
5
+ }
6
+ exports.CardIssuanceBySideResponse = CardIssuanceBySideResponse;
@@ -0,0 +1,4 @@
1
+ export declare enum CardIssuanceResultEnum {
2
+ CREATED = "CREATED",
3
+ SKIPPED = "SKIPPED"
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CardIssuanceResultEnum = void 0;
4
+ var CardIssuanceResultEnum;
5
+ (function (CardIssuanceResultEnum) {
6
+ CardIssuanceResultEnum["CREATED"] = "CREATED";
7
+ CardIssuanceResultEnum["SKIPPED"] = "SKIPPED";
8
+ })(CardIssuanceResultEnum || (exports.CardIssuanceResultEnum = CardIssuanceResultEnum = {}));
@@ -0,0 +1,6 @@
1
+ /** Por qué el guard atómico por lado NO emitió (respuesta SKIPPED — resultado normal, no error). */
2
+ export declare enum CardIssuanceSkipReasonEnum {
3
+ IN_PROCESS = "IN_PROCESS",
4
+ ALREADY_ISSUED = "ALREADY_ISSUED",
5
+ FAILED_REQUIRES_MANUAL = "FAILED_REQUIRES_MANUAL"
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CardIssuanceSkipReasonEnum = void 0;
4
+ /** Por qué el guard atómico por lado NO emitió (respuesta SKIPPED — resultado normal, no error). */
5
+ var CardIssuanceSkipReasonEnum;
6
+ (function (CardIssuanceSkipReasonEnum) {
7
+ CardIssuanceSkipReasonEnum["IN_PROCESS"] = "IN_PROCESS";
8
+ CardIssuanceSkipReasonEnum["ALREADY_ISSUED"] = "ALREADY_ISSUED";
9
+ CardIssuanceSkipReasonEnum["FAILED_REQUIRES_MANUAL"] = "FAILED_REQUIRES_MANUAL";
10
+ })(CardIssuanceSkipReasonEnum || (exports.CardIssuanceSkipReasonEnum = CardIssuanceSkipReasonEnum = {}));
@@ -0,0 +1,5 @@
1
+ /** Quién dispara la emisión. AUTOMATIC (evaluador reactivo de onboarding-business, DEC-025) tiene guard estricto: nunca re-emite FAILED. */
2
+ export declare enum CardIssuanceTriggerEnum {
3
+ AUTOMATIC = "AUTOMATIC",
4
+ MANUAL = "MANUAL"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CardIssuanceTriggerEnum = void 0;
4
+ /** Quién dispara la emisión. AUTOMATIC (evaluador reactivo de onboarding-business, DEC-025) tiene guard estricto: nunca re-emite FAILED. */
5
+ var CardIssuanceTriggerEnum;
6
+ (function (CardIssuanceTriggerEnum) {
7
+ CardIssuanceTriggerEnum["AUTOMATIC"] = "AUTOMATIC";
8
+ CardIssuanceTriggerEnum["MANUAL"] = "MANUAL";
9
+ })(CardIssuanceTriggerEnum || (exports.CardIssuanceTriggerEnum = CardIssuanceTriggerEnum = {}));
@@ -62,6 +62,11 @@ export * from './enums/issuance/UserStatus';
62
62
  export * from './enums/issuance/IssuanceFlow';
63
63
  export * from './enums/issuance/ObservationStep';
64
64
  export * from './enums/issuance/ObservationStatus';
65
+ export * from './enums/issuance/CardIssuanceTriggerEnum';
66
+ export * from './enums/issuance/CardIssuanceSkipReasonEnum';
67
+ export * from './enums/issuance/CardIssuanceResultEnum';
68
+ export * from './dtos/CardIssuanceBySideRequest';
69
+ export * from './dtos/CardIssuanceBySideResponse';
65
70
  export * from './enums/ReplaceBankAccountCardReasonEnum';
66
71
  export * from './enums/CardReasonStatus';
67
72
  export * from './enums/KycReason';
package/bin/card/index.js CHANGED
@@ -81,6 +81,11 @@ __exportStar(require("./enums/issuance/UserStatus"), exports);
81
81
  __exportStar(require("./enums/issuance/IssuanceFlow"), exports);
82
82
  __exportStar(require("./enums/issuance/ObservationStep"), exports);
83
83
  __exportStar(require("./enums/issuance/ObservationStatus"), exports);
84
+ __exportStar(require("./enums/issuance/CardIssuanceTriggerEnum"), exports);
85
+ __exportStar(require("./enums/issuance/CardIssuanceSkipReasonEnum"), exports);
86
+ __exportStar(require("./enums/issuance/CardIssuanceResultEnum"), exports);
87
+ __exportStar(require("./dtos/CardIssuanceBySideRequest"), exports);
88
+ __exportStar(require("./dtos/CardIssuanceBySideResponse"), exports);
84
89
  __exportStar(require("./enums/ReplaceBankAccountCardReasonEnum"), exports);
85
90
  __exportStar(require("./enums/CardReasonStatus"), exports);
86
91
  __exportStar(require("./enums/KycReason"), exports);
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Confirmación de datos POR CAMPO, no por lado.
3
+ *
4
+ * La app dejó de mandar un "confirmo / no confirmo" a secas: ahora manda qué campo está bien y cuál
5
+ * mal. `false` significa INCORRECTO — el usuario pide que se corrija ese dato.
6
+ *
7
+ * Sólo llegan las claves de los campos que el usuario efectivamente pudo responder: si el expediente
8
+ * no tiene nombre US, la app no manda `verifyNameUS`. Ausente ≠ incorrecto.
9
+ *
10
+ * Acompaña a `MEX_InfoSelfVerified` / `USA_InfoSelfVerified` sin reemplazarlos: esos dos siguen
11
+ * siendo el enum de siempre y dicen SI el lado quedó confirmado; éste dice QUÉ campo falló, que es
12
+ * lo que permite reabrir el paso correcto y saber qué documento pedir.
13
+ *
14
+ * Se guarda aparte y no concatenado dentro del propio `*_InfoSelfVerified` porque las ~30
15
+ * comparaciones que hay contra ese campo en los distintos repos son todas por igualdad exacta:
16
+ * un valor compuesto no matchearía con ninguna y caería en el `else` de todas, sin error.
17
+ */
18
+ export interface InfoSelfVerifiedFields {
19
+ /** Nombre estadounidense (`usNames` + `usLastNames`). Es el que abre el lado azul. */
20
+ verifyNameUS?: boolean;
21
+ /** Nombre latino (`latNames` + apellidos). Es el que abre el lado rosa. */
22
+ verifyNameLAT?: boolean;
23
+ /** Domicilio de Estados Unidos. */
24
+ verifyAddressUS?: boolean;
25
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,6 +5,7 @@ import { CPStatusEnum } from '../enums/CPStatusEnum';
5
5
  import { InfoSelfVerifiedStatus } from '../enums/InfoSelfVerifiedStatus';
6
6
  import { SexDocument } from '../enums/SexDocument';
7
7
  import { IdentificationDocument } from './IdentificationDocument';
8
+ import { InfoSelfVerifiedFields } from './InfoSelfVerifiedFields';
8
9
  import { ManualApproval } from './ManualApproval';
9
10
  import { PeopleName } from './PeopleName';
10
11
  export declare class PeopleResponse {
@@ -93,6 +94,12 @@ export declare class PeopleResponse {
93
94
  MEX_Signed: boolean | null;
94
95
  USA_Beneficiaries: boolean | null;
95
96
  USA_InfoSelfVerified: InfoSelfVerifiedStatus;
97
+ /**
98
+ * Qué campo marcó el usuario como incorrecto. Detalla a los dos `*_InfoSelfVerified`.
99
+ * Opcional a diferencia del resto: los expedientes anteriores a la confirmación por campo
100
+ * no lo tienen.
101
+ */
102
+ infoSelfVerifiedFields?: InfoSelfVerifiedFields;
96
103
  USA_Signed: boolean | null;
97
104
  older18: boolean | null;
98
105
  signature: boolean;
@@ -4,6 +4,7 @@ import { CPStatusEnum } from "../enums/CPStatusEnum";
4
4
  import { InfoSelfVerifiedStatus } from "../enums/InfoSelfVerifiedStatus";
5
5
  import { SexDocument } from "../enums/SexDocument";
6
6
  import { IdentificationDocument } from "./IdentificationDocument";
7
+ import { InfoSelfVerifiedFields } from "./InfoSelfVerifiedFields";
7
8
  import { ManualApproval } from "./ManualApproval";
8
9
  import { PeopleName } from "./PeopleName";
9
10
  export declare class PeopleUpdateRequest {
@@ -83,6 +84,12 @@ export declare class PeopleUpdateRequest {
83
84
  pepLevel?: string | null;
84
85
  USA_InfoSelfVerified?: InfoSelfVerifiedStatus;
85
86
  MEX_InfoSelfVerified?: InfoSelfVerifiedStatus;
87
+ /**
88
+ * Qué campo marcó el usuario como incorrecto al revisar sus datos. Lo manda la app en el PUT y
89
+ * de acá se derivan los dos `*_InfoSelfVerified` de arriba: un lado se confirma cuando todas
90
+ * sus banderas están en `true`, y pide corrección si alguna está en `false`.
91
+ */
92
+ infoSelfVerifiedFields?: InfoSelfVerifiedFields;
86
93
  infoSelfVerified?: InfoSelfVerifiedStatus;
87
94
  beneficialOwner?: string | null;
88
95
  weeklyIncomeUSD?: string | null;
@@ -1,6 +1,7 @@
1
1
  export * from './dtos/IdentificationDocument';
2
2
  export * from './dtos/ManualApproval';
3
3
  export * from './dtos/PeopleCreateRequest';
4
+ export * from './dtos/InfoSelfVerifiedFields';
4
5
  export * from './dtos/PeopleResponse';
5
6
  export * from './dtos/PeopleName';
6
7
  export * from './dtos/TypeOfDocument';
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  __exportStar(require("./dtos/IdentificationDocument"), exports);
19
19
  __exportStar(require("./dtos/ManualApproval"), exports);
20
20
  __exportStar(require("./dtos/PeopleCreateRequest"), exports);
21
+ __exportStar(require("./dtos/InfoSelfVerifiedFields"), exports);
21
22
  __exportStar(require("./dtos/PeopleResponse"), exports);
22
23
  __exportStar(require("./dtos/PeopleName"), exports);
23
24
  __exportStar(require("./dtos/TypeOfDocument"), exports);
@@ -0,0 +1,22 @@
1
+ import { ExpedienteUpdatedSourceEnum } from "../enums/ExpedienteUpdatedSourceEnum";
2
+ /**
3
+ * Evento EXPEDIENTE_UPDATED (cola OnboardingReadinessQueue).
4
+ * Producer: fiado-identity-lambda (tras cada escritura exitosa de People/ARC).
5
+ * Consumer: onboarding-business (ExpedienteUpdatedSubscriber, DEC-025).
6
+ * Payload anémico a propósito: el subscriber SIEMPRE lee el expediente fresco;
7
+ * nada de datos de negocio acá para que un mensaje viejo no decida con datos viejos.
8
+ */
9
+ export declare class ExpedienteUpdatedMessage {
10
+ /**
11
+ * Discriminador. La cola es dedicada hoy, pero agregarlo ahora es gratis y
12
+ * agregarlo después de publicar sería breaking (mismo criterio que
13
+ * KycStepCompletedV1.eventType).
14
+ */
15
+ eventType: "EXPEDIENTE_UPDATED";
16
+ eventId: string;
17
+ directoryId: string;
18
+ peopleId: string;
19
+ source: ExpedienteUpdatedSourceEnum;
20
+ /** ISO-8601 estricto y en UTC (sufijo Z) — @IsISO8601 pelado acepta fechas sin hora y offsets locales (precedente: KycStepCompletedV1). */
21
+ occurredAt: string;
22
+ }
@@ -0,0 +1,49 @@
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.ExpedienteUpdatedMessage = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const ExpedienteUpdatedSourceEnum_1 = require("../enums/ExpedienteUpdatedSourceEnum");
15
+ /**
16
+ * Evento EXPEDIENTE_UPDATED (cola OnboardingReadinessQueue).
17
+ * Producer: fiado-identity-lambda (tras cada escritura exitosa de People/ARC).
18
+ * Consumer: onboarding-business (ExpedienteUpdatedSubscriber, DEC-025).
19
+ * Payload anémico a propósito: el subscriber SIEMPRE lee el expediente fresco;
20
+ * nada de datos de negocio acá para que un mensaje viejo no decida con datos viejos.
21
+ */
22
+ class ExpedienteUpdatedMessage {
23
+ }
24
+ exports.ExpedienteUpdatedMessage = ExpedienteUpdatedMessage;
25
+ __decorate([
26
+ (0, class_validator_1.Equals)("EXPEDIENTE_UPDATED"),
27
+ __metadata("design:type", String)
28
+ ], ExpedienteUpdatedMessage.prototype, "eventType", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsUUID)(),
31
+ __metadata("design:type", String)
32
+ ], ExpedienteUpdatedMessage.prototype, "eventId", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsUUID)(),
35
+ __metadata("design:type", String)
36
+ ], ExpedienteUpdatedMessage.prototype, "directoryId", void 0);
37
+ __decorate([
38
+ (0, class_validator_1.IsUUID)(),
39
+ __metadata("design:type", String)
40
+ ], ExpedienteUpdatedMessage.prototype, "peopleId", void 0);
41
+ __decorate([
42
+ (0, class_validator_1.IsEnum)(ExpedienteUpdatedSourceEnum_1.ExpedienteUpdatedSourceEnum),
43
+ __metadata("design:type", String)
44
+ ], ExpedienteUpdatedMessage.prototype, "source", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsISO8601)({ strict: true }),
47
+ (0, class_validator_1.Matches)(/Z$/, { message: "occurredAt debe estar en UTC (sufijo Z)" }),
48
+ __metadata("design:type", String)
49
+ ], ExpedienteUpdatedMessage.prototype, "occurredAt", void 0);
@@ -0,0 +1,7 @@
1
+ /** Qué write-path de fiado-identity-lambda originó el evento (solo diagnóstico — el subscriber no decide por source). */
2
+ export declare enum ExpedienteUpdatedSourceEnum {
3
+ PEOPLE = "PEOPLE",
4
+ ACCOUNT_REQUIREMENT_CONTROL = "ACCOUNT_REQUIREMENT_CONTROL",
5
+ DOCUMENT = "DOCUMENT",
6
+ AGENT = "AGENT"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpedienteUpdatedSourceEnum = void 0;
4
+ /** Qué write-path de fiado-identity-lambda originó el evento (solo diagnóstico — el subscriber no decide por source). */
5
+ var ExpedienteUpdatedSourceEnum;
6
+ (function (ExpedienteUpdatedSourceEnum) {
7
+ ExpedienteUpdatedSourceEnum["PEOPLE"] = "PEOPLE";
8
+ ExpedienteUpdatedSourceEnum["ACCOUNT_REQUIREMENT_CONTROL"] = "ACCOUNT_REQUIREMENT_CONTROL";
9
+ ExpedienteUpdatedSourceEnum["DOCUMENT"] = "DOCUMENT";
10
+ ExpedienteUpdatedSourceEnum["AGENT"] = "AGENT";
11
+ })(ExpedienteUpdatedSourceEnum || (exports.ExpedienteUpdatedSourceEnum = ExpedienteUpdatedSourceEnum = {}));
@@ -3,4 +3,6 @@ export * from './enums/OnboardingStepStatusEnum';
3
3
  export * from './enums/OnboardingAccountStatusEnum';
4
4
  export * from './enums/OnboardingAccountReasonEnum';
5
5
  export * from './enums/OnboardingAccountMessageKeyEnum';
6
+ export * from './enums/ExpedienteUpdatedSourceEnum';
6
7
  export * from './dtos/responses/OnboardingStepsResponse';
8
+ export * from './dtos/ExpedienteUpdatedMessage';
@@ -20,5 +20,8 @@ __exportStar(require("./enums/OnboardingStepStatusEnum"), exports);
20
20
  __exportStar(require("./enums/OnboardingAccountStatusEnum"), exports);
21
21
  __exportStar(require("./enums/OnboardingAccountReasonEnum"), exports);
22
22
  __exportStar(require("./enums/OnboardingAccountMessageKeyEnum"), exports);
23
+ __exportStar(require("./enums/ExpedienteUpdatedSourceEnum"), exports);
23
24
  // Response DTOs
24
25
  __exportStar(require("./dtos/responses/OnboardingStepsResponse"), exports);
26
+ // Queue messages
27
+ __exportStar(require("./dtos/ExpedienteUpdatedMessage"), exports);
@@ -0,0 +1,17 @@
1
+ import { CurrencyId } from '../../currency/enums/CurrencyId';
2
+ /**
3
+ * Comisión que cobra un punto de cash-in (lo que el lambda MUESTRA, no cobra).
4
+ * - GreenDot (US): representativo por cadena → `fixed` + `cap` (cada tienda cobra hasta el tope).
5
+ * - Passport (MX): por red → `fixed` + `percentage`.
6
+ * Response DTO — sin decoradores de validación.
7
+ */
8
+ export declare class CashInFeeDto {
9
+ /** Comisión fija, en la moneda del país. */
10
+ fixed?: number;
11
+ /** Porcentaje del monto depositado (0–100). */
12
+ percentage?: number;
13
+ /** Tope máximo de comisión (GreenDot: el asociado cobra hasta este cap). */
14
+ cap?: number;
15
+ /** Moneda del fee: USD (GreenDot) | MXN (Passport). */
16
+ currency: CurrencyId;
17
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CashInFeeDto = void 0;
4
+ /**
5
+ * Comisión que cobra un punto de cash-in (lo que el lambda MUESTRA, no cobra).
6
+ * - GreenDot (US): representativo por cadena → `fixed` + `cap` (cada tienda cobra hasta el tope).
7
+ * - Passport (MX): por red → `fixed` + `percentage`.
8
+ * Response DTO — sin decoradores de validación.
9
+ */
10
+ class CashInFeeDto {
11
+ }
12
+ exports.CashInFeeDto = CashInFeeDto;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Body del PUT /me/profile/complete (autenticado, gate post-MFA del autoregistro). DEC-RBAC-034.
3
+ * Opera sobre el propio usuario (cognitoSub del token). Valida nombre + los `userFieldDefs` requeridos
4
+ * del tenant (422 MISSING_REQUIRED_FIELDS si faltan) y flipea `profileComplete=true`.
5
+ */
6
+ export declare class CompleteMyProfileRequest {
7
+ displayName: string;
8
+ customFields?: Record<string, string>;
9
+ }
@@ -0,0 +1,34 @@
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.CompleteMyProfileRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /**
16
+ * Body del PUT /me/profile/complete (autenticado, gate post-MFA del autoregistro). DEC-RBAC-034.
17
+ * Opera sobre el propio usuario (cognitoSub del token). Valida nombre + los `userFieldDefs` requeridos
18
+ * del tenant (422 MISSING_REQUIRED_FIELDS si faltan) y flipea `profileComplete=true`.
19
+ */
20
+ class CompleteMyProfileRequest {
21
+ }
22
+ exports.CompleteMyProfileRequest = CompleteMyProfileRequest;
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
+ ], CompleteMyProfileRequest.prototype, "displayName", void 0);
29
+ __decorate([
30
+ (0, class_transformer_1.Expose)(),
31
+ (0, class_validator_1.IsOptional)(),
32
+ (0, class_validator_1.IsObject)(),
33
+ __metadata("design:type", Object)
34
+ ], CompleteMyProfileRequest.prototype, "customFields", void 0);
@@ -0,0 +1,6 @@
1
+ /** Body de la asignación de una tarjeta física a un cliente. */
2
+ export declare class AssignCardRequest {
3
+ assignedToCustomerId: string;
4
+ assignedByUserId: string;
5
+ creditId?: string;
6
+ }
@@ -0,0 +1,30 @@
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.AssignCardRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /** Body de la asignación de una tarjeta física a un cliente. */
15
+ class AssignCardRequest {
16
+ }
17
+ exports.AssignCardRequest = AssignCardRequest;
18
+ __decorate([
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], AssignCardRequest.prototype, "assignedToCustomerId", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ __metadata("design:type", String)
25
+ ], AssignCardRequest.prototype, "assignedByUserId", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsOptional)(),
28
+ (0, class_validator_1.IsString)(),
29
+ __metadata("design:type", String)
30
+ ], AssignCardRequest.prototype, "creditId", void 0);
@@ -0,0 +1,5 @@
1
+ import { CardCancelReasonEnum } from '../../enums/CardCancelReasonEnum';
2
+ /** Body de la cancelación (anulación) de una tarjeta física. */
3
+ export declare class CancelCardRequest {
4
+ reason: CardCancelReasonEnum;
5
+ }