@fiado/type-kit 3.132.0 → 3.134.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cognitoBackofficeConnector/dtos/CreateUserRequest.d.ts +5 -1
- package/bin/cognitoBackofficeConnector/dtos/CreateUserRequest.js +13 -0
- package/bin/cognitoBackofficeConnector/dtos/CreateUserResponse.d.ts +2 -1
- package/bin/remittance/dtos/RemittanceUserLimits.d.ts +34 -0
- package/bin/remittance/dtos/RemittanceUserLimits.js +20 -0
- package/bin/remittance/dtos/index.d.ts +1 -0
- package/bin/remittance/dtos/index.js +1 -0
- package/package.json +1 -1
- package/src/cognitoBackofficeConnector/dtos/CreateUserRequest.ts +17 -2
- package/src/cognitoBackofficeConnector/dtos/CreateUserResponse.ts +2 -1
- package/src/remittance/dtos/RemittanceUserLimits.ts +36 -0
- package/src/remittance/dtos/index.ts +1 -0
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
export declare class CreateUserRequest {
|
|
2
2
|
userPoolId?: string;
|
|
3
3
|
region?: string;
|
|
4
|
-
email
|
|
4
|
+
email?: string;
|
|
5
|
+
/** DEC-RBAC-079: teléfono (E.164) — el primario si el tenant es phone, o el secundario. */
|
|
6
|
+
phone?: string;
|
|
7
|
+
/** DEC-RBAC-079: identificador PRIMARIO del tenant — define el Username de Cognito y cuál atributo se marca verified al alta. Ausente ⇒ 'email'. */
|
|
8
|
+
primaryIdentifier?: 'email' | 'phone';
|
|
5
9
|
displayName?: string;
|
|
6
10
|
tenantId: string;
|
|
7
11
|
temporaryPassword?: string;
|
|
@@ -29,9 +29,22 @@ __decorate([
|
|
|
29
29
|
], CreateUserRequest.prototype, "region", void 0);
|
|
30
30
|
__decorate([
|
|
31
31
|
(0, class_transformer_1.Expose)(),
|
|
32
|
+
(0, class_validator_1.IsOptional)(),
|
|
32
33
|
(0, class_validator_1.IsEmail)(),
|
|
33
34
|
__metadata("design:type", String)
|
|
34
35
|
], CreateUserRequest.prototype, "email", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
(0, class_validator_1.IsOptional)(),
|
|
39
|
+
(0, class_validator_1.Matches)(/^\+\d{10,15}$/, { message: 'phone debe ser E.164 (+<código país><número>)' }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], CreateUserRequest.prototype, "phone", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, class_transformer_1.Expose)(),
|
|
44
|
+
(0, class_validator_1.IsOptional)(),
|
|
45
|
+
(0, class_validator_1.IsIn)(['email', 'phone']),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], CreateUserRequest.prototype, "primaryIdentifier", void 0);
|
|
35
48
|
__decorate([
|
|
36
49
|
(0, class_transformer_1.Expose)(),
|
|
37
50
|
(0, class_validator_1.IsOptional)(),
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CognitoUserStatus } from '../enums/CognitoUserStatus';
|
|
2
2
|
export declare class CreateUserResponse {
|
|
3
3
|
cognitoSub: string;
|
|
4
|
-
|
|
4
|
+
/** DEC-RBAC-079: opcional — un usuario phone-primario puede no tener email. */
|
|
5
|
+
email?: string;
|
|
5
6
|
emailVerified: boolean;
|
|
6
7
|
status: CognitoUserStatus;
|
|
7
8
|
enabled: boolean;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Límites por usuario para el backoffice de Operación (pantalla Límites, read-only).
|
|
3
|
+
*
|
|
4
|
+
* Los LÍMITES los define el provider (UNIR): `UserCreditLimit` (Wlp Wallet daily/weekly
|
|
5
|
+
* + levelName) + `UserComplianceLimit` (ventanas 4/14/30/60/90 d). El **usage** NO lo
|
|
6
|
+
* expone UNIR (txAggregate da 403) → lo calcula el connector sumando las tx no-canceladas
|
|
7
|
+
* por ventana móvil. `limitUSD` es null cuando el provider no envía ese límite (d180, B3).
|
|
8
|
+
*/
|
|
9
|
+
export declare class RemittanceLimitWindow {
|
|
10
|
+
/** Ventana en días: 1 | 4 | 7 | 14 | 30 | 60 | 90 | 180. */
|
|
11
|
+
windowDays: number;
|
|
12
|
+
/** Límite USD del provider; null si UNIR no lo da (p.ej. d180). */
|
|
13
|
+
limitUSD: number | null;
|
|
14
|
+
/** Consumo USD calculado desde nuestras tx (rolling window, no-canceladas). */
|
|
15
|
+
usedUSD: number;
|
|
16
|
+
/** Procedencia del límite: d1/d7 de UserCreditLimit; el resto de UserComplianceLimit. */
|
|
17
|
+
source: "credit" | "compliance";
|
|
18
|
+
}
|
|
19
|
+
export declare class RemittanceUserLimits {
|
|
20
|
+
directoryId: string;
|
|
21
|
+
/** Nivel de UserProfileInfo.remitterLevel (display). null si no se pudo leer. */
|
|
22
|
+
profileLevel: string | null;
|
|
23
|
+
/** Nivel de UserCreditLimit.levelName (el efectivo que enforza el provider). */
|
|
24
|
+
creditLevel: string | null;
|
|
25
|
+
/** profileLevel !== creditLevel (ambos no-null). Bug real del provider; se marca, no se corrige. */
|
|
26
|
+
discrepancy: boolean;
|
|
27
|
+
/** Ventanas con límite (provider) + consumo (calculado). */
|
|
28
|
+
windows: RemittanceLimitWindow[];
|
|
29
|
+
/** ISO — cuándo se trajeron los límites del provider (para el FreshnessBadge). */
|
|
30
|
+
lastSyncedAt: string;
|
|
31
|
+
}
|
|
32
|
+
export declare class RemittanceUserLimitsBatchResponse {
|
|
33
|
+
items: RemittanceUserLimits[];
|
|
34
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemittanceUserLimitsBatchResponse = exports.RemittanceUserLimits = exports.RemittanceLimitWindow = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Límites por usuario para el backoffice de Operación (pantalla Límites, read-only).
|
|
6
|
+
*
|
|
7
|
+
* Los LÍMITES los define el provider (UNIR): `UserCreditLimit` (Wlp Wallet daily/weekly
|
|
8
|
+
* + levelName) + `UserComplianceLimit` (ventanas 4/14/30/60/90 d). El **usage** NO lo
|
|
9
|
+
* expone UNIR (txAggregate da 403) → lo calcula el connector sumando las tx no-canceladas
|
|
10
|
+
* por ventana móvil. `limitUSD` es null cuando el provider no envía ese límite (d180, B3).
|
|
11
|
+
*/
|
|
12
|
+
class RemittanceLimitWindow {
|
|
13
|
+
}
|
|
14
|
+
exports.RemittanceLimitWindow = RemittanceLimitWindow;
|
|
15
|
+
class RemittanceUserLimits {
|
|
16
|
+
}
|
|
17
|
+
exports.RemittanceUserLimits = RemittanceUserLimits;
|
|
18
|
+
class RemittanceUserLimitsBatchResponse {
|
|
19
|
+
}
|
|
20
|
+
exports.RemittanceUserLimitsBatchResponse = RemittanceUserLimitsBatchResponse;
|
|
@@ -50,3 +50,4 @@ __exportStar(require("./RemittanceBackofficeUserDetail"), exports);
|
|
|
50
50
|
__exportStar(require("./RemittanceBackofficeUserListResponse"), exports);
|
|
51
51
|
__exportStar(require("./RemittanceBackofficeTxListResponse"), exports);
|
|
52
52
|
__exportStar(require("./RemittanceBackofficeStats"), exports);
|
|
53
|
+
__exportStar(require("./RemittanceUserLimits"), exports);
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Expose } from 'class-transformer';
|
|
2
|
-
import { IsBoolean, IsEmail, IsNotEmpty, IsOptional, IsString } from 'class-validator';
|
|
2
|
+
import { IsBoolean, IsEmail, IsIn, IsNotEmpty, IsOptional, IsString, Matches } from 'class-validator';
|
|
3
3
|
|
|
4
4
|
export class CreateUserRequest {
|
|
5
5
|
// userPoolId + region son OPCIONALES: el alta de usuario PLATFORM ya no los manda desde el front
|
|
@@ -7,7 +7,22 @@ export class CreateUserRequest {
|
|
|
7
7
|
// en el DTO porque los demás callers del connector SÍ los proveen.
|
|
8
8
|
@Expose() @IsOptional() @IsString() userPoolId?: string;
|
|
9
9
|
@Expose() @IsOptional() @IsString() region?: string;
|
|
10
|
-
|
|
10
|
+
// DEC-RBAC-079: email pasa a OPCIONAL — un tenant phone-primario crea usuarios sin email,
|
|
11
|
+
// y un @IsEmail() requerido rechazaría (400) el undefined. El rbac garantiza que el primario esté.
|
|
12
|
+
@Expose() @IsOptional() @IsEmail() email?: string;
|
|
13
|
+
|
|
14
|
+
/** DEC-RBAC-079: teléfono (E.164) — el primario si el tenant es phone, o el secundario. */
|
|
15
|
+
@Expose()
|
|
16
|
+
@IsOptional()
|
|
17
|
+
@Matches(/^\+\d{10,15}$/, { message: 'phone debe ser E.164 (+<código país><número>)' })
|
|
18
|
+
phone?: string;
|
|
19
|
+
|
|
20
|
+
/** DEC-RBAC-079: identificador PRIMARIO del tenant — define el Username de Cognito y cuál atributo se marca verified al alta. Ausente ⇒ 'email'. */
|
|
21
|
+
@Expose()
|
|
22
|
+
@IsOptional()
|
|
23
|
+
@IsIn(['email', 'phone'])
|
|
24
|
+
primaryIdentifier?: 'email' | 'phone';
|
|
25
|
+
|
|
11
26
|
@Expose() @IsOptional() @IsString() displayName?: string;
|
|
12
27
|
@Expose() @IsString() @IsNotEmpty() tenantId!: string;
|
|
13
28
|
@Expose() @IsOptional() @IsString() temporaryPassword?: string;
|
|
@@ -2,7 +2,8 @@ import { CognitoUserStatus } from '../enums/CognitoUserStatus';
|
|
|
2
2
|
|
|
3
3
|
export class CreateUserResponse {
|
|
4
4
|
cognitoSub!: string;
|
|
5
|
-
email
|
|
5
|
+
/** DEC-RBAC-079: opcional — un usuario phone-primario puede no tener email. */
|
|
6
|
+
email?: string;
|
|
6
7
|
emailVerified!: boolean;
|
|
7
8
|
status!: CognitoUserStatus;
|
|
8
9
|
enabled!: boolean;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Límites por usuario para el backoffice de Operación (pantalla Límites, read-only).
|
|
3
|
+
*
|
|
4
|
+
* Los LÍMITES los define el provider (UNIR): `UserCreditLimit` (Wlp Wallet daily/weekly
|
|
5
|
+
* + levelName) + `UserComplianceLimit` (ventanas 4/14/30/60/90 d). El **usage** NO lo
|
|
6
|
+
* expone UNIR (txAggregate da 403) → lo calcula el connector sumando las tx no-canceladas
|
|
7
|
+
* por ventana móvil. `limitUSD` es null cuando el provider no envía ese límite (d180, B3).
|
|
8
|
+
*/
|
|
9
|
+
export class RemittanceLimitWindow {
|
|
10
|
+
/** Ventana en días: 1 | 4 | 7 | 14 | 30 | 60 | 90 | 180. */
|
|
11
|
+
windowDays!: number;
|
|
12
|
+
/** Límite USD del provider; null si UNIR no lo da (p.ej. d180). */
|
|
13
|
+
limitUSD!: number | null;
|
|
14
|
+
/** Consumo USD calculado desde nuestras tx (rolling window, no-canceladas). */
|
|
15
|
+
usedUSD!: number;
|
|
16
|
+
/** Procedencia del límite: d1/d7 de UserCreditLimit; el resto de UserComplianceLimit. */
|
|
17
|
+
source!: "credit" | "compliance";
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export class RemittanceUserLimits {
|
|
21
|
+
directoryId!: string;
|
|
22
|
+
/** Nivel de UserProfileInfo.remitterLevel (display). null si no se pudo leer. */
|
|
23
|
+
profileLevel!: string | null;
|
|
24
|
+
/** Nivel de UserCreditLimit.levelName (el efectivo que enforza el provider). */
|
|
25
|
+
creditLevel!: string | null;
|
|
26
|
+
/** profileLevel !== creditLevel (ambos no-null). Bug real del provider; se marca, no se corrige. */
|
|
27
|
+
discrepancy!: boolean;
|
|
28
|
+
/** Ventanas con límite (provider) + consumo (calculado). */
|
|
29
|
+
windows!: RemittanceLimitWindow[];
|
|
30
|
+
/** ISO — cuándo se trajeron los límites del provider (para el FreshnessBadge). */
|
|
31
|
+
lastSyncedAt!: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class RemittanceUserLimitsBatchResponse {
|
|
35
|
+
items!: RemittanceUserLimits[];
|
|
36
|
+
}
|