@fiado/type-kit 3.116.0 → 3.117.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/platformRbac/dtos/SelfRegisterCompleteRequest.d.ts +4 -7
- package/bin/platformRbac/dtos/SelfRegisterCompleteRequest.js +3 -15
- package/bin/platformRbac/index.d.ts +0 -1
- package/bin/platformRbac/index.js +0 -1
- package/package.json +1 -1
- package/src/platformRbac/dtos/SelfRegisterCompleteRequest.ts +5 -8
- package/src/platformRbac/index.ts +0 -1
- package/bin/platformRbac/dtos/CompleteMyProfileRequest.d.ts +0 -9
- package/bin/platformRbac/dtos/CompleteMyProfileRequest.js +0 -34
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +0 -6
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +0 -31
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +0 -7
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +0 -6
- package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +0 -11
- package/bin/walletFunding/dtos/CancelFundingRequest.js +0 -33
- package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +0 -14
- package/bin/walletFunding/dtos/CancelFundingResponse.js +0 -12
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +0 -3
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +0 -21
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +0 -7
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +0 -6
- package/src/platformRbac/dtos/CompleteMyProfileRequest.ts +0 -12
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Body del POST /self-register/complete (público, anónimo). DEC-RBAC-033.
|
|
3
3
|
* Consume el `completionToken` del verify-otp (validación condicional atómica server-side, anti
|
|
4
|
-
* doble-complete). La password la elige el usuario y nace permanente (usuario ACTIVE).
|
|
5
|
-
* y `customFields` son opcionales (point 6): si llegan completos, `profileComplete=true` y se saltea
|
|
6
|
-
* el gate post-MFA; si no, el usuario nace `profileComplete=false` con displayName placeholder.
|
|
4
|
+
* doble-complete). La password la elige el usuario y nace permanente (usuario ACTIVE).
|
|
7
5
|
* La password NUNCA se persiste: viaja solo acá, directo a Cognito.
|
|
6
|
+
* DEC-RBAC-046: el autoregistro ya no captura perfil (displayName/customFields). El usuario nace
|
|
7
|
+
* ACTIVE sin paso de perfil; no hay gate post-MFA ni `profileComplete`.
|
|
8
8
|
*/
|
|
9
9
|
export declare class SelfRegisterCompleteRequest {
|
|
10
10
|
tenantId: string;
|
|
11
11
|
email: string;
|
|
12
12
|
completionToken: string;
|
|
13
13
|
password: string;
|
|
14
|
-
displayName?: string;
|
|
15
|
-
customFields?: Record<string, string>;
|
|
16
14
|
}
|
|
17
|
-
/** Respuesta del complete. El usuario nace ACTIVE
|
|
15
|
+
/** Respuesta del complete. El usuario nace ACTIVE. DEC-RBAC-046: sin `profileComplete`. */
|
|
18
16
|
export interface SelfRegisterCompleteResponse {
|
|
19
17
|
cognitoSub: string;
|
|
20
|
-
profileComplete: boolean;
|
|
21
18
|
}
|
|
@@ -15,10 +15,10 @@ const class_validator_1 = require("class-validator");
|
|
|
15
15
|
/**
|
|
16
16
|
* Body del POST /self-register/complete (público, anónimo). DEC-RBAC-033.
|
|
17
17
|
* Consume el `completionToken` del verify-otp (validación condicional atómica server-side, anti
|
|
18
|
-
* doble-complete). La password la elige el usuario y nace permanente (usuario ACTIVE).
|
|
19
|
-
* y `customFields` son opcionales (point 6): si llegan completos, `profileComplete=true` y se saltea
|
|
20
|
-
* el gate post-MFA; si no, el usuario nace `profileComplete=false` con displayName placeholder.
|
|
18
|
+
* doble-complete). La password la elige el usuario y nace permanente (usuario ACTIVE).
|
|
21
19
|
* La password NUNCA se persiste: viaja solo acá, directo a Cognito.
|
|
20
|
+
* DEC-RBAC-046: el autoregistro ya no captura perfil (displayName/customFields). El usuario nace
|
|
21
|
+
* ACTIVE sin paso de perfil; no hay gate post-MFA ni `profileComplete`.
|
|
22
22
|
*/
|
|
23
23
|
class SelfRegisterCompleteRequest {
|
|
24
24
|
}
|
|
@@ -46,15 +46,3 @@ __decorate([
|
|
|
46
46
|
(0, class_validator_1.MinLength)(8),
|
|
47
47
|
__metadata("design:type", String)
|
|
48
48
|
], SelfRegisterCompleteRequest.prototype, "password", void 0);
|
|
49
|
-
__decorate([
|
|
50
|
-
(0, class_transformer_1.Expose)(),
|
|
51
|
-
(0, class_validator_1.IsOptional)(),
|
|
52
|
-
(0, class_validator_1.IsString)(),
|
|
53
|
-
__metadata("design:type", String)
|
|
54
|
-
], SelfRegisterCompleteRequest.prototype, "displayName", void 0);
|
|
55
|
-
__decorate([
|
|
56
|
-
(0, class_transformer_1.Expose)(),
|
|
57
|
-
(0, class_validator_1.IsOptional)(),
|
|
58
|
-
(0, class_validator_1.IsObject)(),
|
|
59
|
-
__metadata("design:type", Object)
|
|
60
|
-
], SelfRegisterCompleteRequest.prototype, "customFields", void 0);
|
|
@@ -42,4 +42,3 @@ export type { CreateApplicationRequest, UpdateApplicationRequest, UpsertApplicat
|
|
|
42
42
|
export * from './dtos/SelfRegisterStartRequest';
|
|
43
43
|
export * from './dtos/SelfRegisterVerifyOtpRequest';
|
|
44
44
|
export * from './dtos/SelfRegisterCompleteRequest';
|
|
45
|
-
export * from './dtos/CompleteMyProfileRequest';
|
|
@@ -92,4 +92,3 @@ __exportStar(require("./enums/PermissionKind"), exports);
|
|
|
92
92
|
__exportStar(require("./dtos/SelfRegisterStartRequest"), exports);
|
|
93
93
|
__exportStar(require("./dtos/SelfRegisterVerifyOtpRequest"), exports);
|
|
94
94
|
__exportStar(require("./dtos/SelfRegisterCompleteRequest"), exports);
|
|
95
|
-
__exportStar(require("./dtos/CompleteMyProfileRequest"), exports);
|
package/package.json
CHANGED
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import { Expose } from 'class-transformer';
|
|
2
|
-
import { IsEmail, IsNotEmpty,
|
|
2
|
+
import { IsEmail, IsNotEmpty, IsString, MinLength } from 'class-validator';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Body del POST /self-register/complete (público, anónimo). DEC-RBAC-033.
|
|
6
6
|
* Consume el `completionToken` del verify-otp (validación condicional atómica server-side, anti
|
|
7
|
-
* doble-complete). La password la elige el usuario y nace permanente (usuario ACTIVE).
|
|
8
|
-
* y `customFields` son opcionales (point 6): si llegan completos, `profileComplete=true` y se saltea
|
|
9
|
-
* el gate post-MFA; si no, el usuario nace `profileComplete=false` con displayName placeholder.
|
|
7
|
+
* doble-complete). La password la elige el usuario y nace permanente (usuario ACTIVE).
|
|
10
8
|
* La password NUNCA se persiste: viaja solo acá, directo a Cognito.
|
|
9
|
+
* DEC-RBAC-046: el autoregistro ya no captura perfil (displayName/customFields). El usuario nace
|
|
10
|
+
* ACTIVE sin paso de perfil; no hay gate post-MFA ni `profileComplete`.
|
|
11
11
|
*/
|
|
12
12
|
export class SelfRegisterCompleteRequest {
|
|
13
13
|
@Expose() @IsString() @IsNotEmpty() tenantId!: string;
|
|
14
14
|
@Expose() @IsEmail() email!: string;
|
|
15
15
|
@Expose() @IsString() @IsNotEmpty() completionToken!: string;
|
|
16
16
|
@Expose() @IsString() @MinLength(8) password!: string;
|
|
17
|
-
@Expose() @IsOptional() @IsString() displayName?: string;
|
|
18
|
-
@Expose() @IsOptional() @IsObject() customFields?: Record<string, string>;
|
|
19
17
|
}
|
|
20
18
|
|
|
21
|
-
/** Respuesta del complete. El usuario nace ACTIVE
|
|
19
|
+
/** Respuesta del complete. El usuario nace ACTIVE. DEC-RBAC-046: sin `profileComplete`. */
|
|
22
20
|
export interface SelfRegisterCompleteResponse {
|
|
23
21
|
cognitoSub: string;
|
|
24
|
-
profileComplete: boolean;
|
|
25
22
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CompleteMyProfileRequest = void 0;
|
|
13
|
-
const class_transformer_1 = require("class-transformer");
|
|
14
|
-
const class_validator_1 = require("class-validator");
|
|
15
|
-
/**
|
|
16
|
-
* Body del PUT /me/profile/complete (autenticado, gate post-MFA del autoregistro). DEC-RBAC-034.
|
|
17
|
-
* Opera sobre el propio usuario (cognitoSub del token). Valida nombre + los `userFieldDefs` requeridos
|
|
18
|
-
* del tenant (422 MISSING_REQUIRED_FIELDS si faltan) y flipea `profileComplete=true`.
|
|
19
|
-
*/
|
|
20
|
-
class CompleteMyProfileRequest {
|
|
21
|
-
}
|
|
22
|
-
exports.CompleteMyProfileRequest = CompleteMyProfileRequest;
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, class_transformer_1.Expose)(),
|
|
25
|
-
(0, class_validator_1.IsString)(),
|
|
26
|
-
(0, class_validator_1.IsNotEmpty)(),
|
|
27
|
-
__metadata("design:type", String)
|
|
28
|
-
], CompleteMyProfileRequest.prototype, "displayName", void 0);
|
|
29
|
-
__decorate([
|
|
30
|
-
(0, class_transformer_1.Expose)(),
|
|
31
|
-
(0, class_validator_1.IsOptional)(),
|
|
32
|
-
(0, class_validator_1.IsObject)(),
|
|
33
|
-
__metadata("design:type", Object)
|
|
34
|
-
], CompleteMyProfileRequest.prototype, "customFields", void 0);
|
|
@@ -1,31 +0,0 @@
|
|
|
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.CancelFundingReferenceRequest = void 0;
|
|
13
|
-
const class_validator_1 = require("class-validator");
|
|
14
|
-
class CancelFundingReferenceRequest {
|
|
15
|
-
}
|
|
16
|
-
exports.CancelFundingReferenceRequest = CancelFundingReferenceRequest;
|
|
17
|
-
__decorate([
|
|
18
|
-
(0, class_validator_1.IsString)(),
|
|
19
|
-
(0, class_validator_1.MaxLength)(64),
|
|
20
|
-
__metadata("design:type", String)
|
|
21
|
-
], CancelFundingReferenceRequest.prototype, "reference", void 0);
|
|
22
|
-
__decorate([
|
|
23
|
-
(0, class_validator_1.IsString)(),
|
|
24
|
-
(0, class_validator_1.MaxLength)(64),
|
|
25
|
-
__metadata("design:type", String)
|
|
26
|
-
], CancelFundingReferenceRequest.prototype, "directoryId", void 0);
|
|
27
|
-
__decorate([
|
|
28
|
-
(0, class_validator_1.IsString)(),
|
|
29
|
-
(0, class_validator_1.MaxLength)(64),
|
|
30
|
-
__metadata("design:type", String)
|
|
31
|
-
], CancelFundingReferenceRequest.prototype, "idempotencyKey", void 0);
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
|
|
2
|
-
import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
|
|
3
|
-
export declare class CancelFundingReferenceResponse {
|
|
4
|
-
reference: string;
|
|
5
|
-
status: BenefitPaymentStatusEnum;
|
|
6
|
-
errorCode?: WalletFundingErrorCodeEnum;
|
|
7
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Request del cancel via Centro de Beneficios (spec 13 v2.0).
|
|
3
|
-
* `reference` viaja en el path, `directoryId` se resuelve del JWT.
|
|
4
|
-
* `providerModuleName` permite al marketplace rutear al publisher correcto
|
|
5
|
-
* sin tener que persistir el mapping (el wallet-app sabe el moduleName
|
|
6
|
-
* porque vino en la respuesta del authorize).
|
|
7
|
-
*/
|
|
8
|
-
export declare class CancelFundingRequest {
|
|
9
|
-
idempotencyKey: string;
|
|
10
|
-
providerModuleName: string;
|
|
11
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
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.CancelFundingRequest = void 0;
|
|
13
|
-
const class_validator_1 = require("class-validator");
|
|
14
|
-
/**
|
|
15
|
-
* Request del cancel via Centro de Beneficios (spec 13 v2.0).
|
|
16
|
-
* `reference` viaja en el path, `directoryId` se resuelve del JWT.
|
|
17
|
-
* `providerModuleName` permite al marketplace rutear al publisher correcto
|
|
18
|
-
* sin tener que persistir el mapping (el wallet-app sabe el moduleName
|
|
19
|
-
* porque vino en la respuesta del authorize).
|
|
20
|
-
*/
|
|
21
|
-
class CancelFundingRequest {
|
|
22
|
-
}
|
|
23
|
-
exports.CancelFundingRequest = CancelFundingRequest;
|
|
24
|
-
__decorate([
|
|
25
|
-
(0, class_validator_1.IsString)(),
|
|
26
|
-
(0, class_validator_1.MaxLength)(64),
|
|
27
|
-
__metadata("design:type", String)
|
|
28
|
-
], CancelFundingRequest.prototype, "idempotencyKey", void 0);
|
|
29
|
-
__decorate([
|
|
30
|
-
(0, class_validator_1.IsString)(),
|
|
31
|
-
(0, class_validator_1.MaxLength)(128),
|
|
32
|
-
__metadata("design:type", String)
|
|
33
|
-
], CancelFundingRequest.prototype, "providerModuleName", void 0);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
|
|
2
|
-
import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
|
|
3
|
-
/**
|
|
4
|
-
* Response del cancel via Centro de Beneficios (spec 13 v2.0).
|
|
5
|
-
* `status` reusa `BenefitPaymentStatusEnum` (APPROVED = cancel aceptado;
|
|
6
|
-
* REJECTED = no se pudo) para consistencia con `CancelFundingReferenceResponse`
|
|
7
|
-
* (marketplace ↔ connector). Idempotente: re-cancelar devuelve APPROVED.
|
|
8
|
-
*/
|
|
9
|
-
export declare class CancelFundingResponse {
|
|
10
|
-
reference: string;
|
|
11
|
-
status: BenefitPaymentStatusEnum;
|
|
12
|
-
errorCode?: WalletFundingErrorCodeEnum;
|
|
13
|
-
message?: string;
|
|
14
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CancelFundingResponse = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Response del cancel via Centro de Beneficios (spec 13 v2.0).
|
|
6
|
-
* `status` reusa `BenefitPaymentStatusEnum` (APPROVED = cancel aceptado;
|
|
7
|
-
* REJECTED = no se pudo) para consistencia con `CancelFundingReferenceResponse`
|
|
8
|
-
* (marketplace ↔ connector). Idempotente: re-cancelar devuelve APPROVED.
|
|
9
|
-
*/
|
|
10
|
-
class CancelFundingResponse {
|
|
11
|
-
}
|
|
12
|
-
exports.CancelFundingResponse = CancelFundingResponse;
|
|
@@ -1,21 +0,0 @@
|
|
|
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.CancelWalletFundingRequest = void 0;
|
|
13
|
-
const class_validator_1 = require("class-validator");
|
|
14
|
-
class CancelWalletFundingRequest {
|
|
15
|
-
}
|
|
16
|
-
exports.CancelWalletFundingRequest = CancelWalletFundingRequest;
|
|
17
|
-
__decorate([
|
|
18
|
-
(0, class_validator_1.IsString)(),
|
|
19
|
-
(0, class_validator_1.MaxLength)(64),
|
|
20
|
-
__metadata("design:type", String)
|
|
21
|
-
], CancelWalletFundingRequest.prototype, "idempotencyKey", void 0);
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { BenefitPaymentStatusEnum } from "../../benefitCenter/enums/BenefitPaymentStatusEnum";
|
|
2
|
-
import { WalletFundingErrorCodeEnum } from "../enums/WalletFundingErrorCodeEnum";
|
|
3
|
-
export declare class CancelWalletFundingResponse {
|
|
4
|
-
status: BenefitPaymentStatusEnum;
|
|
5
|
-
errorCode?: WalletFundingErrorCodeEnum;
|
|
6
|
-
reference?: string;
|
|
7
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Expose } from 'class-transformer';
|
|
2
|
-
import { IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Body del PUT /me/profile/complete (autenticado, gate post-MFA del autoregistro). DEC-RBAC-034.
|
|
6
|
-
* Opera sobre el propio usuario (cognitoSub del token). Valida nombre + los `userFieldDefs` requeridos
|
|
7
|
-
* del tenant (422 MISSING_REQUIRED_FIELDS si faltan) y flipea `profileComplete=true`.
|
|
8
|
-
*/
|
|
9
|
-
export class CompleteMyProfileRequest {
|
|
10
|
-
@Expose() @IsString() @IsNotEmpty() displayName!: string;
|
|
11
|
-
@Expose() @IsOptional() @IsObject() customFields?: Record<string, string>;
|
|
12
|
-
}
|