@fiado/type-kit 3.48.0 → 3.50.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 (116) hide show
  1. package/_test_/unit/cognitoBackofficeConnector/dtos/Introspect.test.ts +30 -30
  2. package/_test_/unit/platformRbac/auth/dtos.test.ts +42 -42
  3. package/_test_/unit/platformRbac/dtos/AuthorizeRequest.test.ts +30 -30
  4. package/_test_/unit/platformRbac/dtos/AuthorizeResponse.test.ts +25 -25
  5. package/bin/platformRbac/mfa/VerifyTotpEnrollmentRequest.d.ts +6 -0
  6. package/bin/platformRbac/mfa/VerifyTotpEnrollmentRequest.js +4 -0
  7. package/bin/provider/enums/Provider.d.ts +2 -1
  8. package/bin/provider/enums/Provider.js +1 -0
  9. package/bin/remittance/dtos/RemittancePayRequest.d.ts +20 -0
  10. package/bin/remittance/dtos/RemittancePayRequest.js +43 -0
  11. package/bin/remittance/dtos/RemittancePayResponse.d.ts +23 -0
  12. package/bin/remittance/dtos/RemittancePayResponse.js +14 -0
  13. package/bin/remittance/dtos/index.d.ts +2 -0
  14. package/bin/remittance/dtos/index.js +2 -0
  15. package/package.json +1 -1
  16. package/src/cognitoBackofficeConnector/dtos/InitiateAuthRequest.ts +12 -12
  17. package/src/cognitoBackofficeConnector/dtos/IntrospectRequest.ts +10 -10
  18. package/src/cognitoBackofficeConnector/dtos/IntrospectResponse.ts +10 -10
  19. package/src/cognitoBackofficeConnector/dtos/VerifyPasswordRequest.ts +15 -15
  20. package/src/cognitoBackofficeConnector/dtos/VerifyPasswordResponse.ts +6 -6
  21. package/src/cognitoBackofficeConnector/enums/CognitoChallengeType.ts +24 -24
  22. package/src/cognitoBackofficeConnector/enums/IntrospectFailReason.ts +11 -11
  23. package/src/mdm/README.md +78 -78
  24. package/src/mdm/dtos/DeviceArchiveRequest.ts +14 -14
  25. package/src/mdm/dtos/DeviceArchiveResponse.ts +10 -10
  26. package/src/mdm/dtos/DeviceAutoLockScheduleRequest.ts +18 -18
  27. package/src/mdm/dtos/DeviceAutoLockScheduleResponse.ts +10 -10
  28. package/src/mdm/dtos/DeviceEnrollInitiateResponse.ts +9 -9
  29. package/src/mdm/dtos/DeviceEnrollRequest.ts +38 -38
  30. package/src/mdm/dtos/DeviceEnrollStatusRequest.ts +14 -14
  31. package/src/mdm/dtos/DeviceEnrollStatusResponse.ts +15 -15
  32. package/src/mdm/dtos/DeviceEnrollmentCompletedEvent.ts +8 -8
  33. package/src/mdm/dtos/DeviceLastSeenRequest.ts +9 -9
  34. package/src/mdm/dtos/DeviceLastSeenResponse.ts +9 -9
  35. package/src/mdm/dtos/DeviceLockRequest.ts +46 -46
  36. package/src/mdm/dtos/DeviceLockResponse.ts +12 -12
  37. package/src/mdm/dtos/DeviceLockScreenMessage.ts +14 -14
  38. package/src/mdm/dtos/DeviceLogEntry.ts +5 -5
  39. package/src/mdm/dtos/DeviceLogRequest.ts +19 -19
  40. package/src/mdm/dtos/DeviceLogResponse.ts +10 -10
  41. package/src/mdm/dtos/DeviceNotifyRequest.ts +47 -47
  42. package/src/mdm/dtos/DeviceNotifyResponse.ts +10 -10
  43. package/src/mdm/dtos/DevicePinUnlockRequest.ts +19 -19
  44. package/src/mdm/dtos/DevicePinUnlockResponse.ts +12 -12
  45. package/src/mdm/dtos/DeviceReleaseCompletedEvent.ts +6 -6
  46. package/src/mdm/dtos/DeviceReleaseInitiateResponse.ts +10 -10
  47. package/src/mdm/dtos/DeviceReleaseRequest.ts +24 -24
  48. package/src/mdm/dtos/DeviceReleaseStatusRequest.ts +14 -14
  49. package/src/mdm/dtos/DeviceReleaseStatusResponse.ts +10 -10
  50. package/src/mdm/dtos/DeviceRestrictAppsRequest.ts +19 -19
  51. package/src/mdm/dtos/DeviceRestrictAppsResponse.ts +10 -10
  52. package/src/mdm/dtos/DeviceServiceDeactivateInitiateResponse.ts +9 -9
  53. package/src/mdm/dtos/DeviceServiceDeactivateRequest.ts +19 -19
  54. package/src/mdm/dtos/DeviceServiceDeactivateStatusRequest.ts +14 -14
  55. package/src/mdm/dtos/DeviceServiceDeactivateStatusResponse.ts +10 -10
  56. package/src/mdm/dtos/DeviceStatusRequest.ts +9 -9
  57. package/src/mdm/dtos/DeviceStatusResponse.ts +16 -16
  58. package/src/mdm/dtos/DeviceUnlockRequest.ts +14 -14
  59. package/src/mdm/dtos/DeviceUnlockResponse.ts +10 -10
  60. package/src/mdm/dtos/MdmError.ts +7 -7
  61. package/src/mdm/enums/DeviceEnrollmentModeEnum.ts +4 -4
  62. package/src/mdm/enums/DeviceLockModeEnum.ts +4 -4
  63. package/src/mdm/enums/DeviceNotifyIntensityEnum.ts +4 -4
  64. package/src/mdm/enums/DeviceReleaseReasonEnum.ts +5 -5
  65. package/src/mdm/enums/DeviceServiceDeactivateReasonEnum.ts +5 -5
  66. package/src/mdm/enums/MdmDeviceStatusEnum.ts +10 -10
  67. package/src/mdm/enums/MdmErrorCodeEnum.ts +17 -17
  68. package/src/mdm/enums/MdmOperationStatusEnum.ts +5 -5
  69. package/src/mdm/enums/MdmOperationTypeEnum.ts +15 -15
  70. package/src/mdm/enums/MdmProviderEnum.ts +4 -4
  71. package/src/mdm/index.ts +60 -60
  72. package/src/messagesConnector/dtos/MessagesByDestinationResponse.ts +5 -5
  73. package/src/messagesConnector/dtos/NotificationQueueMessageRequestV2.ts +54 -54
  74. package/src/messagesConnector/dtos/NotificationResponse.ts +19 -19
  75. package/src/messagesConnector/dtos/NotificationsCursorResponse.ts +6 -6
  76. package/src/messagesConnector/dtos/NotificationsPageResponse.ts +10 -10
  77. package/src/messagesConnector/dtos/NotificationsV3Response.ts +5 -5
  78. package/src/messagesConnector/dtos/OtpValidatedResponse.ts +9 -9
  79. package/src/messagesConnector/dtos/SendMessageResponse.ts +10 -10
  80. package/src/messagesConnector/dtos/TemplateMessageCreateRequest.ts +51 -51
  81. package/src/messagesConnector/dtos/TemplateMessageListFiltersRequest.ts +47 -47
  82. package/src/messagesConnector/dtos/TemplateMessageListResponse.ts +16 -16
  83. package/src/messagesConnector/dtos/TemplateMessageResponse.ts +52 -52
  84. package/src/messagesConnector/dtos/TemplateMessageUpdateRequest.ts +39 -39
  85. package/src/messagesConnector/dtos/VerifyOtpResponse.ts +5 -5
  86. package/src/messagesConnector/enums/DeliveryChannelExtendedEnum.ts +5 -5
  87. package/src/messagesConnector/validators/IsStringValueRecord.ts +12 -12
  88. package/src/messagesConnector/validators/IsTemplatePlaceholders.ts +45 -45
  89. package/src/messaging/dtos/MessageDeliveryRequest.ts +29 -29
  90. package/src/messaging/dtos/MessageDeliveryResponse.ts +6 -6
  91. package/src/messaging/enums/ContentTypeEnum.ts +4 -4
  92. package/src/messaging/enums/DeliveryChannelEnum.ts +4 -4
  93. package/src/messaging/index.ts +6 -6
  94. package/src/messaging/validators/IsDestinationByChannel.ts +61 -61
  95. package/src/messaging/validators/IsNotBlank.ts +31 -31
  96. package/src/platformRbac/auth/DefineNextChallengeRequest.ts +25 -25
  97. package/src/platformRbac/auth/DefineNextChallengeResponse.ts +14 -14
  98. package/src/platformRbac/auth/NewPasswordRequest.ts +10 -10
  99. package/src/platformRbac/auth/PrepareChallengeRequest.ts +13 -13
  100. package/src/platformRbac/auth/PrepareChallengeResponse.ts +9 -9
  101. package/src/platformRbac/auth/ResetPasswordRequest.ts +14 -14
  102. package/src/platformRbac/auth/VerifyChallengeRequest.ts +16 -16
  103. package/src/platformRbac/auth/VerifyChallengeResponse.ts +6 -6
  104. package/src/platformRbac/dtos/AuthorizeRequest.ts +14 -14
  105. package/src/platformRbac/dtos/AuthorizeResponse.ts +16 -16
  106. package/src/platformRbac/enums/AuthorizeDenyReason.ts +10 -10
  107. package/src/platformRbac/enums/ChallengeNameEnum.ts +7 -7
  108. package/src/platformRbac/enums/MfaMethodEnum.ts +4 -4
  109. package/src/platformRbac/mfa/ChangeMfaMethodRequest.ts +10 -10
  110. package/src/platformRbac/mfa/EnrollTotpResponse.ts +12 -12
  111. package/src/platformRbac/mfa/MfaStatusResponse.ts +14 -14
  112. package/src/platformRbac/mfa/VerifyTotpEnrollmentRequest.ts +15 -7
  113. package/src/provider/enums/Provider.ts +2 -1
  114. package/src/remittance/dtos/RemittancePayRequest.ts +30 -0
  115. package/src/remittance/dtos/RemittancePayResponse.ts +24 -0
  116. package/src/remittance/dtos/index.ts +2 -0
