@fiado/type-kit 3.661.0 → 3.663.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/cognitoBackofficeConnector/dtos/CreatePoolRequest.allowAdminCreateUserOnly.test.ts +37 -0
- package/_test_/unit/cognitoBackofficeConnector/dtos/OtpLoginConnectorDtos.test.ts +90 -0
- package/_test_/unit/common/InputPatterns.test.ts +9 -0
- package/_test_/unit/common/phoneE164Contract.test.ts +29 -0
- package/_test_/unit/loanScoring/evaluateSciRequest.test.ts +2 -2
- package/_test_/unit/messagesConnector/otpLoginContract.test.ts +47 -0
- package/_test_/unit/platformRbac/customerAccountDtos.test.ts +84 -0
- package/_test_/unit/platformRbac/customerPortalContract.test.ts +39 -0
- package/_test_/unit/platformRbac/enums/__snapshots__/permissionBits.test.ts.snap +2 -1
- package/_test_/unit/platformRbac/enums/retailIntegrationPermission.test.ts +3 -4
- package/_test_/unit/platformRbac/loginModeChallengeDtos.test.ts +58 -0
- package/bin/cognitoBackofficeConnector/dtos/AppClientConfig.d.ts +3 -4
- package/bin/cognitoBackofficeConnector/dtos/AppClientConfig.js +7 -4
- package/bin/cognitoBackofficeConnector/dtos/CreatePoolClientResponse.d.ts +1 -1
- package/bin/cognitoBackofficeConnector/dtos/CreatePoolClientResponse.js +1 -1
- package/bin/cognitoBackofficeConnector/dtos/CreatePoolRequest.d.ts +2 -0
- package/bin/cognitoBackofficeConnector/dtos/CreatePoolRequest.js +6 -0
- package/bin/cognitoBackofficeConnector/dtos/CreatePoolResponse.d.ts +1 -7
- package/bin/cognitoBackofficeConnector/dtos/CreatePoolResponse.js +1 -7
- package/bin/cognitoBackofficeConnector/dtos/RefreshTokensRequest.d.ts +2 -0
- package/bin/cognitoBackofficeConnector/dtos/RefreshTokensRequest.js +13 -0
- package/bin/cognitoBackofficeConnector/dtos/RespondToChallengeRequest.d.ts +1 -0
- package/bin/cognitoBackofficeConnector/dtos/RespondToChallengeRequest.js +6 -0
- package/bin/cognitoBackofficeConnector/dtos/StartOtpLoginRequest.d.ts +8 -0
- package/bin/cognitoBackofficeConnector/dtos/StartOtpLoginRequest.js +48 -0
- package/bin/cognitoBackofficeConnector/index.d.ts +1 -0
- package/bin/cognitoBackofficeConnector/index.js +1 -0
- package/bin/common/constants/InputPatterns.d.ts +3 -0
- package/bin/common/constants/InputPatterns.js +4 -1
- package/bin/loanScoring/dtos/requests/EvaluateSciRequest.d.ts +1 -1
- package/bin/loanScoring/dtos/requests/EvaluateSciRequest.js +1 -1
- package/bin/messagesConnector/dtos/OtpLoginStateRequest.d.ts +5 -0
- package/bin/messagesConnector/dtos/OtpLoginStateRequest.js +30 -0
- package/bin/messagesConnector/dtos/OtpLoginStateResponse.d.ts +5 -0
- package/bin/messagesConnector/dtos/OtpLoginStateResponse.js +7 -0
- package/bin/messagesConnector/index.d.ts +2 -0
- package/bin/messagesConnector/index.js +2 -0
- package/bin/platformRbac/application/Application.d.ts +3 -0
- package/bin/platformRbac/auth/DefineNextChallengeResponse.d.ts +2 -0
- package/bin/platformRbac/auth/DefineNextChallengeResponse.js +6 -0
- package/bin/platformRbac/auth/PrepareChallengeRequest.d.ts +3 -0
- package/bin/platformRbac/auth/PrepareChallengeRequest.js +11 -0
- package/bin/platformRbac/dtos/EnsureCustomerAccountRequest.d.ts +8 -0
- package/bin/platformRbac/dtos/EnsureCustomerAccountRequest.js +49 -0
- package/bin/platformRbac/dtos/EnsureCustomerAccountResponse.d.ts +5 -0
- package/bin/platformRbac/dtos/EnsureCustomerAccountResponse.js +2 -0
- package/bin/platformRbac/dtos/OtpLoginRequest.d.ts +5 -0
- package/bin/platformRbac/dtos/OtpLoginRequest.js +30 -0
- package/bin/platformRbac/dtos/UserProfileResponse.d.ts +2 -0
- package/bin/platformRbac/enums/LoginModeEnum.d.ts +4 -0
- package/bin/platformRbac/enums/LoginModeEnum.js +8 -0
- package/bin/platformRbac/enums/Permission.d.ts +2 -1
- package/bin/platformRbac/enums/Permission.js +3 -0
- package/bin/platformRbac/index.d.ts +4 -0
- package/bin/platformRbac/index.js +3 -0
- package/bin/retailCustomer/dtos/requests/UpsertCustomerFromKycRequest.js +2 -1
- package/bin/retailOrg/dtos/requests/LinkRetailUserWalletRequest.js +2 -1
- package/bin/retailOrg/dtos/requests/LookupRetailUserWalletRequest.js +2 -1
- package/bin/retailWizard/dtos/requests/StartSessionRequest.js +2 -2
- package/package.json +1 -1
- package/src/cognitoBackofficeConnector/dtos/AppClientConfig.ts +3 -4
- package/src/cognitoBackofficeConnector/dtos/CreatePoolClientResponse.ts +1 -1
- package/src/cognitoBackofficeConnector/dtos/CreatePoolRequest.ts +4 -1
- package/src/cognitoBackofficeConnector/dtos/CreatePoolResponse.ts +1 -7
- package/src/cognitoBackofficeConnector/dtos/RefreshTokensRequest.ts +4 -1
- package/src/cognitoBackofficeConnector/dtos/RespondToChallengeRequest.ts +2 -1
- package/src/cognitoBackofficeConnector/dtos/StartOtpLoginRequest.ts +11 -0
- package/src/cognitoBackofficeConnector/index.ts +1 -0
- package/src/common/constants/InputPatterns.ts +4 -0
- package/src/loanScoring/dtos/requests/EvaluateSciRequest.ts +3 -3
- package/src/messagesConnector/dtos/OtpLoginStateRequest.ts +8 -0
- package/src/messagesConnector/dtos/OtpLoginStateResponse.ts +5 -0
- package/src/messagesConnector/index.ts +2 -0
- package/src/platformRbac/application/Application.ts +3 -0
- package/src/platformRbac/auth/DefineNextChallengeResponse.ts +5 -0
- package/src/platformRbac/auth/PrepareChallengeRequest.ts +11 -1
- package/src/platformRbac/dtos/EnsureCustomerAccountRequest.ts +12 -0
- package/src/platformRbac/dtos/EnsureCustomerAccountResponse.ts +5 -0
- package/src/platformRbac/dtos/OtpLoginRequest.ts +8 -0
- package/src/platformRbac/dtos/UserProfileResponse.ts +2 -0
- package/src/platformRbac/enums/LoginModeEnum.ts +4 -0
- package/src/platformRbac/enums/Permission.ts +3 -0
- package/src/platformRbac/index.ts +4 -0
- package/src/retailCustomer/dtos/requests/UpsertCustomerFromKycRequest.ts +3 -2
- package/src/retailOrg/dtos/requests/LinkRetailUserWalletRequest.ts +2 -1
- package/src/retailOrg/dtos/requests/LookupRetailUserWalletRequest.ts +2 -1
- package/src/retailWizard/dtos/requests/StartSessionRequest.ts +2 -2
|
@@ -0,0 +1,48 @@
|
|
|
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.StartOtpLoginRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Body de POST /auth/start-otp-login: inicia CUSTOM_AUTH sin SRP ni contraseña. */
|
|
16
|
+
class StartOtpLoginRequest {
|
|
17
|
+
}
|
|
18
|
+
exports.StartOtpLoginRequest = StartOtpLoginRequest;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_validator_1.IsString)(),
|
|
22
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], StartOtpLoginRequest.prototype, "userPoolId", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
(0, class_validator_1.IsString)(),
|
|
28
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], StartOtpLoginRequest.prototype, "region", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], StartOtpLoginRequest.prototype, "clientId", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_transformer_1.Expose)(),
|
|
39
|
+
(0, class_validator_1.IsString)(),
|
|
40
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], StartOtpLoginRequest.prototype, "username", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, class_transformer_1.Expose)(),
|
|
45
|
+
(0, class_validator_1.IsOptional)(),
|
|
46
|
+
(0, class_validator_1.IsBoolean)(),
|
|
47
|
+
__metadata("design:type", Boolean)
|
|
48
|
+
], StartOtpLoginRequest.prototype, "useClientSecret", void 0);
|
|
@@ -23,6 +23,7 @@ export * from './dtos/AuthEventResponse';
|
|
|
23
23
|
export * from './dtos/AuthTokensResponse';
|
|
24
24
|
export * from './dtos/AuthStartLoginRequest';
|
|
25
25
|
export * from './dtos/AuthStartLoginResponse';
|
|
26
|
+
export * from './dtos/StartOtpLoginRequest';
|
|
26
27
|
export * from './dtos/InitiateAuthRequest';
|
|
27
28
|
export * from './dtos/InitiateAuthResponse';
|
|
28
29
|
export * from './dtos/VerifyPasswordRequest';
|
|
@@ -39,6 +39,7 @@ __exportStar(require("./dtos/AuthEventResponse"), exports);
|
|
|
39
39
|
__exportStar(require("./dtos/AuthTokensResponse"), exports);
|
|
40
40
|
__exportStar(require("./dtos/AuthStartLoginRequest"), exports);
|
|
41
41
|
__exportStar(require("./dtos/AuthStartLoginResponse"), exports);
|
|
42
|
+
__exportStar(require("./dtos/StartOtpLoginRequest"), exports);
|
|
42
43
|
__exportStar(require("./dtos/InitiateAuthRequest"), exports);
|
|
43
44
|
__exportStar(require("./dtos/InitiateAuthResponse"), exports);
|
|
44
45
|
__exportStar(require("./dtos/VerifyPasswordRequest"), exports);
|
|
@@ -3,6 +3,9 @@ export declare const PHONE_MX_PATTERN: RegExp;
|
|
|
3
3
|
/** Teléfono MX en el backend: 10 dígitos, opcionalmente con `+52` para clientes que ya lo mandan. */
|
|
4
4
|
export declare const PHONE_MX_ACCEPTED_PATTERN: RegExp;
|
|
5
5
|
export declare const PHONE_MX_MESSAGE = "El tel\u00E9fono debe tener 10 d\u00EDgitos";
|
|
6
|
+
/** Celular guardado en todo SureKeep: `+52` y 10 dígitos. */
|
|
7
|
+
export declare const PHONE_E164_PATTERN: RegExp;
|
|
8
|
+
export declare const PHONE_E164_MESSAGE = "El tel\u00E9fono debe tener el formato +52 y 10 d\u00EDgitos";
|
|
6
9
|
/** Correo pragmático: algo@dominio.tld, sin espacios. */
|
|
7
10
|
export declare const EMAIL_PATTERN: RegExp;
|
|
8
11
|
export declare const EMAIL_MAX_LENGTH = 254;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HTTPS_URL_MESSAGE = exports.HTTPS_URL_PATTERN = exports.IMEI_MESSAGE = exports.IMEI_PATTERN = exports.SKU_MESSAGE = exports.SKU_MAX_LENGTH = exports.SKU_PATTERN = exports.ZIP_CODE_MX_MESSAGE = exports.ZIP_CODE_MX_PATTERN = exports.RFC_MESSAGE = exports.RFC_PATTERN = exports.EMAIL_MESSAGE = exports.EMAIL_MAX_LENGTH = exports.EMAIL_PATTERN = exports.PHONE_MX_MESSAGE = exports.PHONE_MX_ACCEPTED_PATTERN = exports.PHONE_MX_PATTERN = void 0;
|
|
3
|
+
exports.HTTPS_URL_MESSAGE = exports.HTTPS_URL_PATTERN = exports.IMEI_MESSAGE = exports.IMEI_PATTERN = exports.SKU_MESSAGE = exports.SKU_MAX_LENGTH = exports.SKU_PATTERN = exports.ZIP_CODE_MX_MESSAGE = exports.ZIP_CODE_MX_PATTERN = exports.RFC_MESSAGE = exports.RFC_PATTERN = exports.EMAIL_MESSAGE = exports.EMAIL_MAX_LENGTH = exports.EMAIL_PATTERN = exports.PHONE_E164_MESSAGE = exports.PHONE_E164_PATTERN = exports.PHONE_MX_MESSAGE = exports.PHONE_MX_ACCEPTED_PATTERN = exports.PHONE_MX_PATTERN = void 0;
|
|
4
4
|
/** Teléfono MX tal como se teclea en la UI: exactamente 10 dígitos. */
|
|
5
5
|
exports.PHONE_MX_PATTERN = /^\d{10}$/;
|
|
6
6
|
/** Teléfono MX en el backend: 10 dígitos, opcionalmente con `+52` para clientes que ya lo mandan. */
|
|
7
7
|
exports.PHONE_MX_ACCEPTED_PATTERN = /^(?:\+52)?\d{10}$/;
|
|
8
8
|
exports.PHONE_MX_MESSAGE = 'El teléfono debe tener 10 dígitos';
|
|
9
|
+
/** Celular guardado en todo SureKeep: `+52` y 10 dígitos. */
|
|
10
|
+
exports.PHONE_E164_PATTERN = /^\+52\d{10}$/;
|
|
11
|
+
exports.PHONE_E164_MESSAGE = 'El teléfono debe tener el formato +52 y 10 dígitos';
|
|
9
12
|
/** Correo pragmático: algo@dominio.tld, sin espacios. */
|
|
10
13
|
exports.EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
11
14
|
exports.EMAIL_MAX_LENGTH = 254;
|
|
@@ -26,7 +26,7 @@ export declare class EvaluateSciRequest {
|
|
|
26
26
|
* tumbaría la evaluación del wizard. El formato lo revisa loan-scoring antes de consultar (L-177, A).
|
|
27
27
|
*/
|
|
28
28
|
curp: string;
|
|
29
|
-
/** Celular del solicitante: 10 dígitos, sin `+52
|
|
29
|
+
/** Celular del solicitante: 10 dígitos, con o sin `+52`; loan-scoring lo manda a 10 a Modelias. */
|
|
30
30
|
cellphone: string;
|
|
31
31
|
email?: string;
|
|
32
32
|
/**
|
|
@@ -55,7 +55,7 @@ __decorate([
|
|
|
55
55
|
__decorate([
|
|
56
56
|
(0, class_validator_1.IsString)(),
|
|
57
57
|
(0, class_validator_1.IsNotEmpty)(),
|
|
58
|
-
(0, class_validator_1.Matches)(InputPatterns_1.
|
|
58
|
+
(0, class_validator_1.Matches)(InputPatterns_1.PHONE_MX_ACCEPTED_PATTERN, { message: 'cellphone debe tener 10 dígitos, con o sin +52' }),
|
|
59
59
|
__metadata("design:type", String)
|
|
60
60
|
], EvaluateSciRequest.prototype, "cellphone", void 0);
|
|
61
61
|
__decorate([
|
|
@@ -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.OtpLoginStateRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Body de POST /messages/otp/login-state. */
|
|
16
|
+
class OtpLoginStateRequest {
|
|
17
|
+
}
|
|
18
|
+
exports.OtpLoginStateRequest = OtpLoginStateRequest;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_validator_1.IsString)(),
|
|
22
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], OtpLoginStateRequest.prototype, "directoryId", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
(0, class_validator_1.IsString)(),
|
|
28
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], OtpLoginStateRequest.prototype, "typeOfDirectoryId", void 0);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OtpLoginStateResponse = void 0;
|
|
4
|
+
/** Respuesta de POST /messages/otp/login-state. `lockedUntil` va en epoch ms. */
|
|
5
|
+
class OtpLoginStateResponse {
|
|
6
|
+
}
|
|
7
|
+
exports.OtpLoginStateResponse = OtpLoginStateResponse;
|
|
@@ -10,6 +10,8 @@ export * from './dtos/AgentSendNotificationRequest';
|
|
|
10
10
|
export * from './dtos/SendMessageResponse';
|
|
11
11
|
export * from './dtos/VerifyOtpRequest';
|
|
12
12
|
export * from './dtos/VerifyOtpResponse';
|
|
13
|
+
export * from './dtos/OtpLoginStateRequest';
|
|
14
|
+
export * from './dtos/OtpLoginStateResponse';
|
|
13
15
|
export * from './dtos/OtpValidatedResponse';
|
|
14
16
|
export * from './dtos/NotificationResponse';
|
|
15
17
|
export * from './dtos/NotificationsPageResponse';
|
|
@@ -26,6 +26,8 @@ __exportStar(require("./dtos/AgentSendNotificationRequest"), exports);
|
|
|
26
26
|
__exportStar(require("./dtos/SendMessageResponse"), exports);
|
|
27
27
|
__exportStar(require("./dtos/VerifyOtpRequest"), exports);
|
|
28
28
|
__exportStar(require("./dtos/VerifyOtpResponse"), exports);
|
|
29
|
+
__exportStar(require("./dtos/OtpLoginStateRequest"), exports);
|
|
30
|
+
__exportStar(require("./dtos/OtpLoginStateResponse"), exports);
|
|
29
31
|
__exportStar(require("./dtos/OtpValidatedResponse"), exports);
|
|
30
32
|
__exportStar(require("./dtos/NotificationResponse"), exports);
|
|
31
33
|
__exportStar(require("./dtos/NotificationsPageResponse"), exports);
|
|
@@ -3,6 +3,7 @@ import { PrincipalIdentifierEnum } from '../enums/PrincipalIdentifierEnum';
|
|
|
3
3
|
import { ApplicationStatus } from '../enums/ApplicationStatus';
|
|
4
4
|
import type { UserFieldDef } from '../dtos/UserFieldDef';
|
|
5
5
|
import type { TokenValidationMode } from '../enums/TokenValidationMode';
|
|
6
|
+
import type { LoginModeEnum } from '../enums/LoginModeEnum';
|
|
6
7
|
export interface LevelDef {
|
|
7
8
|
level: PermissionScope;
|
|
8
9
|
displayName: string;
|
|
@@ -44,6 +45,8 @@ export interface ApplicationDefaults {
|
|
|
44
45
|
* UsernameAttributes del pool): true ⇒ pool con ['email','phone_number']. Heredado al tenant.
|
|
45
46
|
*/
|
|
46
47
|
allowSecondary?: boolean;
|
|
48
|
+
/** Modo de login que heredan los tenants de esta aplicación; sin valor entran con contraseña. */
|
|
49
|
+
loginMode?: LoginModeEnum | null;
|
|
47
50
|
/**
|
|
48
51
|
* DEC-RBAC-111: política de contraseña que heredan los tenants creados desde esta aplicación.
|
|
49
52
|
*
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ChallengeNameEnum } from '../enums/ChallengeNameEnum';
|
|
2
|
+
import { LoginModeEnum } from '../enums/LoginModeEnum';
|
|
2
3
|
export declare class DefineNextChallengeResponse {
|
|
3
4
|
nextChallenge?: ChallengeNameEnum;
|
|
4
5
|
issueTokens: boolean;
|
|
5
6
|
failAuthentication: boolean;
|
|
7
|
+
loginMode?: LoginModeEnum;
|
|
6
8
|
}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.DefineNextChallengeResponse = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const ChallengeNameEnum_1 = require("../enums/ChallengeNameEnum");
|
|
15
|
+
const LoginModeEnum_1 = require("../enums/LoginModeEnum");
|
|
15
16
|
class DefineNextChallengeResponse {
|
|
16
17
|
}
|
|
17
18
|
exports.DefineNextChallengeResponse = DefineNextChallengeResponse;
|
|
@@ -28,3 +29,8 @@ __decorate([
|
|
|
28
29
|
(0, class_validator_1.IsBoolean)(),
|
|
29
30
|
__metadata("design:type", Boolean)
|
|
30
31
|
], DefineNextChallengeResponse.prototype, "failAuthentication", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_validator_1.IsOptional)(),
|
|
34
|
+
(0, class_validator_1.IsEnum)(LoginModeEnum_1.LoginModeEnum),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], DefineNextChallengeResponse.prototype, "loginMode", void 0);
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { ChallengeNameEnum } from '../enums/ChallengeNameEnum';
|
|
2
|
+
import { LoginModeEnum } from '../enums/LoginModeEnum';
|
|
2
3
|
export declare class PrepareChallengeRequest {
|
|
3
4
|
cognitoSub: string;
|
|
4
5
|
challengeName: ChallengeNameEnum;
|
|
5
6
|
email?: string;
|
|
6
7
|
phone?: string;
|
|
8
|
+
loginMode?: LoginModeEnum;
|
|
9
|
+
isRetry?: boolean;
|
|
7
10
|
}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.PrepareChallengeRequest = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const ChallengeNameEnum_1 = require("../enums/ChallengeNameEnum");
|
|
15
|
+
const LoginModeEnum_1 = require("../enums/LoginModeEnum");
|
|
15
16
|
class PrepareChallengeRequest {
|
|
16
17
|
}
|
|
17
18
|
exports.PrepareChallengeRequest = PrepareChallengeRequest;
|
|
@@ -33,3 +34,13 @@ __decorate([
|
|
|
33
34
|
(0, class_validator_1.IsString)(),
|
|
34
35
|
__metadata("design:type", String)
|
|
35
36
|
], PrepareChallengeRequest.prototype, "phone", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_validator_1.IsOptional)(),
|
|
39
|
+
(0, class_validator_1.IsEnum)(LoginModeEnum_1.LoginModeEnum),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], PrepareChallengeRequest.prototype, "loginMode", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, class_validator_1.IsOptional)(),
|
|
44
|
+
(0, class_validator_1.IsBoolean)(),
|
|
45
|
+
__metadata("design:type", Boolean)
|
|
46
|
+
], PrepareChallengeRequest.prototype, "isRetry", void 0);
|
|
@@ -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.EnsureCustomerAccountRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const InputPatterns_1 = require("../../common/constants/InputPatterns");
|
|
16
|
+
/** Body de POST /internal/tenants/{tenantId}/customer-accounts. */
|
|
17
|
+
class EnsureCustomerAccountRequest {
|
|
18
|
+
}
|
|
19
|
+
exports.EnsureCustomerAccountRequest = EnsureCustomerAccountRequest;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
22
|
+
(0, class_validator_1.IsString)(),
|
|
23
|
+
(0, class_validator_1.Matches)(InputPatterns_1.PHONE_E164_PATTERN),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], EnsureCustomerAccountRequest.prototype, "phone", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], EnsureCustomerAccountRequest.prototype, "retailCustomerId", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
34
|
+
(0, class_validator_1.IsString)(),
|
|
35
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], EnsureCustomerAccountRequest.prototype, "directoryId", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, class_transformer_1.Expose)(),
|
|
40
|
+
(0, class_validator_1.IsString)(),
|
|
41
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], EnsureCustomerAccountRequest.prototype, "displayName", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, class_transformer_1.Expose)(),
|
|
46
|
+
(0, class_validator_1.IsString)(),
|
|
47
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], EnsureCustomerAccountRequest.prototype, "createdBy", void 0);
|
|
@@ -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.OtpLoginRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Body de POST /auth/otp-login. */
|
|
16
|
+
class OtpLoginRequest {
|
|
17
|
+
}
|
|
18
|
+
exports.OtpLoginRequest = OtpLoginRequest;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_validator_1.IsString)(),
|
|
22
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], OtpLoginRequest.prototype, "phone", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
(0, class_validator_1.IsString)(),
|
|
28
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], OtpLoginRequest.prototype, "tenantId", void 0);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoginModeEnum = void 0;
|
|
4
|
+
/** Modo de login de un tenant. Sin valor, el tenant entra con contraseña. */
|
|
5
|
+
var LoginModeEnum;
|
|
6
|
+
(function (LoginModeEnum) {
|
|
7
|
+
LoginModeEnum["OTP_ONLY"] = "OTP_ONLY";
|
|
8
|
+
})(LoginModeEnum || (exports.LoginModeEnum = LoginModeEnum = {}));
|
|
@@ -121,7 +121,8 @@ export declare enum Permission {
|
|
|
121
121
|
PLATFORM_INTEGRATION_KEY_REVOKE = "platform.integration.key.revoke",
|
|
122
122
|
TENANT_INTEGRATION_DIAGNOSTIC = "tenant.integration.diagnostic",
|
|
123
123
|
TENANT_API_USER_MANAGE = "tenant.api_user.manage",
|
|
124
|
-
PLATFORM_RETAIL_INTEGRATION_ACTIVATE = "platform.retail_integration.activate"
|
|
124
|
+
PLATFORM_RETAIL_INTEGRATION_ACTIVATE = "platform.retail_integration.activate",
|
|
125
|
+
CUSTOMER_PORTAL_READ = "customer.portal.read"
|
|
125
126
|
}
|
|
126
127
|
/**
|
|
127
128
|
* Orden CANÓNICO y APPEND-ONLY de los permisos para el bitset del token.
|
|
@@ -168,6 +168,8 @@ var Permission;
|
|
|
168
168
|
Permission["TENANT_API_USER_MANAGE"] = "tenant.api_user.manage";
|
|
169
169
|
// Activa la integración de un retailer externo (Zentral); scope PLATFORM.
|
|
170
170
|
Permission["PLATFORM_RETAIL_INTEGRATION_ACTIVATE"] = "platform.retail_integration.activate";
|
|
171
|
+
// Lectura del portal del cliente.
|
|
172
|
+
Permission["CUSTOMER_PORTAL_READ"] = "customer.portal.read";
|
|
171
173
|
})(Permission || (exports.Permission = Permission = {}));
|
|
172
174
|
/**
|
|
173
175
|
* Orden CANÓNICO y APPEND-ONLY de los permisos para el bitset del token.
|
|
@@ -289,6 +291,7 @@ exports.PERMISSION_BIT_ORDER = [
|
|
|
289
291
|
Permission.TENANT_INTEGRATION_DIAGNOSTIC,
|
|
290
292
|
Permission.TENANT_API_USER_MANAGE,
|
|
291
293
|
Permission.PLATFORM_RETAIL_INTEGRATION_ACTIVATE,
|
|
294
|
+
Permission.CUSTOMER_PORTAL_READ,
|
|
292
295
|
];
|
|
293
296
|
function djb2(input) {
|
|
294
297
|
let h = 5381;
|
|
@@ -11,6 +11,7 @@ export type { EffectivePermissionsResponse } from './dtos/EffectivePermissionsRe
|
|
|
11
11
|
export * from './enums/MfaMethodEnum';
|
|
12
12
|
export * from './enums/TokenValidationMode';
|
|
13
13
|
export * from './enums/ChallengeNameEnum';
|
|
14
|
+
export * from './enums/LoginModeEnum';
|
|
14
15
|
export * from './auth/DefineNextChallengeRequest';
|
|
15
16
|
export * from './auth/DefineNextChallengeResponse';
|
|
16
17
|
export * from './auth/PrepareChallengeRequest';
|
|
@@ -51,6 +52,9 @@ export type { CreateApplicationRequest, UpdateApplicationRequest, UpsertApplicat
|
|
|
51
52
|
export type { RoleScopeRecompute, InconsistentAssignment, CascadeTenantFailure, CascadeReport, UpdateApplicationPermissionResponse, RoleSeedDiff, RoleCascadeChange, RoleCascadeReport, } from './application/cascade';
|
|
52
53
|
export * from './dtos/SelfRegisterStartRequest';
|
|
53
54
|
export * from './dtos/SelfRegisterVerifyOtpRequest';
|
|
55
|
+
export * from './dtos/EnsureCustomerAccountRequest';
|
|
56
|
+
export type { EnsureCustomerAccountResponse } from './dtos/EnsureCustomerAccountResponse';
|
|
57
|
+
export * from './dtos/OtpLoginRequest';
|
|
54
58
|
export * from './dtos/SelfRegisterCompleteRequest';
|
|
55
59
|
export * from './dtos/CreateLevelEntityRequest';
|
|
56
60
|
export type { CreateLevelEntityResponse } from './dtos/CreateLevelEntityResponse';
|
|
@@ -48,6 +48,7 @@ Object.defineProperty(exports, "AccountType", { enumerable: true, get: function
|
|
|
48
48
|
__exportStar(require("./enums/MfaMethodEnum"), exports);
|
|
49
49
|
__exportStar(require("./enums/TokenValidationMode"), exports);
|
|
50
50
|
__exportStar(require("./enums/ChallengeNameEnum"), exports);
|
|
51
|
+
__exportStar(require("./enums/LoginModeEnum"), exports);
|
|
51
52
|
__exportStar(require("./auth/DefineNextChallengeRequest"), exports);
|
|
52
53
|
__exportStar(require("./auth/DefineNextChallengeResponse"), exports);
|
|
53
54
|
__exportStar(require("./auth/PrepareChallengeRequest"), exports);
|
|
@@ -107,6 +108,8 @@ __exportStar(require("./enums/PermissionKind"), exports);
|
|
|
107
108
|
// plain (type-only). Consumidos por los endpoints públicos de platform-rbac-business + el gate de perfil.
|
|
108
109
|
__exportStar(require("./dtos/SelfRegisterStartRequest"), exports);
|
|
109
110
|
__exportStar(require("./dtos/SelfRegisterVerifyOtpRequest"), exports);
|
|
111
|
+
__exportStar(require("./dtos/EnsureCustomerAccountRequest"), exports);
|
|
112
|
+
__exportStar(require("./dtos/OtpLoginRequest"), exports);
|
|
110
113
|
__exportStar(require("./dtos/SelfRegisterCompleteRequest"), exports);
|
|
111
114
|
// Endpoints privados de espejo de jerarquía + alta de usuario (SureKeep F1, scope mirror).
|
|
112
115
|
// Request DTOs llevan decoradores class-validator → export de valor (se hidratan con plainToInstance);
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.UpsertCustomerFromKycRequest = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const InputPatterns_1 = require("../../../common/constants/InputPatterns");
|
|
15
16
|
const regex_1 = require("../../../helpers/constans/regex");
|
|
16
17
|
const RetailAddress_1 = require("../RetailAddress");
|
|
17
18
|
const KycMethodEnum_1 = require("../../enums/KycMethodEnum");
|
|
@@ -56,7 +57,7 @@ __decorate([
|
|
|
56
57
|
(0, class_transformer_1.Expose)(),
|
|
57
58
|
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'string' ? value.replace(/[\s-]/g, '') : value)),
|
|
58
59
|
(0, class_validator_1.IsString)(),
|
|
59
|
-
(0, class_validator_1.Matches)(
|
|
60
|
+
(0, class_validator_1.Matches)(InputPatterns_1.PHONE_MX_ACCEPTED_PATTERN, { message: 'phone debe ser 10 dígitos MX, con o sin +52' }),
|
|
60
61
|
__metadata("design:type", String)
|
|
61
62
|
], UpsertCustomerFromKycRequest.prototype, "phone", void 0);
|
|
62
63
|
__decorate([
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.LinkRetailUserWalletRequest = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const InputPatterns_1 = require("../../../common/constants/InputPatterns");
|
|
15
16
|
const IsSingleWalletKeyConstraint_1 = require("../../validators/IsSingleWalletKeyConstraint");
|
|
16
17
|
/**
|
|
17
18
|
* Body de `PUT /retailers/{retailerId}/users/{retailUserId}/wallet`: vincula la wallet PCF del
|
|
@@ -32,6 +33,6 @@ __decorate([
|
|
|
32
33
|
(0, class_transformer_1.Expose)(),
|
|
33
34
|
(0, class_validator_1.IsOptional)(),
|
|
34
35
|
(0, class_validator_1.IsString)({ message: 'phone debe ser texto' }),
|
|
35
|
-
(0, class_validator_1.Matches)(
|
|
36
|
+
(0, class_validator_1.Matches)(InputPatterns_1.PHONE_MX_ACCEPTED_PATTERN, { message: 'phone debe tener 10 dígitos, con o sin +52' }),
|
|
36
37
|
__metadata("design:type", String)
|
|
37
38
|
], LinkRetailUserWalletRequest.prototype, "phone", void 0);
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.LookupRetailUserWalletRequest = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
const InputPatterns_1 = require("../../../common/constants/InputPatterns");
|
|
15
16
|
const IsSingleWalletKeyConstraint_1 = require("../../validators/IsSingleWalletKeyConstraint");
|
|
16
17
|
/**
|
|
17
18
|
* Body de `POST /retailers/{retailerId}/users/wallet-lookup`: busca una wallet PCF por CLABE o por
|
|
@@ -32,6 +33,6 @@ __decorate([
|
|
|
32
33
|
(0, class_transformer_1.Expose)(),
|
|
33
34
|
(0, class_validator_1.IsOptional)(),
|
|
34
35
|
(0, class_validator_1.IsString)({ message: 'phone debe ser texto' }),
|
|
35
|
-
(0, class_validator_1.Matches)(
|
|
36
|
+
(0, class_validator_1.Matches)(InputPatterns_1.PHONE_MX_ACCEPTED_PATTERN, { message: 'phone debe tener 10 dígitos, con o sin +52' }),
|
|
36
37
|
__metadata("design:type", String)
|
|
37
38
|
], LookupRetailUserWalletRequest.prototype, "phone", void 0);
|
|
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.StartSessionRequest = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
-
const
|
|
15
|
+
const InputPatterns_1 = require("../../../common/constants/InputPatterns");
|
|
16
16
|
/**
|
|
17
17
|
* POST /wizard/sessions — arranca (o reanuda) la saga del wizard para un teléfono.
|
|
18
18
|
* `retailerId`/`storeId`/`sellerRetailUserId` NO viajan en el body: se derivan del JWT del vendedor.
|
|
@@ -24,7 +24,7 @@ exports.StartSessionRequest = StartSessionRequest;
|
|
|
24
24
|
__decorate([
|
|
25
25
|
(0, class_transformer_1.Expose)(),
|
|
26
26
|
(0, class_validator_1.IsString)(),
|
|
27
|
-
(0, class_validator_1.Matches)(
|
|
27
|
+
(0, class_validator_1.Matches)(InputPatterns_1.PHONE_MX_ACCEPTED_PATTERN, { message: 'phone debe ser un teléfono MX de 10 dígitos, con o sin +52' }),
|
|
28
28
|
__metadata("design:type", String)
|
|
29
29
|
], StartSessionRequest.prototype, "phone", void 0);
|
|
30
30
|
__decorate([
|
package/package.json
CHANGED
|
@@ -14,10 +14,7 @@ export const COGNITO_EXPLICIT_AUTH_FLOWS: readonly string[] = [
|
|
|
14
14
|
/** Unidades de vigencia de token; el conector aplica una sola a los tres tokens. */
|
|
15
15
|
export const COGNITO_TOKEN_VALIDITY_UNITS: readonly string[] = ['seconds', 'minutes', 'hours', 'days'];
|
|
16
16
|
|
|
17
|
-
/**
|
|
18
|
-
* Config de un app client (el del pool nuevo de POST /pools o uno extra de POST /pools/{id}/clients).
|
|
19
|
-
* Sin `generateSecret`: el conector fija GenerateSecret false (A21).
|
|
20
|
-
*/
|
|
17
|
+
/** Config de un app client (el del pool nuevo de POST /pools o uno extra de POST /pools/{id}/clients). */
|
|
21
18
|
export class AppClientConfig {
|
|
22
19
|
@Expose() @IsOptional() @IsString() clientName?: string;
|
|
23
20
|
@Expose() @IsArray() @IsIn(COGNITO_EXPLICIT_AUTH_FLOWS, { each: true }) explicitAuthFlows!: string[];
|
|
@@ -29,4 +26,6 @@ export class AppClientConfig {
|
|
|
29
26
|
@Expose() @IsOptional() @IsBoolean() enableTokenRevocation?: boolean;
|
|
30
27
|
/** Atributos que el usuario puede escribir con su propio token. Ausente ⇒ todos (default de Cognito). */
|
|
31
28
|
@Expose() @IsOptional() @IsArray() @IsString({ each: true }) writeAttributes?: string[];
|
|
29
|
+
/** Crea el client con secreto. Ausente ⇒ sin secreto. */
|
|
30
|
+
@Expose() @IsOptional() @IsBoolean() generateSecret?: boolean;
|
|
32
31
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Expose, Type } from 'class-transformer';
|
|
2
|
-
import { IsArray, IsIn, IsOptional, IsString, ValidateNested } from 'class-validator';
|
|
2
|
+
import { IsArray, IsBoolean, IsIn, IsOptional, IsString, ValidateNested } from 'class-validator';
|
|
3
3
|
import { PasswordPolicyConfig } from './PasswordPolicyConfig';
|
|
4
4
|
import { CustomAttributeSpec } from './CustomAttributeSpec';
|
|
5
5
|
import { AppClientConfig } from './AppClientConfig';
|
|
@@ -38,4 +38,7 @@ export class CreatePoolRequest {
|
|
|
38
38
|
@IsArray()
|
|
39
39
|
@IsIn(['email', 'phone_number'], { each: true })
|
|
40
40
|
usernameAttributes?: Array<'email' | 'phone_number'>;
|
|
41
|
+
|
|
42
|
+
/** Solo un administrador puede crear usuarios en el pool. Ausente ⇒ default de Cognito. */
|
|
43
|
+
@Expose() @IsOptional() @IsBoolean() allowAdminCreateUserOnly?: boolean;
|
|
41
44
|
}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Response del endpoint POST /pools (pivote v1.4.1 stateless).
|
|
3
|
-
*
|
|
4
|
-
* NO expone `clientSecret` — el SDK Cognito no lo devuelve cuando
|
|
5
|
-
* `GenerateSecret: false` (BFF pattern A21). Si aparece consumer B2B/M2M
|
|
6
|
-
* que requiera client secret, evaluar con líder + bump major del connector.
|
|
7
|
-
*/
|
|
1
|
+
/** Respuesta de POST /pools. Nunca expone el secreto del app client. */
|
|
8
2
|
export class CreatePoolResponse {
|
|
9
3
|
userPoolId!: string;
|
|
10
4
|
userPoolArn!: string;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Expose } from 'class-transformer';
|
|
2
|
-
import { IsNotEmpty, IsString } from 'class-validator';
|
|
2
|
+
import { IsBoolean, IsNotEmpty, IsOptional, IsString } from 'class-validator';
|
|
3
3
|
|
|
4
4
|
export class RefreshTokensRequest {
|
|
5
5
|
@Expose() @IsString() @IsNotEmpty() userPoolId!: string;
|
|
6
6
|
@Expose() @IsString() @IsNotEmpty() region!: string;
|
|
7
7
|
@Expose() @IsString() @IsNotEmpty() clientId!: string;
|
|
8
8
|
@Expose() @IsString() @IsNotEmpty() refreshToken!: string;
|
|
9
|
+
// Username de Cognito; hace falta para el SECRET_HASH.
|
|
10
|
+
@Expose() @IsOptional() @IsString() @IsNotEmpty() username?: string;
|
|
11
|
+
@Expose() @IsOptional() @IsBoolean() useClientSecret?: boolean;
|
|
9
12
|
}
|