@fiado/type-kit 3.87.0 → 3.89.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/platformRbac/enums/__snapshots__/permissionBits.test.ts.snap +2 -1
- package/bin/index.d.ts +1 -0
- package/bin/index.js +4 -1
- package/bin/networkConnector/dtos/AssignLeadToGroupRequest.d.ts +3 -0
- package/bin/{credit/dtos/internal/DocumentSignRequest.js → networkConnector/dtos/AssignLeadToGroupRequest.js} +6 -5
- package/bin/networkConnector/dtos/CreateLeadGroupRequest.d.ts +5 -0
- package/bin/{credit/dtos/EarlyPaymentRequest.js → networkConnector/dtos/CreateLeadGroupRequest.js} +17 -18
- package/bin/networkConnector/dtos/CreateProfileRequest.d.ts +12 -0
- package/bin/{cognitoConnector/dtos/SignUpBackofficeRequest.js → networkConnector/dtos/CreateProfileRequest.js} +44 -33
- package/bin/networkConnector/dtos/DeletePhotoResponse.d.ts +4 -0
- package/bin/networkConnector/dtos/DeleteProfileResponse.d.ts +4 -0
- package/bin/networkConnector/dtos/GetPhotoUploadUrlRequest.d.ts +5 -0
- package/bin/{credit/dtos/CreditRequestCreate.js → networkConnector/dtos/GetPhotoUploadUrlRequest.js} +11 -8
- package/bin/networkConnector/dtos/LeadGroupResponse.d.ts +8 -0
- package/bin/networkConnector/dtos/LeadGroupResponse.js +2 -0
- package/bin/networkConnector/dtos/LeadResponse.d.ts +16 -0
- package/bin/networkConnector/dtos/LeadResponse.js +2 -0
- package/bin/networkConnector/dtos/ListLeadGroupsResponse.d.ts +5 -0
- package/bin/networkConnector/dtos/ListLeadGroupsResponse.js +2 -0
- package/bin/networkConnector/dtos/ListLeadsResponse.d.ts +5 -0
- package/bin/networkConnector/dtos/ListLeadsResponse.js +2 -0
- package/bin/networkConnector/dtos/ListProfilesResponse.d.ts +5 -0
- package/bin/networkConnector/dtos/ListProfilesResponse.js +2 -0
- package/bin/networkConnector/dtos/PhotoUploadUrlResponse.d.ts +5 -0
- package/bin/networkConnector/dtos/PhotoUploadUrlResponse.js +2 -0
- package/bin/networkConnector/dtos/ProfileResponse.d.ts +18 -0
- package/bin/networkConnector/dtos/ProfileResponse.js +2 -0
- package/bin/networkConnector/dtos/SaveLeadRequest.d.ts +9 -0
- package/bin/{credit/dtos/internal/CreditTransferLoancoRequest.js → networkConnector/dtos/SaveLeadRequest.js} +30 -19
- package/bin/networkConnector/dtos/SaveLeadResponse.d.ts +5 -0
- package/bin/networkConnector/dtos/SaveLeadResponse.js +2 -0
- package/bin/networkConnector/dtos/UpdateLeadGroupRequest.d.ts +4 -0
- package/bin/{credit/dtos/internal/CreditReversalRequest.js → networkConnector/dtos/UpdateLeadGroupRequest.js} +13 -12
- package/bin/networkConnector/dtos/UpdateProfileRequest.d.ts +13 -0
- package/bin/networkConnector/dtos/UpdateProfileRequest.js +87 -0
- package/bin/networkConnector/enums/LeadSourceEnum.d.ts +6 -0
- package/bin/networkConnector/enums/LeadSourceEnum.js +10 -0
- package/bin/networkConnector/enums/LeadStatusEnum.d.ts +6 -0
- package/bin/networkConnector/enums/LeadStatusEnum.js +10 -0
- package/bin/networkConnector/enums/PhotoContentType.d.ts +5 -0
- package/bin/networkConnector/enums/PhotoContentType.js +9 -0
- package/bin/networkConnector/enums/ProfileStatusEnum.d.ts +5 -0
- package/bin/networkConnector/enums/ProfileStatusEnum.js +9 -0
- package/bin/networkConnector/index.d.ts +21 -0
- package/bin/networkConnector/index.js +42 -0
- package/bin/platformRbac/dtos/AuthContext.d.ts +6 -0
- package/bin/platformRbac/dtos/CreateUserFieldRequest.d.ts +10 -0
- package/bin/platformRbac/dtos/CreateUserFieldRequest.js +54 -0
- package/bin/platformRbac/dtos/InjectableUserAttributesResponse.d.ts +5 -0
- package/bin/platformRbac/dtos/InjectableUserAttributesResponse.js +2 -0
- package/bin/platformRbac/dtos/UpdateUserFieldRequest.d.ts +8 -0
- package/bin/platformRbac/dtos/UpdateUserFieldRequest.js +51 -0
- package/bin/platformRbac/dtos/UserFieldDef.d.ts +19 -0
- package/bin/platformRbac/dtos/UserFieldDef.js +2 -0
- package/bin/platformRbac/enums/Permission.d.ts +1 -0
- package/bin/platformRbac/enums/Permission.js +5 -0
- package/bin/platformRbac/enums/UserFieldType.d.ts +5 -0
- package/bin/platformRbac/enums/UserFieldType.js +9 -0
- package/bin/platformRbac/index.d.ts +5 -0
- package/bin/platformRbac/index.js +9 -1
- package/package.json +1 -1
- package/src/index.ts +3 -0
- package/src/networkConnector/dtos/AssignLeadToGroupRequest.ts +6 -0
- package/src/networkConnector/dtos/CreateLeadGroupRequest.ts +8 -0
- package/src/networkConnector/dtos/CreateProfileRequest.ts +15 -0
- package/src/networkConnector/dtos/DeletePhotoResponse.ts +4 -0
- package/src/networkConnector/dtos/DeleteProfileResponse.ts +4 -0
- package/src/networkConnector/dtos/GetPhotoUploadUrlRequest.ts +8 -0
- package/src/networkConnector/dtos/LeadGroupResponse.ts +8 -0
- package/src/networkConnector/dtos/LeadResponse.ts +17 -0
- package/src/networkConnector/dtos/ListLeadGroupsResponse.ts +6 -0
- package/src/networkConnector/dtos/ListLeadsResponse.ts +6 -0
- package/src/networkConnector/dtos/ListProfilesResponse.ts +6 -0
- package/src/networkConnector/dtos/PhotoUploadUrlResponse.ts +5 -0
- package/src/networkConnector/dtos/ProfileResponse.ts +19 -0
- package/src/networkConnector/dtos/SaveLeadRequest.ts +12 -0
- package/src/networkConnector/dtos/SaveLeadResponse.ts +5 -0
- package/src/networkConnector/dtos/UpdateLeadGroupRequest.ts +7 -0
- package/src/networkConnector/dtos/UpdateProfileRequest.ts +16 -0
- package/src/networkConnector/enums/LeadSourceEnum.ts +6 -0
- package/src/networkConnector/enums/LeadStatusEnum.ts +6 -0
- package/src/networkConnector/enums/PhotoContentType.ts +5 -0
- package/src/networkConnector/enums/ProfileStatusEnum.ts +5 -0
- package/src/networkConnector/index.ts +30 -0
- package/src/platformRbac/dtos/AuthContext.ts +6 -0
- package/src/platformRbac/dtos/CreateUserFieldRequest.ts +13 -0
- package/src/platformRbac/dtos/InjectableUserAttributesResponse.ts +5 -0
- package/src/platformRbac/dtos/UpdateUserFieldRequest.ts +11 -0
- package/src/platformRbac/dtos/UserFieldDef.ts +20 -0
- package/src/platformRbac/enums/Permission.ts +5 -0
- package/src/platformRbac/enums/UserFieldType.ts +5 -0
- package/src/platformRbac/index.ts +11 -0
- package/bin/benefitCenter/dtos/BackofficeLeafOverrideUpsertRequest.d.ts +0 -22
- package/bin/benefitCenter/dtos/BackofficeLeafOverrideUpsertRequest.js +0 -91
- package/bin/benefitCenter/dtos/FieldOverrideRequest.d.ts +0 -19
- package/bin/benefitCenter/dtos/FieldOverrideRequest.js +0 -80
- package/bin/benefitCenter/dtos/InputSchemaOverrideRequest.d.ts +0 -9
- package/bin/benefitCenter/dtos/InputSchemaOverrideRequest.js +0 -29
- package/bin/benefitCenter/enums/LeafOverrideStatusEnum.d.ts +0 -10
- package/bin/benefitCenter/enums/LeafOverrideStatusEnum.js +0 -14
- package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.d.ts +0 -7
- package/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.js +0 -36
- package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.d.ts +0 -17
- package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.js +0 -39
- package/bin/cognitoConnector/dtos/SignUpBackofficeRequest.d.ts +0 -13
- package/bin/comission-business/dtos/GenerateReportRequest.d.ts +0 -10
- package/bin/comission-business/dtos/GenerateReportResponse.d.ts +0 -6
- package/bin/comission-business/enums/PaymentStatusEnum.d.ts +0 -5
- package/bin/comission-business/enums/PaymentStatusEnum.js +0 -9
- package/bin/credit/dtos/CreditBannerStateResponse.d.ts +0 -10
- package/bin/credit/dtos/CreditBannerStateResponse.js +0 -6
- package/bin/credit/dtos/CreditDetailResponse.d.ts +0 -23
- package/bin/credit/dtos/CreditDetailResponse.js +0 -6
- package/bin/credit/dtos/CreditEligibilityResponse.d.ts +0 -9
- package/bin/credit/dtos/CreditEligibilityResponse.js +0 -6
- package/bin/credit/dtos/CreditMovementResponse.d.ts +0 -20
- package/bin/credit/dtos/CreditMovementResponse.js +0 -9
- package/bin/credit/dtos/CreditRequestCreate.d.ts +0 -4
- package/bin/credit/dtos/CreditRequestResponse.d.ts +0 -7
- package/bin/credit/dtos/CreditRequestResponse.js +0 -6
- package/bin/credit/dtos/CreditScheduleResponse.d.ts +0 -18
- package/bin/credit/dtos/CreditScheduleResponse.js +0 -9
- package/bin/credit/dtos/CreditStatementResponse.d.ts +0 -11
- package/bin/credit/dtos/CreditStatementResponse.js +0 -9
- package/bin/credit/dtos/EarlyPaymentRequest.d.ts +0 -7
- package/bin/credit/dtos/EarlyPaymentResponse.d.ts +0 -11
- package/bin/credit/dtos/EarlyPaymentResponse.js +0 -6
- package/bin/credit/dtos/internal/CreditBalanceRequest.d.ts +0 -3
- package/bin/credit/dtos/internal/CreditBalanceRequest.js +0 -21
- package/bin/credit/dtos/internal/CreditCollectionRequest.d.ts +0 -11
- package/bin/credit/dtos/internal/CreditCollectionRequest.js +0 -59
- package/bin/credit/dtos/internal/CreditCollectionResponse.d.ts +0 -12
- package/bin/credit/dtos/internal/CreditCollectionResponse.js +0 -6
- package/bin/credit/dtos/internal/CreditDisbursementRequest.d.ts +0 -7
- package/bin/credit/dtos/internal/CreditDisbursementRequest.js +0 -43
- package/bin/credit/dtos/internal/CreditDisbursementResponse.d.ts +0 -8
- package/bin/credit/dtos/internal/CreditDisbursementResponse.js +0 -6
- package/bin/credit/dtos/internal/CreditProfileRequest.d.ts +0 -3
- package/bin/credit/dtos/internal/CreditProfileRequest.js +0 -23
- package/bin/credit/dtos/internal/CreditReversalRequest.d.ts +0 -5
- package/bin/credit/dtos/internal/CreditReversalResponse.d.ts +0 -7
- package/bin/credit/dtos/internal/CreditReversalResponse.js +0 -6
- package/bin/credit/dtos/internal/CreditTransferLoancoRequest.d.ts +0 -8
- package/bin/credit/dtos/internal/CreditTransferLoancoResponse.d.ts +0 -8
- package/bin/credit/dtos/internal/CreditTransferLoancoResponse.js +0 -6
- package/bin/credit/dtos/internal/DocumentSignRequest.d.ts +0 -3
- package/bin/credit/dtos/internal/LienApplyRequest.d.ts +0 -7
- package/bin/credit/dtos/internal/LienApplyRequest.js +0 -45
- package/bin/credit/enums/CollectionFrequencyEnum.d.ts +0 -5
- package/bin/credit/enums/CollectionFrequencyEnum.js +0 -9
- package/bin/credit/enums/CreditOperationEnum.d.ts +0 -11
- package/bin/credit/enums/CreditOperationEnum.js +0 -15
- package/bin/credit/enums/CreditStatusEnum.d.ts +0 -12
- package/bin/credit/enums/CreditStatusEnum.js +0 -16
- package/bin/credit/enums/DelinquencyLevelEnum.d.ts +0 -9
- package/bin/credit/enums/DelinquencyLevelEnum.js +0 -13
- package/bin/credit/enums/DocumentTypeEnum.d.ts +0 -8
- package/bin/credit/enums/DocumentTypeEnum.js +0 -12
- package/bin/credit/enums/OfferStatusEnum.d.ts +0 -8
- package/bin/credit/enums/OfferStatusEnum.js +0 -12
- package/bin/credit/enums/PaymentTypeEnum.d.ts +0 -9
- package/bin/credit/enums/PaymentTypeEnum.js +0 -13
- package/bin/credit/enums/ReconciliationStatusEnum.d.ts +0 -6
- package/bin/credit/enums/ReconciliationStatusEnum.js +0 -10
- package/bin/credit/enums/TransferStatusEnum.d.ts +0 -8
- package/bin/credit/enums/TransferStatusEnum.js +0 -12
- /package/bin/{comission-business/dtos/GenerateReportRequest.js → networkConnector/dtos/DeletePhotoResponse.js} +0 -0
- /package/bin/{comission-business/dtos/GenerateReportResponse.js → networkConnector/dtos/DeleteProfileResponse.js} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LeadSourceEnum = void 0;
|
|
4
|
+
var LeadSourceEnum;
|
|
5
|
+
(function (LeadSourceEnum) {
|
|
6
|
+
LeadSourceEnum["QR_SCAN"] = "QR_SCAN";
|
|
7
|
+
LeadSourceEnum["DIRECT_LINK"] = "DIRECT_LINK";
|
|
8
|
+
LeadSourceEnum["SHARED_CONTACT"] = "SHARED_CONTACT";
|
|
9
|
+
LeadSourceEnum["WALLET_PASS"] = "WALLET_PASS";
|
|
10
|
+
})(LeadSourceEnum || (exports.LeadSourceEnum = LeadSourceEnum = {}));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LeadStatusEnum = void 0;
|
|
4
|
+
var LeadStatusEnum;
|
|
5
|
+
(function (LeadStatusEnum) {
|
|
6
|
+
LeadStatusEnum["NEW"] = "NEW";
|
|
7
|
+
LeadStatusEnum["CONTACTED"] = "CONTACTED";
|
|
8
|
+
LeadStatusEnum["CONVERTED"] = "CONVERTED";
|
|
9
|
+
LeadStatusEnum["ARCHIVED"] = "ARCHIVED";
|
|
10
|
+
})(LeadStatusEnum || (exports.LeadStatusEnum = LeadStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PhotoContentType = void 0;
|
|
4
|
+
var PhotoContentType;
|
|
5
|
+
(function (PhotoContentType) {
|
|
6
|
+
PhotoContentType["JPEG"] = "image/jpeg";
|
|
7
|
+
PhotoContentType["PNG"] = "image/png";
|
|
8
|
+
PhotoContentType["WEBP"] = "image/webp";
|
|
9
|
+
})(PhotoContentType || (exports.PhotoContentType = PhotoContentType = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProfileStatusEnum = void 0;
|
|
4
|
+
var ProfileStatusEnum;
|
|
5
|
+
(function (ProfileStatusEnum) {
|
|
6
|
+
ProfileStatusEnum["ACTIVE"] = "ACTIVE";
|
|
7
|
+
ProfileStatusEnum["INACTIVE"] = "INACTIVE";
|
|
8
|
+
ProfileStatusEnum["DRAFT"] = "DRAFT";
|
|
9
|
+
})(ProfileStatusEnum || (exports.ProfileStatusEnum = ProfileStatusEnum = {}));
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from './enums/ProfileStatusEnum';
|
|
2
|
+
export * from './enums/LeadSourceEnum';
|
|
3
|
+
export * from './enums/LeadStatusEnum';
|
|
4
|
+
export * from './enums/PhotoContentType';
|
|
5
|
+
export * from './dtos/CreateProfileRequest';
|
|
6
|
+
export * from './dtos/UpdateProfileRequest';
|
|
7
|
+
export * from './dtos/ProfileResponse';
|
|
8
|
+
export * from './dtos/ListProfilesResponse';
|
|
9
|
+
export * from './dtos/DeleteProfileResponse';
|
|
10
|
+
export * from './dtos/SaveLeadRequest';
|
|
11
|
+
export * from './dtos/SaveLeadResponse';
|
|
12
|
+
export * from './dtos/LeadResponse';
|
|
13
|
+
export * from './dtos/ListLeadsResponse';
|
|
14
|
+
export * from './dtos/CreateLeadGroupRequest';
|
|
15
|
+
export * from './dtos/UpdateLeadGroupRequest';
|
|
16
|
+
export * from './dtos/AssignLeadToGroupRequest';
|
|
17
|
+
export * from './dtos/LeadGroupResponse';
|
|
18
|
+
export * from './dtos/ListLeadGroupsResponse';
|
|
19
|
+
export * from './dtos/GetPhotoUploadUrlRequest';
|
|
20
|
+
export * from './dtos/PhotoUploadUrlResponse';
|
|
21
|
+
export * from './dtos/DeletePhotoResponse';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// Enums
|
|
18
|
+
__exportStar(require("./enums/ProfileStatusEnum"), exports);
|
|
19
|
+
__exportStar(require("./enums/LeadSourceEnum"), exports);
|
|
20
|
+
__exportStar(require("./enums/LeadStatusEnum"), exports);
|
|
21
|
+
__exportStar(require("./enums/PhotoContentType"), exports);
|
|
22
|
+
// Profile DTOs
|
|
23
|
+
__exportStar(require("./dtos/CreateProfileRequest"), exports);
|
|
24
|
+
__exportStar(require("./dtos/UpdateProfileRequest"), exports);
|
|
25
|
+
__exportStar(require("./dtos/ProfileResponse"), exports);
|
|
26
|
+
__exportStar(require("./dtos/ListProfilesResponse"), exports);
|
|
27
|
+
__exportStar(require("./dtos/DeleteProfileResponse"), exports);
|
|
28
|
+
// Lead DTOs
|
|
29
|
+
__exportStar(require("./dtos/SaveLeadRequest"), exports);
|
|
30
|
+
__exportStar(require("./dtos/SaveLeadResponse"), exports);
|
|
31
|
+
__exportStar(require("./dtos/LeadResponse"), exports);
|
|
32
|
+
__exportStar(require("./dtos/ListLeadsResponse"), exports);
|
|
33
|
+
// Lead Group DTOs
|
|
34
|
+
__exportStar(require("./dtos/CreateLeadGroupRequest"), exports);
|
|
35
|
+
__exportStar(require("./dtos/UpdateLeadGroupRequest"), exports);
|
|
36
|
+
__exportStar(require("./dtos/AssignLeadToGroupRequest"), exports);
|
|
37
|
+
__exportStar(require("./dtos/LeadGroupResponse"), exports);
|
|
38
|
+
__exportStar(require("./dtos/ListLeadGroupsResponse"), exports);
|
|
39
|
+
// Photo DTOs
|
|
40
|
+
__exportStar(require("./dtos/GetPhotoUploadUrlRequest"), exports);
|
|
41
|
+
__exportStar(require("./dtos/PhotoUploadUrlResponse"), exports);
|
|
42
|
+
__exportStar(require("./dtos/DeletePhotoResponse"), exports);
|
|
@@ -24,4 +24,10 @@ export interface AuthContext {
|
|
|
24
24
|
permVer?: number;
|
|
25
25
|
/** @deprecated DEC-RBAC-008: epoch de permisos. El authorizer ya no lo chequea. */
|
|
26
26
|
permsEpoch?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Metadata de negocio por-usuario inyectada por jwt-inyector (campos personalizados del tenant
|
|
29
|
+
* marcados injectToToken). NO es autorización: NUNCA usar en un guard/decisión de acceso (DEC-RBAC-020).
|
|
30
|
+
* El gateway-adapter (buildAuthContextFromToken) parsea el claim JSON a este objeto.
|
|
31
|
+
*/
|
|
32
|
+
customAttributes?: Record<string, string>;
|
|
27
33
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UserFieldType } from '../enums/UserFieldType';
|
|
2
|
+
/** Body del POST /backoffice/tenants/{tenantId}/user-fields. La validación de `options` por `type` (no vacío si select) la hace el manager. */
|
|
3
|
+
export declare class CreateUserFieldRequest {
|
|
4
|
+
key: string;
|
|
5
|
+
label: string;
|
|
6
|
+
type: UserFieldType;
|
|
7
|
+
options?: string[];
|
|
8
|
+
required: boolean;
|
|
9
|
+
injectToToken: boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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.CreateUserFieldRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const UserFieldType_1 = require("../enums/UserFieldType");
|
|
16
|
+
/** Body del POST /backoffice/tenants/{tenantId}/user-fields. La validación de `options` por `type` (no vacío si select) la hace el manager. */
|
|
17
|
+
class CreateUserFieldRequest {
|
|
18
|
+
}
|
|
19
|
+
exports.CreateUserFieldRequest = CreateUserFieldRequest;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
22
|
+
(0, class_validator_1.IsString)(),
|
|
23
|
+
(0, class_validator_1.Matches)(/^[a-z][a-zA-Z0-9_]*$/, { message: 'key debe ser slug ^[a-z][a-zA-Z0-9_]*$' }),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], CreateUserFieldRequest.prototype, "key", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
(0, class_validator_1.MaxLength)(80),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], CreateUserFieldRequest.prototype, "label", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
34
|
+
(0, class_validator_1.IsEnum)(UserFieldType_1.UserFieldType),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], CreateUserFieldRequest.prototype, "type", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, class_transformer_1.Expose)(),
|
|
39
|
+
(0, class_validator_1.IsOptional)(),
|
|
40
|
+
(0, class_validator_1.IsArray)(),
|
|
41
|
+
(0, class_validator_1.ArrayNotEmpty)(),
|
|
42
|
+
(0, class_validator_1.IsString)({ each: true }),
|
|
43
|
+
__metadata("design:type", Array)
|
|
44
|
+
], CreateUserFieldRequest.prototype, "options", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, class_transformer_1.Expose)(),
|
|
47
|
+
(0, class_validator_1.IsBoolean)(),
|
|
48
|
+
__metadata("design:type", Boolean)
|
|
49
|
+
], CreateUserFieldRequest.prototype, "required", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, class_transformer_1.Expose)(),
|
|
52
|
+
(0, class_validator_1.IsBoolean)(),
|
|
53
|
+
__metadata("design:type", Boolean)
|
|
54
|
+
], CreateUserFieldRequest.prototype, "injectToToken", void 0);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Respuesta del GET /internal/users/{cognitoSub}/injectable-attributes (consumida por jwt-inyector). */
|
|
2
|
+
export interface InjectableUserAttributesResponse {
|
|
3
|
+
/** Solo los campos injectToToken && enabled del tenant que tengan valor en el usuario. */
|
|
4
|
+
customAttributes: Record<string, string>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Body del PATCH /backoffice/tenants/{tenantId}/user-fields/{key}. `key` y `type` NO son editables (inmutables, DEC-RBAC-016). */
|
|
2
|
+
export declare class UpdateUserFieldRequest {
|
|
3
|
+
label?: string;
|
|
4
|
+
options?: string[];
|
|
5
|
+
required?: boolean;
|
|
6
|
+
injectToToken?: boolean;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
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.UpdateUserFieldRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
/** Body del PATCH /backoffice/tenants/{tenantId}/user-fields/{key}. `key` y `type` NO son editables (inmutables, DEC-RBAC-016). */
|
|
16
|
+
class UpdateUserFieldRequest {
|
|
17
|
+
}
|
|
18
|
+
exports.UpdateUserFieldRequest = UpdateUserFieldRequest;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_validator_1.IsOptional)(),
|
|
22
|
+
(0, class_validator_1.IsString)(),
|
|
23
|
+
(0, class_validator_1.MaxLength)(80),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], UpdateUserFieldRequest.prototype, "label", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
(0, class_validator_1.IsOptional)(),
|
|
29
|
+
(0, class_validator_1.IsArray)(),
|
|
30
|
+
(0, class_validator_1.ArrayNotEmpty)(),
|
|
31
|
+
(0, class_validator_1.IsString)({ each: true }),
|
|
32
|
+
__metadata("design:type", Array)
|
|
33
|
+
], UpdateUserFieldRequest.prototype, "options", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_transformer_1.Expose)(),
|
|
36
|
+
(0, class_validator_1.IsOptional)(),
|
|
37
|
+
(0, class_validator_1.IsBoolean)(),
|
|
38
|
+
__metadata("design:type", Boolean)
|
|
39
|
+
], UpdateUserFieldRequest.prototype, "required", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_transformer_1.Expose)(),
|
|
42
|
+
(0, class_validator_1.IsOptional)(),
|
|
43
|
+
(0, class_validator_1.IsBoolean)(),
|
|
44
|
+
__metadata("design:type", Boolean)
|
|
45
|
+
], UpdateUserFieldRequest.prototype, "injectToToken", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, class_transformer_1.Expose)(),
|
|
48
|
+
(0, class_validator_1.IsOptional)(),
|
|
49
|
+
(0, class_validator_1.IsBoolean)(),
|
|
50
|
+
__metadata("design:type", Boolean)
|
|
51
|
+
], UpdateUserFieldRequest.prototype, "enabled", void 0);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { UserFieldType } from '../enums/UserFieldType';
|
|
2
|
+
/**
|
|
3
|
+
* Definición de un campo personalizado de usuario, embebida en PlatformTenantConfig.userFieldDefs.
|
|
4
|
+
* El `key` es inmutable (clave en el map de valores y en el claim). `enabled:false` = soft-disable.
|
|
5
|
+
* Timestamps inline: los setea el manager a mano (Dynamoose no mantiene sub-objetos inline). DEC-RBAC-016.
|
|
6
|
+
*/
|
|
7
|
+
export interface UserFieldDef {
|
|
8
|
+
key: string;
|
|
9
|
+
label: string;
|
|
10
|
+
type: UserFieldType;
|
|
11
|
+
options?: string[];
|
|
12
|
+
required: boolean;
|
|
13
|
+
injectToToken: boolean;
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
createdAt: number;
|
|
16
|
+
updatedAt: number;
|
|
17
|
+
createdBy: string;
|
|
18
|
+
updatedBy: string;
|
|
19
|
+
}
|
|
@@ -51,6 +51,7 @@ export declare enum Permission {
|
|
|
51
51
|
PLATFORM_ROLE_UPDATE = "platform.role.update",
|
|
52
52
|
PLATFORM_ROLE_DELETE = "platform.role.delete",
|
|
53
53
|
PLATFORM_AUDIT_VIEW = "platform.audit.view",
|
|
54
|
+
PLATFORM_TENANT_USERFIELDS_MANAGE = "platform.tenant.userfields.manage",
|
|
54
55
|
TENANT_USER_CREATE = "tenant.user.create",
|
|
55
56
|
TENANT_USER_CREATE_LATERAL = "tenant.user.create.lateral",
|
|
56
57
|
TENANT_USER_READ = "tenant.user.read",
|
|
@@ -63,6 +63,7 @@ var Permission;
|
|
|
63
63
|
Permission["PLATFORM_ROLE_UPDATE"] = "platform.role.update";
|
|
64
64
|
Permission["PLATFORM_ROLE_DELETE"] = "platform.role.delete";
|
|
65
65
|
Permission["PLATFORM_AUDIT_VIEW"] = "platform.audit.view";
|
|
66
|
+
Permission["PLATFORM_TENANT_USERFIELDS_MANAGE"] = "platform.tenant.userfields.manage";
|
|
66
67
|
// ====================================================
|
|
67
68
|
// TENANT — operaciones dentro del silo de un tenant
|
|
68
69
|
// ====================================================
|
|
@@ -321,6 +322,10 @@ exports.PERMISSION_BIT_ORDER = [
|
|
|
321
322
|
// Append-only: nuevo permiso agregado 2026-06-18 (DEC-A2-02). Va al FINAL para no correr los bits
|
|
322
323
|
// existentes (PERMS_VERSION cambia, pero los índices previos se conservan).
|
|
323
324
|
Permission.AGENTS_PERSON_CREATE,
|
|
325
|
+
// Append-only 2026-06-18 (DEC-RBAC-017): catálogo de campos personalizados por tenant. Al FINAL para
|
|
326
|
+
// no correr bits existentes. (El bitset está deprecado por token-flaco, pero el orden se mantiene
|
|
327
|
+
// sincronizado con el enum para que el test de bits no rompa.)
|
|
328
|
+
Permission.PLATFORM_TENANT_USERFIELDS_MANAGE,
|
|
324
329
|
];
|
|
325
330
|
function djb2(input) {
|
|
326
331
|
let h = 5381;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserFieldType = void 0;
|
|
4
|
+
/** Tipo de un campo personalizado de usuario. text = texto libre; select = lista cerrada de opciones. */
|
|
5
|
+
var UserFieldType;
|
|
6
|
+
(function (UserFieldType) {
|
|
7
|
+
UserFieldType["TEXT"] = "text";
|
|
8
|
+
UserFieldType["SELECT"] = "select";
|
|
9
|
+
})(UserFieldType || (exports.UserFieldType = UserFieldType = {}));
|
|
@@ -29,3 +29,8 @@ export type { CreateTenantResponse } from './dtos/CreateTenantResponse';
|
|
|
29
29
|
export * from './dtos/UpdateTenantSecurityPolicyRequest';
|
|
30
30
|
export type { TenantSecurityPolicyResponse } from './dtos/TenantSecurityPolicyResponse';
|
|
31
31
|
export { TenantType, TENANT_TYPES, levelsOf, tableSuffixForLevel, scopeRankOrder } from './tenantTypes';
|
|
32
|
+
export { UserFieldType } from './enums/UserFieldType';
|
|
33
|
+
export type { UserFieldDef } from './dtos/UserFieldDef';
|
|
34
|
+
export * from './dtos/CreateUserFieldRequest';
|
|
35
|
+
export * from './dtos/UpdateUserFieldRequest';
|
|
36
|
+
export type { InjectableUserAttributesResponse } from './dtos/InjectableUserAttributesResponse';
|
|
@@ -23,7 +23,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
23
23
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.scopeRankOrder = exports.tableSuffixForLevel = exports.levelsOf = exports.TENANT_TYPES = exports.TenantType = exports.AuthorizeDenyReason = exports.PermissionCategory = exports.PermissionScope = exports.bitsToPermissions = exports.permissionsToBits = exports.PERMS_VERSION = exports.PERMISSION_BIT_ORDER = exports.Permission = void 0;
|
|
26
|
+
exports.UserFieldType = exports.scopeRankOrder = exports.tableSuffixForLevel = exports.levelsOf = exports.TENANT_TYPES = exports.TenantType = exports.AuthorizeDenyReason = exports.PermissionCategory = exports.PermissionScope = exports.bitsToPermissions = exports.permissionsToBits = exports.PERMS_VERSION = exports.PERMISSION_BIT_ORDER = exports.Permission = void 0;
|
|
27
27
|
var Permission_1 = require("./enums/Permission");
|
|
28
28
|
Object.defineProperty(exports, "Permission", { enumerable: true, get: function () { return Permission_1.Permission; } });
|
|
29
29
|
Object.defineProperty(exports, "PERMISSION_BIT_ORDER", { enumerable: true, get: function () { return Permission_1.PERMISSION_BIT_ORDER; } });
|
|
@@ -73,3 +73,11 @@ Object.defineProperty(exports, "TENANT_TYPES", { enumerable: true, get: function
|
|
|
73
73
|
Object.defineProperty(exports, "levelsOf", { enumerable: true, get: function () { return tenantTypes_1.levelsOf; } });
|
|
74
74
|
Object.defineProperty(exports, "tableSuffixForLevel", { enumerable: true, get: function () { return tenantTypes_1.tableSuffixForLevel; } });
|
|
75
75
|
Object.defineProperty(exports, "scopeRankOrder", { enumerable: true, get: function () { return tenantTypes_1.scopeRankOrder; } });
|
|
76
|
+
// Campos personalizados de usuario por tenant — embebidos en PlatformTenantConfig.userFieldDefs.
|
|
77
|
+
// UserFieldType es enum (export de valor); UserFieldDef es interface plain (type-only).
|
|
78
|
+
var UserFieldType_1 = require("./enums/UserFieldType");
|
|
79
|
+
Object.defineProperty(exports, "UserFieldType", { enumerable: true, get: function () { return UserFieldType_1.UserFieldType; } });
|
|
80
|
+
// DTOs de endpoints user-fields. Create/Update Request llevan decoradores class-validator → export de valor.
|
|
81
|
+
// InjectableUserAttributesResponse es interface plain (consumida por jwt-inyector) → type-only.
|
|
82
|
+
__exportStar(require("./dtos/CreateUserFieldRequest"), exports);
|
|
83
|
+
__exportStar(require("./dtos/UpdateUserFieldRequest"), exports);
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -85,5 +85,8 @@ export * as PlatformRbac from './platformRbac';
|
|
|
85
85
|
export * as Remittance from './remittance';
|
|
86
86
|
export * as WalletFunding from './walletFunding';
|
|
87
87
|
export * as TotpSecurity from './totpSecurity';
|
|
88
|
+
// NetworkConnector: módulo del lambda fiado-network-business (Access Card / Digital Business Card).
|
|
89
|
+
// Contiene DTOs y enums para perfiles, leads, lead groups y fotos.
|
|
90
|
+
export * as NetworkConnector from './networkConnector';
|
|
88
91
|
export * from './messaging';
|
|
89
92
|
export * from './complaint';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsString, IsOptional, MaxLength, MinLength } from 'class-validator';
|
|
3
|
+
|
|
4
|
+
export class CreateLeadGroupRequest {
|
|
5
|
+
@Expose() @IsString() @MinLength(1) @MaxLength(100) name!: string;
|
|
6
|
+
@Expose() @IsOptional() @IsString() @MaxLength(500) description?: string;
|
|
7
|
+
@Expose() @IsString() profileId!: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsString, IsOptional, IsObject, MaxLength, MinLength } from 'class-validator';
|
|
3
|
+
|
|
4
|
+
export class CreateProfileRequest {
|
|
5
|
+
@Expose() @IsString() @MinLength(1) @MaxLength(100) firstName!: string;
|
|
6
|
+
@Expose() @IsString() @MinLength(1) @MaxLength(100) lastName!: string;
|
|
7
|
+
@Expose() @IsString() @MinLength(1) @MaxLength(200) title!: string;
|
|
8
|
+
@Expose() @IsString() @MinLength(1) @MaxLength(200) company!: string;
|
|
9
|
+
@Expose() @IsString() @MinLength(2) @MaxLength(100) slug!: string;
|
|
10
|
+
@Expose() @IsString() directoryId!: string;
|
|
11
|
+
@Expose() @IsOptional() @IsString() phone?: string;
|
|
12
|
+
@Expose() @IsOptional() @IsString() email?: string;
|
|
13
|
+
@Expose() @IsOptional() @IsString() @MaxLength(500) bio?: string;
|
|
14
|
+
@Expose() @IsOptional() @IsObject() socialLinks?: Record<string, string>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsString, IsOptional, IsEnum } from 'class-validator';
|
|
3
|
+
import { PhotoContentType } from '../enums/PhotoContentType';
|
|
4
|
+
|
|
5
|
+
export class GetPhotoUploadUrlRequest {
|
|
6
|
+
@Expose() @IsString() profileId!: string;
|
|
7
|
+
@Expose() @IsOptional() @IsEnum(PhotoContentType) contentType?: PhotoContentType;
|
|
8
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LeadSourceEnum } from '../enums/LeadSourceEnum';
|
|
2
|
+
import { LeadStatusEnum } from '../enums/LeadStatusEnum';
|
|
3
|
+
|
|
4
|
+
export interface LeadResponse {
|
|
5
|
+
id: string;
|
|
6
|
+
profileId: string;
|
|
7
|
+
name: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
phone?: string;
|
|
10
|
+
company?: string;
|
|
11
|
+
notes?: string;
|
|
12
|
+
source: LeadSourceEnum;
|
|
13
|
+
status: LeadStatusEnum;
|
|
14
|
+
groupId?: string;
|
|
15
|
+
createdAt: number;
|
|
16
|
+
updatedAt: number;
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ProfileStatusEnum } from '../enums/ProfileStatusEnum';
|
|
2
|
+
|
|
3
|
+
export interface ProfileResponse {
|
|
4
|
+
id: string;
|
|
5
|
+
slug: string;
|
|
6
|
+
firstName: string;
|
|
7
|
+
lastName: string;
|
|
8
|
+
title: string;
|
|
9
|
+
company: string;
|
|
10
|
+
phone?: string;
|
|
11
|
+
email?: string;
|
|
12
|
+
photoUrl?: string;
|
|
13
|
+
bio?: string;
|
|
14
|
+
socialLinks?: Record<string, string>;
|
|
15
|
+
status: ProfileStatusEnum;
|
|
16
|
+
directoryId: string;
|
|
17
|
+
createdAt: number;
|
|
18
|
+
updatedAt: number;
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsString, IsOptional, IsEnum, IsEmail, MaxLength, MinLength } from 'class-validator';
|
|
3
|
+
import { LeadSourceEnum } from '../enums/LeadSourceEnum';
|
|
4
|
+
|
|
5
|
+
export class SaveLeadRequest {
|
|
6
|
+
@Expose() @IsString() @MinLength(1) @MaxLength(200) name!: string;
|
|
7
|
+
@Expose() @IsOptional() @IsEmail() email?: string;
|
|
8
|
+
@Expose() @IsOptional() @IsString() phone?: string;
|
|
9
|
+
@Expose() @IsOptional() @IsString() @MaxLength(200) company?: string;
|
|
10
|
+
@Expose() @IsOptional() @IsString() @MaxLength(500) notes?: string;
|
|
11
|
+
@Expose() @IsOptional() @IsEnum(LeadSourceEnum) source?: LeadSourceEnum;
|
|
12
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsString, IsOptional, MaxLength, MinLength } from 'class-validator';
|
|
3
|
+
|
|
4
|
+
export class UpdateLeadGroupRequest {
|
|
5
|
+
@Expose() @IsOptional() @IsString() @MinLength(1) @MaxLength(100) name?: string;
|
|
6
|
+
@Expose() @IsOptional() @IsString() @MaxLength(500) description?: string;
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsString, IsOptional, IsEnum, IsObject, MaxLength, MinLength } from 'class-validator';
|
|
3
|
+
import { ProfileStatusEnum } from '../enums/ProfileStatusEnum';
|
|
4
|
+
|
|
5
|
+
export class UpdateProfileRequest {
|
|
6
|
+
@Expose() @IsOptional() @IsString() @MinLength(1) @MaxLength(100) firstName?: string;
|
|
7
|
+
@Expose() @IsOptional() @IsString() @MinLength(1) @MaxLength(100) lastName?: string;
|
|
8
|
+
@Expose() @IsOptional() @IsString() @MaxLength(200) title?: string;
|
|
9
|
+
@Expose() @IsOptional() @IsString() @MaxLength(200) company?: string;
|
|
10
|
+
@Expose() @IsOptional() @IsString() @MinLength(2) @MaxLength(100) slug?: string;
|
|
11
|
+
@Expose() @IsOptional() @IsString() phone?: string;
|
|
12
|
+
@Expose() @IsOptional() @IsString() email?: string;
|
|
13
|
+
@Expose() @IsOptional() @IsString() @MaxLength(500) bio?: string;
|
|
14
|
+
@Expose() @IsOptional() @IsObject() socialLinks?: Record<string, string>;
|
|
15
|
+
@Expose() @IsOptional() @IsEnum(ProfileStatusEnum) status?: ProfileStatusEnum;
|
|
16
|
+
}
|