@@ -1,30 +1,30 @@
1
- import 'reflect-metadata';
2
- import { plainToInstance } from 'class-transformer';
3
- import { validate } from 'class-validator';
4
- import { IntrospectRequest } from '../../../../src/cognitoBackofficeConnector/dtos/IntrospectRequest';
5
- import { IntrospectResponse } from '../../../../src/cognitoBackofficeConnector/dtos/IntrospectResponse';
6
- import { IntrospectFailReason } from '../../../../src/cognitoBackofficeConnector/enums/IntrospectFailReason';
7
-
8
- describe('IntrospectRequest', () => {
9
- it('valida happy path', async () => {
10
- const dto = plainToInstance(IntrospectRequest, {
11
- token: 'jwt', userPoolId: 'us-east-1_o0h1s3458', region: 'us-east-1', clientId: '1b8g4shbvbi5jhq19fuc8mi2bk',
12
- });
13
- expect(await validate(dto)).toEqual([]);
14
- });
15
- it('falla si falta userPoolId', async () => {
16
- const dto = plainToInstance(IntrospectRequest, { token: 'jwt', region: 'us-east-1', clientId: 'c' });
17
- expect((await validate(dto)).some(e => e.property === 'userPoolId')).toBe(true);
18
- });
19
- });
20
-
21
- describe('IntrospectResponse', () => {
22
- it('valid=true con cognitoSub', async () => {
23
- const dto = plainToInstance(IntrospectResponse, { valid: true, cognitoSub: '248814c8' });
24
- expect(await validate(dto)).toEqual([]);
25
- });
26
- it('valid=false con reason enum', async () => {
27
- const dto = plainToInstance(IntrospectResponse, { valid: false, reason: IntrospectFailReason.REVOKED });
28
- expect(await validate(dto)).toEqual([]);
29
- });
30
- });
1
+ import 'reflect-metadata';
2
+ import { plainToInstance } from 'class-transformer';
3
+ import { validate } from 'class-validator';
4
+ import { IntrospectRequest } from '../../../../src/cognitoBackofficeConnector/dtos/IntrospectRequest';
5
+ import { IntrospectResponse } from '../../../../src/cognitoBackofficeConnector/dtos/IntrospectResponse';
6
+ import { IntrospectFailReason } from '../../../../src/cognitoBackofficeConnector/enums/IntrospectFailReason';
7
+
8
+ describe('IntrospectRequest', () => {
9
+ it('valida happy path', async () => {
10
+ const dto = plainToInstance(IntrospectRequest, {
11
+ token: 'jwt', userPoolId: 'us-east-1_o0h1s3458', region: 'us-east-1', clientId: '1b8g4shbvbi5jhq19fuc8mi2bk',
12
+ });
13
+ expect(await validate(dto)).toEqual([]);
14
+ });
15
+ it('falla si falta userPoolId', async () => {
16
+ const dto = plainToInstance(IntrospectRequest, { token: 'jwt', region: 'us-east-1', clientId: 'c' });
17
+ expect((await validate(dto)).some(e => e.property === 'userPoolId')).toBe(true);
18
+ });
19
+ });
20
+
21
+ describe('IntrospectResponse', () => {
22
+ it('valid=true con cognitoSub', async () => {
23
+ const dto = plainToInstance(IntrospectResponse, { valid: true, cognitoSub: '248814c8' });
24
+ expect(await validate(dto)).toEqual([]);
25
+ });
26
+ it('valid=false con reason enum', async () => {
27
+ const dto = plainToInstance(IntrospectResponse, { valid: false, reason: IntrospectFailReason.REVOKED });
28
+ expect(await validate(dto)).toEqual([]);
29
+ });
30
+ });
@@ -1,42 +1,42 @@
1
- import 'reflect-metadata';
2
- import { plainToInstance } from 'class-transformer';
3
- import { validate } from 'class-validator';
4
- import {
5
- DefineNextChallengeRequest,
6
- ChallengeResultEntry,
7
- } from '../../../../src/platformRbac/auth/DefineNextChallengeRequest';
8
- import { ChallengeNameEnum } from '../../../../src/platformRbac/enums/ChallengeNameEnum';
9
-
10
- describe('DefineNextChallengeRequest', () => {
11
- it('valida happy path con session vacia', async () => {
12
- const dto = plainToInstance(DefineNextChallengeRequest, {
13
- cognitoSub: 'abc-123',
14
- userNotFound: false,
15
- session: [],
16
- });
17
- const errors = await validate(dto);
18
- expect(errors).toEqual([]);
19
- });
20
-
21
- it('valida happy path con session de un PASSWORD result', async () => {
22
- const dto = plainToInstance(DefineNextChallengeRequest, {
23
- cognitoSub: 'abc-123',
24
- userNotFound: false,
25
- session: [{ challengeName: ChallengeNameEnum.PASSWORD, challengeResult: true }],
26
- });
27
- const errors = await validate(dto);
28
- expect(errors).toEqual([]);
29
- expect(dto.session[0]).toBeInstanceOf(ChallengeResultEntry);
30
- });
31
-
32
- it('falla si cognitoSub no es string', async () => {
33
- const dto = plainToInstance(DefineNextChallengeRequest, {
34
- cognitoSub: 42,
35
- userNotFound: false,
36
- session: [],
37
- });
38
- const errors = await validate(dto);
39
- expect(errors.length).toBeGreaterThan(0);
40
- expect(errors[0].property).toBe('cognitoSub');
41
- });
42
- });
1
+ import 'reflect-metadata';
2
+ import { plainToInstance } from 'class-transformer';
3
+ import { validate } from 'class-validator';
4
+ import {
5
+ DefineNextChallengeRequest,
6
+ ChallengeResultEntry,
7
+ } from '../../../../src/platformRbac/auth/DefineNextChallengeRequest';
8
+ import { ChallengeNameEnum } from '../../../../src/platformRbac/enums/ChallengeNameEnum';
9
+
10
+ describe('DefineNextChallengeRequest', () => {
11
+ it('valida happy path con session vacia', async () => {
12
+ const dto = plainToInstance(DefineNextChallengeRequest, {
13
+ cognitoSub: 'abc-123',
14
+ userNotFound: false,
15
+ session: [],
16
+ });
17
+ const errors = await validate(dto);
18
+ expect(errors).toEqual([]);
19
+ });
20
+
21
+ it('valida happy path con session de un PASSWORD result', async () => {
22
+ const dto = plainToInstance(DefineNextChallengeRequest, {
23
+ cognitoSub: 'abc-123',
24
+ userNotFound: false,
25
+ session: [{ challengeName: ChallengeNameEnum.PASSWORD, challengeResult: true }],
26
+ });
27
+ const errors = await validate(dto);
28
+ expect(errors).toEqual([]);
29
+ expect(dto.session[0]).toBeInstanceOf(ChallengeResultEntry);
30
+ });
31
+
32
+ it('falla si cognitoSub no es string', async () => {
33
+ const dto = plainToInstance(DefineNextChallengeRequest, {
34
+ cognitoSub: 42,
35
+ userNotFound: false,
36
+ session: [],
37
+ });
38
+ const errors = await validate(dto);
39
+ expect(errors.length).toBeGreaterThan(0);
40
+ expect(errors[0].property).toBe('cognitoSub');
41
+ });
42
+ });
@@ -1,30 +1,30 @@
1
- import 'reflect-metadata';
2
- import { plainToInstance } from 'class-transformer';
3
- import { validate } from 'class-validator';
4
- import { AuthorizeRequest } from '../../../../src/platformRbac/dtos/AuthorizeRequest';
5
- import { PermissionScope } from '../../../../src/platformRbac/enums/PermissionScope';
6
-
7
- describe('AuthorizeRequest', () => {
8
- it('valida happy path con scope opcional', async () => {
9
- const dto = plainToInstance(AuthorizeRequest, {
10
- token: 'jwt.abc.def',
11
- permission: 'tenant.user.create',
12
- scope: PermissionScope.RETAILER,
13
- scopeRef: 'VL-001',
14
- });
15
- const errors = await validate(dto);
16
- expect(errors).toEqual([]);
17
- });
18
-
19
- it('falla si falta token', async () => {
20
- const dto = plainToInstance(AuthorizeRequest, { permission: 'tenant.user.create' });
21
- const errors = await validate(dto);
22
- expect(errors.some(e => e.property === 'token')).toBe(true);
23
- });
24
-
25
- it('acepta sin scope/scopeRef (permiso sin scope)', async () => {
26
- const dto = plainToInstance(AuthorizeRequest, { token: 'jwt', permission: 'catalog.read' });
27
- const errors = await validate(dto);
28
- expect(errors).toEqual([]);
29
- });
30
- });
1
+ import 'reflect-metadata';
2
+ import { plainToInstance } from 'class-transformer';
3
+ import { validate } from 'class-validator';
4
+ import { AuthorizeRequest } from '../../../../src/platformRbac/dtos/AuthorizeRequest';
5
+ import { PermissionScope } from '../../../../src/platformRbac/enums/PermissionScope';
6
+
7
+ describe('AuthorizeRequest', () => {
8
+ it('valida happy path con scope opcional', async () => {
9
+ const dto = plainToInstance(AuthorizeRequest, {
10
+ token: 'jwt.abc.def',
11
+ permission: 'tenant.user.create',
12
+ scope: PermissionScope.RETAILER,
13
+ scopeRef: 'VL-001',
14
+ });
15
+ const errors = await validate(dto);
16
+ expect(errors).toEqual([]);
17
+ });
18
+
19
+ it('falla si falta token', async () => {
20
+ const dto = plainToInstance(AuthorizeRequest, { permission: 'tenant.user.create' });
21
+ const errors = await validate(dto);
22
+ expect(errors.some(e => e.property === 'token')).toBe(true);
23
+ });
24
+
25
+ it('acepta sin scope/scopeRef (permiso sin scope)', async () => {
26
+ const dto = plainToInstance(AuthorizeRequest, { token: 'jwt', permission: 'catalog.read' });
27
+ const errors = await validate(dto);
28
+ expect(errors).toEqual([]);
29
+ });
30
+ });
@@ -1,25 +1,25 @@
1
- import 'reflect-metadata';
2
- import { plainToInstance } from 'class-transformer';
3
- import { validate } from 'class-validator';
4
- import { AuthorizeResponse } from '../../../../src/platformRbac/dtos/AuthorizeResponse';
5
- import { AuthorizeDenyReason } from '../../../../src/platformRbac/enums/AuthorizeDenyReason';
6
-
7
- describe('AuthorizeResponse', () => {
8
- it('valida allow=true sin reason', async () => {
9
- const dto = plainToInstance(AuthorizeResponse, { allow: true });
10
- const errors = await validate(dto);
11
- expect(errors).toEqual([]);
12
- });
13
-
14
- it('valida allow=false con reason enum', async () => {
15
- const dto = plainToInstance(AuthorizeResponse, { allow: false, reason: AuthorizeDenyReason.NO_PERMISSION });
16
- const errors = await validate(dto);
17
- expect(errors).toEqual([]);
18
- });
19
-
20
- it('rechaza reason fuera del enum', async () => {
21
- const dto = plainToInstance(AuthorizeResponse, { allow: false, reason: 'WHATEVER' });
22
- const errors = await validate(dto);
23
- expect(errors.some(e => e.property === 'reason')).toBe(true);
24
- });
25
- });
1
+ import 'reflect-metadata';
2
+ import { plainToInstance } from 'class-transformer';
3
+ import { validate } from 'class-validator';
4
+ import { AuthorizeResponse } from '../../../../src/platformRbac/dtos/AuthorizeResponse';
5
+ import { AuthorizeDenyReason } from '../../../../src/platformRbac/enums/AuthorizeDenyReason';
6
+
7
+ describe('AuthorizeResponse', () => {
8
+ it('valida allow=true sin reason', async () => {
9
+ const dto = plainToInstance(AuthorizeResponse, { allow: true });
10
+ const errors = await validate(dto);
11
+ expect(errors).toEqual([]);
12
+ });
13
+
14
+ it('valida allow=false con reason enum', async () => {
15
+ const dto = plainToInstance(AuthorizeResponse, { allow: false, reason: AuthorizeDenyReason.NO_PERMISSION });
16
+ const errors = await validate(dto);
17
+ expect(errors).toEqual([]);
18
+ });
19
+
20
+ it('rechaza reason fuera del enum', async () => {
21
+ const dto = plainToInstance(AuthorizeResponse, { allow: false, reason: 'WHATEVER' });
22
+ const errors = await validate(dto);
23
+ expect(errors.some(e => e.property === 'reason')).toBe(true);
24
+ });
25
+ });
@@ -1,3 +1,9 @@
1
1
  export declare class VerifyTotpEnrollmentRequest {
2
2
  totpCode: string;
3
+ /**
4
+ * Blob opaco (JWT cifrado con KMS) que devuelve el enroll de totp-security; el cliente
5
+ * lo reenvía en el verify-enrollment para que totp-security recupere el secret y persista.
6
+ * Requerido: sin él totp-security no puede confirmar el enrollment.
7
+ */
8
+ enrollmentToken: string;
3
9
  }
