@fiado/type-kit 3.86.0 → 3.88.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/index.d.ts +1 -0
- package/bin/index.js +4 -1
- package/bin/networkConnector/dtos/AssignLeadToGroupRequest.d.ts +3 -0
- package/bin/networkConnector/dtos/AssignLeadToGroupRequest.js +22 -0
- package/bin/networkConnector/dtos/CreateLeadGroupRequest.d.ts +5 -0
- package/bin/networkConnector/dtos/CreateLeadGroupRequest.js +36 -0
- package/bin/networkConnector/dtos/CreateProfileRequest.d.ts +12 -0
- package/bin/networkConnector/dtos/CreateProfileRequest.js +82 -0
- package/bin/networkConnector/dtos/DeletePhotoResponse.d.ts +4 -0
- package/bin/networkConnector/dtos/DeletePhotoResponse.js +2 -0
- package/bin/networkConnector/dtos/DeleteProfileResponse.d.ts +4 -0
- package/bin/networkConnector/dtos/DeleteProfileResponse.js +2 -0
- package/bin/networkConnector/dtos/GetPhotoUploadUrlRequest.d.ts +5 -0
- package/bin/networkConnector/dtos/GetPhotoUploadUrlRequest.js +29 -0
- 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/networkConnector/dtos/SaveLeadRequest.js +57 -0
- 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/networkConnector/dtos/UpdateLeadGroupRequest.js +32 -0
- 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 +3 -3
- package/bin/platformRbac/tenantTypes.d.ts +4 -3
- package/bin/platformRbac/tenantTypes.js +4 -3
- package/bin/transaction/dtos/CreateDisputePrivateRequest.d.ts +19 -0
- package/bin/transaction/dtos/CreateDisputePrivateRequest.js +11 -0
- package/bin/transaction/dtos/ReopenDisputeRequest.d.ts +8 -0
- package/bin/transaction/dtos/ReopenDisputeRequest.js +11 -0
- package/bin/transaction/index.d.ts +2 -0
- package/bin/transaction/index.js +2 -0
- 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 +3 -3
- package/src/platformRbac/tenantTypes.ts +4 -3
- package/src/transaction/dtos/CreateDisputePrivateRequest.ts +19 -0
- package/src/transaction/dtos/ReopenDisputeRequest.ts +8 -0
- package/src/transaction/index.ts +2 -0
|
@@ -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);
|
|
@@ -18,10 +18,10 @@ export interface AuthContext {
|
|
|
18
18
|
permissions: Permission[];
|
|
19
19
|
resolvedAt: string;
|
|
20
20
|
issuer?: string;
|
|
21
|
-
/**
|
|
21
|
+
/** @deprecated RBAC Token Flaco (DEC-RBAC-008): el bitset muere; el adapter resuelve permisos frescos desde DDB. Se conserva el campo para compat de tokens viejos en transición. */
|
|
22
22
|
permBits?: string;
|
|
23
|
-
/**
|
|
23
|
+
/** @deprecated DEC-RBAC-008: versión del catálogo del bitset. No se usa en el modelo token-flaco. */
|
|
24
24
|
permVer?: number;
|
|
25
|
-
/**
|
|
25
|
+
/** @deprecated DEC-RBAC-008: epoch de permisos. El authorizer ya no lo chequea. */
|
|
26
26
|
permsEpoch?: number;
|
|
27
27
|
}
|
|
@@ -18,9 +18,10 @@ export declare const TENANT_TYPES: Record<TenantType, TenantTypeDef>;
|
|
|
18
18
|
export declare function levelsOf(type: TenantType): PermissionScope[];
|
|
19
19
|
export declare function tableSuffixForLevel(type: TenantType, level: PermissionScope): string | undefined;
|
|
20
20
|
/**
|
|
21
|
-
* Orden global de
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* Orden global de scopes para ORDENAR (ej. UI): PLATFORM, TENANT + niveles de cada tipo.
|
|
22
|
+
* ⚠️ NO usar para COBERTURA de autorización: es un orden total que cruzaría ramas
|
|
23
|
+
* (sugeriría falsamente que RETAILER cubre GROUP). La cobertura se decide con una relación
|
|
24
|
+
* explícita por niveles — ver `canAccess`/`scopeCovers` en @fiado/gateway-adapter (DEC-RBAC-010).
|
|
24
25
|
*/
|
|
25
26
|
export declare function scopeRankOrder(): PermissionScope[];
|
|
26
27
|
export {};
|
|
@@ -37,9 +37,10 @@ function tableSuffixForLevel(type, level) {
|
|
|
37
37
|
return exports.TENANT_TYPES[type].tableSuffix[level];
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
* Orden global de
|
|
41
|
-
*
|
|
42
|
-
*
|
|
40
|
+
* Orden global de scopes para ORDENAR (ej. UI): PLATFORM, TENANT + niveles de cada tipo.
|
|
41
|
+
* ⚠️ NO usar para COBERTURA de autorización: es un orden total que cruzaría ramas
|
|
42
|
+
* (sugeriría falsamente que RETAILER cubre GROUP). La cobertura se decide con una relación
|
|
43
|
+
* explícita por niveles — ver `canAccess`/`scopeCovers` en @fiado/gateway-adapter (DEC-RBAC-010).
|
|
43
44
|
*/
|
|
44
45
|
function scopeRankOrder() {
|
|
45
46
|
const order = [PermissionScope_1.PermissionScope.PLATFORM, PermissionScope_1.PermissionScope.TENANT];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request de alta multi-canal de reclamación por el OC (BO-R27 Fase A, §3.5).
|
|
3
|
+
* POST disputes — privado (VPC/VPN). Para reclamaciones recibidas por canal no-app
|
|
4
|
+
* (teléfono 202, correo 204, otros 205) que hoy no generan folio y se pierden del R27.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CreateDisputePrivateRequest {
|
|
7
|
+
directoryId: string;
|
|
8
|
+
channel: number;
|
|
9
|
+
originatorRole: string;
|
|
10
|
+
originatorUserId: string;
|
|
11
|
+
disputeReason: number;
|
|
12
|
+
disputeObject: number;
|
|
13
|
+
disputeObjectChannel: number;
|
|
14
|
+
amount: number;
|
|
15
|
+
description: string;
|
|
16
|
+
dateOfDisputedTx: string;
|
|
17
|
+
disputedTxNumber?: string;
|
|
18
|
+
clientRequestId: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateDisputePrivateRequest = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Request de alta multi-canal de reclamación por el OC (BO-R27 Fase A, §3.5).
|
|
6
|
+
* POST disputes — privado (VPC/VPN). Para reclamaciones recibidas por canal no-app
|
|
7
|
+
* (teléfono 202, correo 204, otros 205) que hoy no generan folio y se pierden del R27.
|
|
8
|
+
*/
|
|
9
|
+
class CreateDisputePrivateRequest {
|
|
10
|
+
}
|
|
11
|
+
exports.CreateDisputePrivateRequest = CreateDisputePrivateRequest;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request de reapertura de reclamación (BO-R27 Fase A, §3.1).
|
|
3
|
+
* POST disputes/{folioId}/reopen — privado (VPC/VPN). Transición 102 -> 103.
|
|
4
|
+
* La dispara la app móvil del cliente cuando discrepa con un dictamen improcedente.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ReopenDisputeRequest {
|
|
7
|
+
reopenReason: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReopenDisputeRequest = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Request de reapertura de reclamación (BO-R27 Fase A, §3.1).
|
|
6
|
+
* POST disputes/{folioId}/reopen — privado (VPC/VPN). Transición 102 -> 103.
|
|
7
|
+
* La dispara la app móvil del cliente cuando discrepa con un dictamen improcedente.
|
|
8
|
+
*/
|
|
9
|
+
class ReopenDisputeRequest {
|
|
10
|
+
}
|
|
11
|
+
exports.ReopenDisputeRequest = ReopenDisputeRequest;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './dtos/CounterQueryResponse';
|
|
2
2
|
export * from './dtos/UpdateR27StatusRequest';
|
|
3
3
|
export * from './dtos/UpdateR27StatusResponse';
|
|
4
|
+
export * from './dtos/ReopenDisputeRequest';
|
|
5
|
+
export * from './dtos/CreateDisputePrivateRequest';
|
|
4
6
|
export * from './dtos/TransactionCreateRequest';
|
|
5
7
|
export * from './dtos/TransactionCreateResponse';
|
|
6
8
|
export * from './dtos/TransactionGetDetailResponse';
|
package/bin/transaction/index.js
CHANGED
|
@@ -18,6 +18,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
__exportStar(require("./dtos/CounterQueryResponse"), exports);
|
|
19
19
|
__exportStar(require("./dtos/UpdateR27StatusRequest"), exports);
|
|
20
20
|
__exportStar(require("./dtos/UpdateR27StatusResponse"), exports);
|
|
21
|
+
__exportStar(require("./dtos/ReopenDisputeRequest"), exports);
|
|
22
|
+
__exportStar(require("./dtos/CreateDisputePrivateRequest"), exports);
|
|
21
23
|
__exportStar(require("./dtos/TransactionCreateRequest"), exports);
|
|
22
24
|
__exportStar(require("./dtos/TransactionCreateResponse"), exports);
|
|
23
25
|
__exportStar(require("./dtos/TransactionGetDetailResponse"), 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
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Enums
|
|
2
|
+
export * from './enums/ProfileStatusEnum';
|
|
3
|
+
export * from './enums/LeadSourceEnum';
|
|
4
|
+
export * from './enums/LeadStatusEnum';
|
|
5
|
+
export * from './enums/PhotoContentType';
|
|
6
|
+
|
|
7
|
+
// Profile DTOs
|
|
8
|
+
export * from './dtos/CreateProfileRequest';
|
|
9
|
+
export * from './dtos/UpdateProfileRequest';
|
|
10
|
+
export * from './dtos/ProfileResponse';
|
|
11
|
+
export * from './dtos/ListProfilesResponse';
|
|
12
|
+
export * from './dtos/DeleteProfileResponse';
|
|
13
|
+
|
|
14
|
+
// Lead DTOs
|
|
15
|
+
export * from './dtos/SaveLeadRequest';
|
|
16
|
+
export * from './dtos/SaveLeadResponse';
|
|
17
|
+
export * from './dtos/LeadResponse';
|
|
18
|
+
export * from './dtos/ListLeadsResponse';
|
|
19
|
+
|
|
20
|
+
// Lead Group DTOs
|
|
21
|
+
export * from './dtos/CreateLeadGroupRequest';
|
|
22
|
+
export * from './dtos/UpdateLeadGroupRequest';
|
|
23
|
+
export * from './dtos/AssignLeadToGroupRequest';
|
|
24
|
+
export * from './dtos/LeadGroupResponse';
|
|
25
|
+
export * from './dtos/ListLeadGroupsResponse';
|
|
26
|
+
|
|
27
|
+
// Photo DTOs
|
|
28
|
+
export * from './dtos/GetPhotoUploadUrlRequest';
|
|
29
|
+
export * from './dtos/PhotoUploadUrlResponse';
|
|
30
|
+
export * from './dtos/DeletePhotoResponse';
|
|
@@ -19,10 +19,10 @@ export interface AuthContext {
|
|
|
19
19
|
permissions: Permission[];
|
|
20
20
|
resolvedAt: string;
|
|
21
21
|
issuer?: string;
|
|
22
|
-
/**
|
|
22
|
+
/** @deprecated RBAC Token Flaco (DEC-RBAC-008): el bitset muere; el adapter resuelve permisos frescos desde DDB. Se conserva el campo para compat de tokens viejos en transición. */
|
|
23
23
|
permBits?: string;
|
|
24
|
-
/**
|
|
24
|
+
/** @deprecated DEC-RBAC-008: versión del catálogo del bitset. No se usa en el modelo token-flaco. */
|
|
25
25
|
permVer?: number;
|
|
26
|
-
/**
|
|
26
|
+
/** @deprecated DEC-RBAC-008: epoch de permisos. El authorizer ya no lo chequea. */
|
|
27
27
|
permsEpoch?: number;
|
|
28
28
|
}
|
|
@@ -43,9 +43,10 @@ export function tableSuffixForLevel(type: TenantType, level: PermissionScope): s
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
|
-
* Orden global de
|
|
47
|
-
*
|
|
48
|
-
*
|
|
46
|
+
* Orden global de scopes para ORDENAR (ej. UI): PLATFORM, TENANT + niveles de cada tipo.
|
|
47
|
+
* ⚠️ NO usar para COBERTURA de autorización: es un orden total que cruzaría ramas
|
|
48
|
+
* (sugeriría falsamente que RETAILER cubre GROUP). La cobertura se decide con una relación
|
|
49
|
+
* explícita por niveles — ver `canAccess`/`scopeCovers` en @fiado/gateway-adapter (DEC-RBAC-010).
|
|
49
50
|
*/
|
|
50
51
|
export function scopeRankOrder(): PermissionScope[] {
|
|
51
52
|
const order: PermissionScope[] = [PermissionScope.PLATFORM, PermissionScope.TENANT];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request de alta multi-canal de reclamación por el OC (BO-R27 Fase A, §3.5).
|
|
3
|
+
* POST disputes — privado (VPC/VPN). Para reclamaciones recibidas por canal no-app
|
|
4
|
+
* (teléfono 202, correo 204, otros 205) que hoy no generan folio y se pierden del R27.
|
|
5
|
+
*/
|
|
6
|
+
export class CreateDisputePrivateRequest {
|
|
7
|
+
directoryId: string; // uuid cliente, requerido
|
|
8
|
+
channel: number; // 202|204|205 (206 sólo si el OC captura lo dictado por la app)
|
|
9
|
+
originatorRole: string; // "OC"
|
|
10
|
+
originatorUserId: string; // email del OC
|
|
11
|
+
disputeReason: number; // catálogo R27
|
|
12
|
+
disputeObject: number; // catálogo R27
|
|
13
|
+
disputeObjectChannel: number; // catálogo R27
|
|
14
|
+
amount: number; // > 0
|
|
15
|
+
description: string; // 20-2000 chars
|
|
16
|
+
dateOfDisputedTx: string; // ISO, no futura
|
|
17
|
+
disputedTxNumber?: string; // opcional
|
|
18
|
+
clientRequestId: string; // uuid-v4 del Dashboard, idempotencia
|
|
19
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request de reapertura de reclamación (BO-R27 Fase A, §3.1).
|
|
3
|
+
* POST disputes/{folioId}/reopen — privado (VPC/VPN). Transición 102 -> 103.
|
|
4
|
+
* La dispara la app móvil del cliente cuando discrepa con un dictamen improcedente.
|
|
5
|
+
*/
|
|
6
|
+
export class ReopenDisputeRequest {
|
|
7
|
+
reopenReason: string; // requerido, max 500 chars
|
|
8
|
+
}
|
package/src/transaction/index.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
export * from './dtos/CounterQueryResponse';
|
|
3
3
|
export * from './dtos/UpdateR27StatusRequest';
|
|
4
4
|
export * from './dtos/UpdateR27StatusResponse';
|
|
5
|
+
export * from './dtos/ReopenDisputeRequest';
|
|
6
|
+
export * from './dtos/CreateDisputePrivateRequest';
|
|
5
7
|
export * from './dtos/TransactionCreateRequest';
|
|
6
8
|
export * from './dtos/TransactionCreateResponse';
|
|
7
9
|
export * from './dtos/TransactionGetDetailResponse';
|