@fiado/type-kit 3.314.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.
- package/_test_/unit/card/CardIssuanceBySideRequest.test.ts +42 -0
- package/_test_/unit/onboarding/ExpedienteUpdatedMessage.test.ts +57 -0
- package/_test_/unit/retailCards/cardStockRequests.test.ts +52 -2
- package/bin/benefitCenter/enums/BenefitFlowEnum.d.ts +11 -0
- package/bin/benefitCenter/enums/BenefitFlowEnum.js +15 -0
- package/bin/card/dtos/CardIssuanceBySideRequest.d.ts +16 -0
- package/bin/card/dtos/CardIssuanceBySideRequest.js +43 -0
- package/bin/card/dtos/CardIssuanceBySideResponse.d.ts +7 -0
- package/bin/card/dtos/CardIssuanceBySideResponse.js +6 -0
- package/bin/card/enums/issuance/CardIssuanceResultEnum.d.ts +4 -0
- package/bin/card/enums/issuance/CardIssuanceResultEnum.js +8 -0
- package/bin/card/enums/issuance/CardIssuanceSkipReasonEnum.d.ts +6 -0
- package/bin/card/enums/issuance/CardIssuanceSkipReasonEnum.js +10 -0
- package/bin/card/enums/issuance/CardIssuanceTriggerEnum.d.ts +5 -0
- package/bin/card/enums/issuance/CardIssuanceTriggerEnum.js +9 -0
- package/bin/card/index.d.ts +5 -0
- package/bin/card/index.js +5 -0
- package/bin/identity/dtos/InfoSelfVerifiedFields.d.ts +25 -0
- package/bin/identity/dtos/InfoSelfVerifiedFields.js +2 -0
- package/bin/identity/dtos/PeopleResponse.d.ts +7 -0
- package/bin/identity/dtos/PeopleUpdateRequest.d.ts +7 -0
- package/bin/identity/index.d.ts +1 -0
- package/bin/identity/index.js +1 -0
- package/bin/onboarding/dtos/ExpedienteUpdatedMessage.d.ts +22 -0
- package/bin/onboarding/dtos/ExpedienteUpdatedMessage.js +49 -0
- package/bin/onboarding/enums/ExpedienteUpdatedSourceEnum.d.ts +7 -0
- package/bin/onboarding/enums/ExpedienteUpdatedSourceEnum.js +11 -0
- package/bin/onboarding/index.d.ts +2 -0
- package/bin/onboarding/index.js +3 -0
- package/bin/places/dtos/CashInFeeDto.d.ts +17 -0
- package/bin/places/dtos/CashInFeeDto.js +12 -0
- package/bin/platformRbac/dtos/CompleteMyProfileRequest.d.ts +9 -0
- package/bin/platformRbac/dtos/CompleteMyProfileRequest.js +34 -0
- package/bin/retailCards/dtos/requests/AssignCardRequest.d.ts +6 -0
- package/bin/retailCards/dtos/requests/AssignCardRequest.js +30 -0
- package/bin/retailCards/dtos/requests/CancelCardRequest.d.ts +5 -0
- package/bin/retailCards/dtos/requests/CancelCardRequest.js +22 -0
- package/bin/retailCards/dtos/requests/RegisterCardBatchRequest.d.ts +4 -1
- package/bin/retailCards/dtos/requests/RegisterCardBatchRequest.js +3 -0
- package/bin/retailCards/dtos/requests/WriteOffCardStockRequest.d.ts +5 -0
- package/bin/retailCards/dtos/requests/WriteOffCardStockRequest.js +4 -0
- package/bin/retailCards/dtos/responses/CardDeliveryResponse.d.ts +5 -2
- package/bin/retailCards/dtos/responses/RetailCardResponse.d.ts +12 -0
- package/bin/retailCards/dtos/responses/RetailCardResponse.js +2 -0
- package/bin/retailCards/enums/CardBatchStatusEnum.d.ts +17 -0
- package/bin/retailCards/enums/CardBatchStatusEnum.js +21 -0
- package/bin/retailCards/enums/CardCancelReasonEnum.d.ts +13 -0
- package/bin/retailCards/enums/CardCancelReasonEnum.js +17 -0
- package/bin/retailCards/enums/RetailCardStatusEnum.d.ts +13 -0
- package/bin/retailCards/enums/RetailCardStatusEnum.js +17 -0
- package/bin/retailCards/events/RetailCardAssignedV1.d.ts +10 -0
- package/bin/retailCards/events/RetailCardAssignedV1.js +2 -0
- package/bin/retailCards/events/RetailCardCancelledV1.d.ts +9 -0
- package/bin/retailCards/events/RetailCardCancelledV1.js +2 -0
- package/bin/retailCards/events/RetailCardReleasedV1.d.ts +7 -0
- package/bin/retailCards/events/RetailCardReleasedV1.js +2 -0
- package/bin/retailWizard/dtos/requests/CompleteSaleRequest.d.ts +9 -0
- package/bin/retailWizard/dtos/requests/CompleteSaleRequest.js +29 -0
- package/bin/retailWizard/dtos/requests/MarkPcfCardDeliveredRequest.d.ts +4 -0
- package/bin/retailWizard/dtos/requests/MarkPcfCardDeliveredRequest.js +23 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +14 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +41 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +15 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +13 -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/card/dtos/CardIssuanceBySideRequest.ts +29 -0
- package/src/card/dtos/CardIssuanceBySideResponse.ts +8 -0
- package/src/card/enums/issuance/CardIssuanceResultEnum.ts +4 -0
- package/src/card/enums/issuance/CardIssuanceSkipReasonEnum.ts +6 -0
- package/src/card/enums/issuance/CardIssuanceTriggerEnum.ts +5 -0
- package/src/card/index.ts +5 -0
- package/src/identity/dtos/InfoSelfVerifiedFields.ts +25 -0
- package/src/identity/dtos/PeopleResponse.ts +7 -0
- package/src/identity/dtos/PeopleUpdateRequest.ts +7 -0
- package/src/identity/index.ts +1 -0
- package/src/onboarding/dtos/ExpedienteUpdatedMessage.ts +37 -0
- package/src/onboarding/enums/ExpedienteUpdatedSourceEnum.ts +7 -0
- package/src/onboarding/index.ts +4 -0
- package/src/retailCards/dtos/requests/RegisterCardBatchRequest.ts +8 -2
- package/src/retailCards/dtos/requests/WriteOffCardStockRequest.ts +8 -1
- package/src/retailCards/dtos/responses/CardDeliveryResponse.ts +5 -2
|
@@ -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
|
+
});
|
|
@@ -30,6 +30,29 @@ describe('RegisterCardBatchRequest — el lote se recibe por cantidad, no por n
|
|
|
30
30
|
).toContain('supplierBatchRef');
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
+
it('rechaza un folio en blanco: degradaría la clave del marcador a una constante por tienda', () => {
|
|
34
|
+
for (const supplierBatchRef of ['', ' ']) {
|
|
35
|
+
expect(
|
|
36
|
+
errorsOf(RegisterCardBatchRequest, {
|
|
37
|
+
storeId: 'STORE#1',
|
|
38
|
+
quantity: 50,
|
|
39
|
+
supplierBatchRef,
|
|
40
|
+
}),
|
|
41
|
+
).toContain('supplierBatchRef');
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// El folio es la clave de idempotencia: sin recortar, reteclearlo con un espacio de más registra
|
|
46
|
+
// el mismo lote dos veces y suma el stock doble.
|
|
47
|
+
it('recorta los espacios del folio antes de que llegue al dominio', () => {
|
|
48
|
+
const dto = plainToInstance(RegisterCardBatchRequest, {
|
|
49
|
+
storeId: 'STORE#1',
|
|
50
|
+
quantity: 50,
|
|
51
|
+
supplierBatchRef: ' L-4471 ',
|
|
52
|
+
});
|
|
53
|
+
expect(dto.supplierBatchRef).toBe('L-4471');
|
|
54
|
+
});
|
|
55
|
+
|
|
33
56
|
it('rechaza una cantidad de 0, negativa o fraccionaria', () => {
|
|
34
57
|
for (const quantity of [0, -1, 1.5]) {
|
|
35
58
|
expect(
|
|
@@ -103,18 +126,44 @@ describe('RegisterCardDeliveryRequest — entrega en un solo acto, idempotente p
|
|
|
103
126
|
});
|
|
104
127
|
|
|
105
128
|
describe('WriteOffCardStockRequest — baja de inventario por cantidad', () => {
|
|
106
|
-
|
|
129
|
+
const OPERATION_ID = '3f1a9c52-8d0e-4b7a-9c31-6ad2f0e15b74';
|
|
130
|
+
|
|
131
|
+
it('acepta cantidad + motivo del catálogo + clave de operación', () => {
|
|
107
132
|
expect(
|
|
108
133
|
errorsOf(WriteOffCardStockRequest, {
|
|
109
134
|
quantity: 3,
|
|
110
135
|
reason: CardWriteOffReasonEnum.PLASTIC_DAMAGED,
|
|
136
|
+
operationId: OPERATION_ID,
|
|
111
137
|
}),
|
|
112
138
|
).toEqual([]);
|
|
113
139
|
});
|
|
114
140
|
|
|
141
|
+
it('la clave de operación es obligatoria: sin ella un doble clic descuenta dos veces', () => {
|
|
142
|
+
expect(
|
|
143
|
+
errorsOf(WriteOffCardStockRequest, {
|
|
144
|
+
quantity: 3,
|
|
145
|
+
reason: CardWriteOffReasonEnum.LOST,
|
|
146
|
+
}),
|
|
147
|
+
).toContain('operationId');
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
it('rechaza una clave de operación que no sea un UUID', () => {
|
|
151
|
+
expect(
|
|
152
|
+
errorsOf(WriteOffCardStockRequest, {
|
|
153
|
+
quantity: 3,
|
|
154
|
+
reason: CardWriteOffReasonEnum.LOST,
|
|
155
|
+
operationId: 'baja-del-martes',
|
|
156
|
+
}),
|
|
157
|
+
).toContain('operationId');
|
|
158
|
+
});
|
|
159
|
+
|
|
115
160
|
it('rechaza un motivo fuera del catálogo', () => {
|
|
116
161
|
expect(
|
|
117
|
-
errorsOf(WriteOffCardStockRequest, {
|
|
162
|
+
errorsOf(WriteOffCardStockRequest, {
|
|
163
|
+
quantity: 3,
|
|
164
|
+
reason: 'THEFT_REPORTED',
|
|
165
|
+
operationId: OPERATION_ID,
|
|
166
|
+
}),
|
|
118
167
|
).toContain('reason');
|
|
119
168
|
});
|
|
120
169
|
|
|
@@ -124,6 +173,7 @@ describe('WriteOffCardStockRequest — baja de inventario por cantidad', () => {
|
|
|
124
173
|
errorsOf(WriteOffCardStockRequest, {
|
|
125
174
|
quantity,
|
|
126
175
|
reason: CardWriteOffReasonEnum.LOST,
|
|
176
|
+
operationId: OPERATION_ID,
|
|
127
177
|
}),
|
|
128
178
|
).toContain('quantity');
|
|
129
179
|
}
|
|
@@ -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,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,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 = {}));
|
package/bin/card/index.d.ts
CHANGED
|
@@ -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
|
+
}
|
|
@@ -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;
|
package/bin/identity/index.d.ts
CHANGED
|
@@ -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';
|
package/bin/identity/index.js
CHANGED
|
@@ -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';
|
package/bin/onboarding/index.js
CHANGED
|
@@ -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
|
+
}
|