@@ -19,3 +19,7 @@ __decorate([
19
19
  (0, class_validator_1.Length)(6, 6),
20
20
  __metadata("design:type", String)
21
21
  ], VerifyTotpEnrollmentRequest.prototype, "totpCode", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ __metadata("design:type", String)
25
+ ], VerifyTotpEnrollmentRequest.prototype, "enrollmentToken", void 0);
@@ -7,5 +7,6 @@ export declare enum Provider {
7
7
  ESTAFETA = "ESTAFETA",
8
8
  STP_SERVICE_PAYMENT = "STP_SERVICE_PAYMENT",
9
9
  MULTICOMM_SERVICE_PAYMENT = "MULTICOMM_SERVICE_PAYMENT",
10
- MULTICENTER_SERVICE_PAYMENT = "MULTICENTER_SERVICE_PAYMENT"
10
+ MULTICENTER_SERVICE_PAYMENT = "MULTICENTER_SERVICE_PAYMENT",
11
+ UNITELLER = "UNITELLER"
11
12
  }
@@ -12,4 +12,5 @@ var Provider;
12
12
  Provider["STP_SERVICE_PAYMENT"] = "STP_SERVICE_PAYMENT";
13
13
  Provider["MULTICOMM_SERVICE_PAYMENT"] = "MULTICOMM_SERVICE_PAYMENT";
14
14
  Provider["MULTICENTER_SERVICE_PAYMENT"] = "MULTICENTER_SERVICE_PAYMENT";
15
+ Provider["UNITELLER"] = "UNITELLER";
15
16
  })(Provider || (exports.Provider = Provider = {}));
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Body del POST /pay del uniteller-connector (lo invoca benefits-marketplace
3
+ * vía api-invoker tras la orquestación del procesador). Confirma una remesa
4
+ * previamente previsualizada (F6).
5
+ *
6
+ * Bajo API Lite (D22-D26) NO incluye fundingMethod/fundingMethodSourceId — el
7
+ * wallet USD principal del usuario es la única fuente; el connector usa
8
+ * unirWlpWalletId de RemittanceUsers_GT.
9
+ *
10
+ * `directoryId` viaja en el body de las llamadas privadas (D18) pero se valida
11
+ * por separado en el controller, no en este DTO.
12
+ */
13
+ export declare class RemittancePayRequest {
14
+ /** transactionInternalReference que devolvió SendMoneyPreview (cacheado en RemittanceCache_GT). */
15
+ previewRef: string;
16
+ /** Idempotency key generado por mobile; end-to-end (D-F6.6). */
17
+ idempotencyKey: string;
18
+ /** transactionNumber del procesador, para el lookup de consult() (F6.C.1). */
19
+ marketplaceTransactionNumber?: string;
20
+ }
@@ -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.RemittancePayRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * Body del POST /pay del uniteller-connector (lo invoca benefits-marketplace
16
+ * vía api-invoker tras la orquestación del procesador). Confirma una remesa
17
+ * previamente previsualizada (F6).
18
+ *
19
+ * Bajo API Lite (D22-D26) NO incluye fundingMethod/fundingMethodSourceId — el
20
+ * wallet USD principal del usuario es la única fuente; el connector usa
21
+ * unirWlpWalletId de RemittanceUsers_GT.
22
+ *
23
+ * `directoryId` viaja en el body de las llamadas privadas (D18) pero se valida
24
+ * por separado en el controller, no en este DTO.
25
+ */
26
+ class RemittancePayRequest {
27
+ }
28
+ exports.RemittancePayRequest = RemittancePayRequest;
29
+ __decorate([
30
+ (0, class_validator_1.IsString)(),
31
+ (0, class_validator_1.IsNotEmpty)(),
32
+ __metadata("design:type", String)
33
+ ], RemittancePayRequest.prototype, "previewRef", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.IsNotEmpty)(),
37
+ __metadata("design:type", String)
38
+ ], RemittancePayRequest.prototype, "idempotencyKey", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
42
+ __metadata("design:type", String)
43
+ ], RemittancePayRequest.prototype, "marketplaceTransactionNumber", void 0);
@@ -0,0 +1,23 @@
1
+ import { RemittanceTxStatus } from "../enums/RemittanceTxStatus";
2
+ /**
3
+ * Respuesta del POST /pay del uniteller-connector. Refleja el resultado del
4
+ * SendMoneyConfirm de UNIR + la row persistida en RemittanceTransactions_GT.
5
+ *
6
+ * exchangeRate y receivedAmount provienen del ExternalQuickQuotes cacheado en
7
+ * el preview (D-F5.6: en sandbox las responses de Confirm los devuelven en 0
8
+ * para Wlp Wallet).
9
+ */
10
+ export declare class RemittancePayResponse {
11
+ /** transactionNumber de UNIR, formato "XXXXXXXSF". */
12
+ txNumber: string;
13
+ status: RemittanceTxStatus;
14
+ amountUSD: number;
15
+ receivedAmount: number;
16
+ receivedCurrency: string;
17
+ exchangeRate: number;
18
+ serviceFee: number;
19
+ /** Fecha en que la remesa queda disponible para retiro (si UNIR la provee). */
20
+ availableDate?: string;
21
+ /** ISO timestamp de creación de la row local. */
22
+ createdAt: string;
23
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemittancePayResponse = void 0;
4
+ /**
5
+ * Respuesta del POST /pay del uniteller-connector. Refleja el resultado del
6
+ * SendMoneyConfirm de UNIR + la row persistida en RemittanceTransactions_GT.
7
+ *
8
+ * exchangeRate y receivedAmount provienen del ExternalQuickQuotes cacheado en
9
+ * el preview (D-F5.6: en sandbox las responses de Confirm los devuelven en 0
10
+ * para Wlp Wallet).
11
+ */
12
+ class RemittancePayResponse {
13
+ }
14
+ exports.RemittancePayResponse = RemittancePayResponse;
@@ -10,6 +10,8 @@ export * from "./RemittanceQuoteRequest";
10
10
  export * from "./RemittanceQuoteResponse";
11
11
  export * from "./RemittanceSendPreviewRequest";
12
12
  export * from "./RemittanceSendPreviewResponse";
13
+ export * from "./RemittancePayRequest";
14
+ export * from "./RemittancePayResponse";
13
15
  export * from "./RemittanceTransaction";
14
16
  export * from "./RemittanceLimitsInfo";
15
17
  export * from "./RemittanceHomeResponse";
@@ -26,6 +26,8 @@ __exportStar(require("./RemittanceQuoteRequest"), exports);
26
26
  __exportStar(require("./RemittanceQuoteResponse"), exports);
27
27
  __exportStar(require("./RemittanceSendPreviewRequest"), exports);
28
28
  __exportStar(require("./RemittanceSendPreviewResponse"), exports);
29
+ __exportStar(require("./RemittancePayRequest"), exports);
30
+ __exportStar(require("./RemittancePayResponse"), exports);
29
31
  __exportStar(require("./RemittanceTransaction"), exports);
30
32
  __exportStar(require("./RemittanceLimitsInfo"), exports);
31
33
  __exportStar(require("./RemittanceHomeResponse"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.48.0",
3
+ "version": "3.50.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -1,12 +1,12 @@
1
- import { Expose } from 'class-transformer';
2
- import { IsNotEmpty, IsOptional, IsString } from 'class-validator';
3
-
4
- export class InitiateAuthRequest {
5
- @Expose() @IsString() @IsNotEmpty() userPoolId!: string;
6
- @Expose() @IsString() @IsNotEmpty() region!: string;
7
- @Expose() @IsString() @IsNotEmpty() clientId!: string;
8
- @Expose() @IsString() @IsNotEmpty() authFlow!: string;
9
- @Expose() @IsString() @IsNotEmpty() username!: string;
10
- // CUSTOM_AUTH initiate NO manda password (ya validado por authVerifyPassword, DEC-AUTH-013).
11
- @Expose() @IsOptional() @IsString() password?: string;
12
- }
1
+ import { Expose } from 'class-transformer';
2
+ import { IsNotEmpty, IsOptional, IsString } from 'class-validator';
3
+
4
+ export class InitiateAuthRequest {
5
+ @Expose() @IsString() @IsNotEmpty() userPoolId!: string;
6
+ @Expose() @IsString() @IsNotEmpty() region!: string;
7
+ @Expose() @IsString() @IsNotEmpty() clientId!: string;
8
+ @Expose() @IsString() @IsNotEmpty() authFlow!: string;
9
+ @Expose() @IsString() @IsNotEmpty() username!: string;
10
+ // CUSTOM_AUTH initiate NO manda password (ya validado por authVerifyPassword, DEC-AUTH-013).
11
+ @Expose() @IsOptional() @IsString() password?: string;
12
+ }
@@ -1,10 +1,10 @@
1
- import { Expose } from 'class-transformer';
2
- import { IsNotEmpty, IsString } from 'class-validator';
3
-
4
- /** Input del POST /auth/introspect: token + datos del pool (el connector es stateless). */
5
- export class IntrospectRequest {
6
- @Expose() @IsString() @IsNotEmpty() token!: string;
7
- @Expose() @IsString() @IsNotEmpty() userPoolId!: string;
8
- @Expose() @IsString() @IsNotEmpty() region!: string;
9
- @Expose() @IsString() @IsNotEmpty() clientId!: string;
10
- }
1
+ import { Expose } from 'class-transformer';
2
+ import { IsNotEmpty, IsString } from 'class-validator';
3
+
4
+ /** Input del POST /auth/introspect: token + datos del pool (el connector es stateless). */
5
+ export class IntrospectRequest {
6
+ @Expose() @IsString() @IsNotEmpty() token!: string;
7
+ @Expose() @IsString() @IsNotEmpty() userPoolId!: string;
8
+ @Expose() @IsString() @IsNotEmpty() region!: string;
9
+ @Expose() @IsString() @IsNotEmpty() clientId!: string;
10
+ }
@@ -1,10 +1,10 @@
1
- import { Expose } from 'class-transformer';
2
- import { IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';
3
- import { IntrospectFailReason } from '../enums/IntrospectFailReason';
4
-
5
- /** Output del POST /auth/introspect: validez + identidad (sub) o reason del fallo. */
6
- export class IntrospectResponse {
7
- @Expose() @IsBoolean() valid!: boolean;
8
- @Expose() @IsOptional() @IsString() cognitoSub?: string;
9
- @Expose() @IsOptional() @IsEnum(IntrospectFailReason) reason?: IntrospectFailReason;
10
- }
1
+ import { Expose } from 'class-transformer';
2
+ import { IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';
3
+ import { IntrospectFailReason } from '../enums/IntrospectFailReason';
4
+
5
+ /** Output del POST /auth/introspect: validez + identidad (sub) o reason del fallo. */
6
+ export class IntrospectResponse {
7
+ @Expose() @IsBoolean() valid!: boolean;
8
+ @Expose() @IsOptional() @IsString() cognitoSub?: string;
9
+ @Expose() @IsOptional() @IsEnum(IntrospectFailReason) reason?: IntrospectFailReason;
10
+ }
@@ -1,15 +1,15 @@
1
- import { Expose } from 'class-transformer';
2
- import { IsNotEmpty, IsString } from 'class-validator';
3
-
4
- /**
5
- * Request de validación de password (DEC-AUTH-012). El connector valida el
6
- * password contra Cognito internamente (hoy ADMIN_USER_PASSWORD_AUTH) y devuelve
7
- * un veredicto. El caller (rbac) NO conoce el mecanismo.
8
- */
9
- export class VerifyPasswordRequest {
10
- @Expose() @IsString() @IsNotEmpty() userPoolId!: string;
11
- @Expose() @IsString() @IsNotEmpty() region!: string;
12
- @Expose() @IsString() @IsNotEmpty() clientId!: string;
13
- @Expose() @IsString() @IsNotEmpty() username!: string;
14
- @Expose() @IsString() @IsNotEmpty() password!: string;
15
- }
1
+ import { Expose } from 'class-transformer';
2
+ import { IsNotEmpty, IsString } from 'class-validator';
3
+
4
+ /**
5
+ * Request de validación de password (DEC-AUTH-012). El connector valida el
6
+ * password contra Cognito internamente (hoy ADMIN_USER_PASSWORD_AUTH) y devuelve
7
+ * un veredicto. El caller (rbac) NO conoce el mecanismo.
8
+ */
9
+ export class VerifyPasswordRequest {
10
+ @Expose() @IsString() @IsNotEmpty() userPoolId!: string;
11
+ @Expose() @IsString() @IsNotEmpty() region!: string;
12
+ @Expose() @IsString() @IsNotEmpty() clientId!: string;
13
+ @Expose() @IsString() @IsNotEmpty() username!: string;
14
+ @Expose() @IsString() @IsNotEmpty() password!: string;
15
+ }
@@ -1,6 +1,6 @@
1
- import { Expose } from 'class-transformer';
2
- import { IsBoolean } from 'class-validator';
3
-
4
- export class VerifyPasswordResponse {
5
- @Expose() @IsBoolean() valid!: boolean;
6
- }
1
+ import { Expose } from 'class-transformer';
2
+ import { IsBoolean } from 'class-validator';
3
+
4
+ export class VerifyPasswordResponse {
5
+ @Expose() @IsBoolean() valid!: boolean;
6
+ }
@@ -1,24 +1,24 @@
1
- /**
2
- * Tipos de Cognito Challenge que el `cognito-backoffice-connector` propaga al
3
- * caller (típicamente el BFF M18 / platform-rbac-business).
4
- *
5
- * `CUSTOM_CHALLENGE` (DEC-AUTH-013): único challengeName que viaja a Cognito en
6
- * el flujo CUSTOM_AUTH. Los sub-tipos `EMAIL_OTP` / `SOFTWARE_TOKEN_MFA` los
7
- * decide el rbac y viajan en `challengeParameters` — Cognito no los conoce en
8
- * custom-auth. Cualquier OTRO challenge fuera de este set (`SMS_MFA`,
9
- * `SELECT_MFA_TYPE`, `DEVICE_SRP_AUTH`, etc.) se mapea a `CognitoUnexpectedError`
10
- * 502 (misconfig del pool).
11
- *
12
- * - `NEW_PASSWORD_REQUIRED` — temp password, debe setear definitiva en primer login.
13
- * - `MFA_SETUP` — debe enrolarse en MFA.
14
- * - `SOFTWARE_TOKEN_MFA` — TOTP nativo enrolado.
15
- * - `EMAIL_OTP` — Email MFA nativo.
16
- * - `CUSTOM_CHALLENGE` — flujo CUSTOM_AUTH orquestado por el rbac.
17
- */
18
- export enum CognitoChallengeType {
19
- NEW_PASSWORD_REQUIRED = 'NEW_PASSWORD_REQUIRED',
20
- MFA_SETUP = 'MFA_SETUP',
21
- SOFTWARE_TOKEN_MFA = 'SOFTWARE_TOKEN_MFA',
22
- EMAIL_OTP = 'EMAIL_OTP',
23
- CUSTOM_CHALLENGE = 'CUSTOM_CHALLENGE',
24
- }
1
+ /**
2
+ * Tipos de Cognito Challenge que el `cognito-backoffice-connector` propaga al
3
+ * caller (típicamente el BFF M18 / platform-rbac-business).
4
+ *
5
+ * `CUSTOM_CHALLENGE` (DEC-AUTH-013): único challengeName que viaja a Cognito en
6
+ * el flujo CUSTOM_AUTH. Los sub-tipos `EMAIL_OTP` / `SOFTWARE_TOKEN_MFA` los
7
+ * decide el rbac y viajan en `challengeParameters` — Cognito no los conoce en
8
+ * custom-auth. Cualquier OTRO challenge fuera de este set (`SMS_MFA`,
9
+ * `SELECT_MFA_TYPE`, `DEVICE_SRP_AUTH`, etc.) se mapea a `CognitoUnexpectedError`
10
+ * 502 (misconfig del pool).
11
+ *
12
+ * - `NEW_PASSWORD_REQUIRED` — temp password, debe setear definitiva en primer login.
13
+ * - `MFA_SETUP` — debe enrolarse en MFA.
14
+ * - `SOFTWARE_TOKEN_MFA` — TOTP nativo enrolado.
15
+ * - `EMAIL_OTP` — Email MFA nativo.
16
+ * - `CUSTOM_CHALLENGE` — flujo CUSTOM_AUTH orquestado por el rbac.
17
+ */
18
+ export enum CognitoChallengeType {
19
+ NEW_PASSWORD_REQUIRED = 'NEW_PASSWORD_REQUIRED',
20
+ MFA_SETUP = 'MFA_SETUP',
21
+ SOFTWARE_TOKEN_MFA = 'SOFTWARE_TOKEN_MFA',
22
+ EMAIL_OTP = 'EMAIL_OTP',
23
+ CUSTOM_CHALLENGE = 'CUSTOM_CHALLENGE',
24
+ }
@@ -1,11 +1,11 @@
1
- /**
2
- * Razón de fallo del POST /auth/introspect del cognito-backoffice-connector.
3
- */
4
- export enum IntrospectFailReason {
5
- INVALID_SIGNATURE = 'INVALID_SIGNATURE',
6
- EXPIRED = 'EXPIRED',
7
- CLIENT_ID_MISMATCH = 'CLIENT_ID_MISMATCH',
8
- TOKEN_USE_MISMATCH = 'TOKEN_USE_MISMATCH',
9
- REVOKED = 'REVOKED',
10
- USER_NOT_FOUND = 'USER_NOT_FOUND',
11
- }
1
+ /**
2
+ * Razón de fallo del POST /auth/introspect del cognito-backoffice-connector.
3
+ */
4
+ export enum IntrospectFailReason {
5
+ INVALID_SIGNATURE = 'INVALID_SIGNATURE',
6
+ EXPIRED = 'EXPIRED',
7
+ CLIENT_ID_MISMATCH = 'CLIENT_ID_MISMATCH',
8
+ TOKEN_USE_MISMATCH = 'TOKEN_USE_MISMATCH',
9
+ REVOKED = 'REVOKED',
10
+ USER_NOT_FOUND = 'USER_NOT_FOUND',
11
+ }