@fiado/type-kit 3.413.0 → 3.415.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.
@@ -5,7 +5,10 @@ export declare class CreateProfileRequest {
5
5
  company?: string;
6
6
  slug: string;
7
7
  directoryId: string;
8
- phone?: string;
8
+ /** Requerido desde DEC: se usa como llave para resolver el codigo de referido
9
+ * (IOnboardingBusinessApi.getByPhoneNumber) al crear el perfil. Inmutable tras la creacion
10
+ * (UpdateProfileRequest ya no acepta este campo). */
11
+ phone: string;
9
12
  email?: string;
10
13
  bio?: string;
11
14
  socialLinks?: Record<string, string>;
@@ -57,8 +57,8 @@ __decorate([
57
57
  ], CreateProfileRequest.prototype, "directoryId", void 0);
58
58
  __decorate([
59
59
  (0, class_transformer_1.Expose)(),
60
- (0, class_validator_1.IsOptional)(),
61
60
  (0, class_validator_1.IsString)(),
61
+ (0, class_validator_1.IsNotEmpty)(),
62
62
  __metadata("design:type", String)
63
63
  ], CreateProfileRequest.prototype, "phone", void 0);
64
64
  __decorate([
@@ -16,6 +16,14 @@ export interface LeadResponse {
16
16
  jobTitle?: string;
17
17
  status: LeadStatusEnum;
18
18
  groupId?: string;
19
+ /**
20
+ * URL firmada (GET, TTL 1h) de la foto de perfil del contacto, resuelta en vivo por
21
+ * teléfono contra AccessCardProfiles_GT en cada listado — NO es una copia guardada al
22
+ * capturar el lead. `null` si el teléfono no coincide con ningún Profile, si el Profile
23
+ * no tiene foto, o si la resolución falló (comportamiento fail-open, ver
24
+ * ListLeadsManager). Nunca se expone el profileId del contacto ni el object key de S3.
25
+ */
26
+ contactPhotoUrl: string | null;
19
27
  createdAt: number;
20
28
  updatedAt: number;
21
29
  }
@@ -12,6 +12,9 @@ export interface ProfileResponse {
12
12
  logoUrl?: string;
13
13
  bio?: string;
14
14
  socialLinks?: Record<string, string>;
15
+ /** Codigo de referido del promotor (myReferralCode de Onboarding), resuelto por telefono al
16
+ * crear el perfil. null si el telefono no tiene codigo asociado en Onboarding. */
17
+ referralCode?: string | null;
15
18
  status: ProfileStatusEnum;
16
19
  directoryId: string;
17
20
  createdAt: number;
@@ -5,7 +5,6 @@ export declare class UpdateProfileRequest {
5
5
  title?: string;
6
6
  company?: string;
7
7
  slug?: string;
8
- phone?: string;
9
8
  email?: string;
10
9
  bio?: string;
11
10
  socialLinks?: Record<string, string>;
@@ -54,12 +54,6 @@ __decorate([
54
54
  (0, class_validator_1.MaxLength)(100),
55
55
  __metadata("design:type", String)
56
56
  ], UpdateProfileRequest.prototype, "slug", void 0);
57
- __decorate([
58
- (0, class_transformer_1.Expose)(),
59
- (0, class_validator_1.IsOptional)(),
60
- (0, class_validator_1.IsString)(),
61
- __metadata("design:type", String)
62
- ], UpdateProfileRequest.prototype, "phone", void 0);
63
57
  __decorate([
64
58
  (0, class_transformer_1.Expose)(),
65
59
  (0, class_validator_1.IsOptional)(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.413.0",
3
+ "version": "3.415.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -1,5 +1,5 @@
1
1
  import { Expose } from 'class-transformer';
2
- import { IsString, IsOptional, IsObject, MaxLength, MinLength } from 'class-validator';
2
+ import { IsString, IsOptional, IsNotEmpty, IsObject, MaxLength, MinLength } from 'class-validator';
3
3
 
4
4
  export class CreateProfileRequest {
5
5
  @Expose() @IsString() @MinLength(1) @MaxLength(100) firstName!: string;
@@ -8,7 +8,10 @@ export class CreateProfileRequest {
8
8
  @Expose() @IsOptional() @IsString() @MaxLength(200) company?: string;
9
9
  @Expose() @IsString() @MinLength(2) @MaxLength(100) slug!: string;
10
10
  @Expose() @IsString() directoryId!: string;
11
- @Expose() @IsOptional() @IsString() phone?: string;
11
+ /** Requerido desde DEC: se usa como llave para resolver el codigo de referido
12
+ * (IOnboardingBusinessApi.getByPhoneNumber) al crear el perfil. Inmutable tras la creacion
13
+ * (UpdateProfileRequest ya no acepta este campo). */
14
+ @Expose() @IsString() @IsNotEmpty() phone!: string;
12
15
  @Expose() @IsOptional() @IsString() email?: string;
13
16
  @Expose() @IsOptional() @IsString() @MaxLength(500) bio?: string;
14
17
  @Expose() @IsOptional() @IsObject() socialLinks?: Record<string, string>;
@@ -17,6 +17,14 @@ export interface LeadResponse {
17
17
  jobTitle?: string;
18
18
  status: LeadStatusEnum;
19
19
  groupId?: string;
20
+ /**
21
+ * URL firmada (GET, TTL 1h) de la foto de perfil del contacto, resuelta en vivo por
22
+ * teléfono contra AccessCardProfiles_GT en cada listado — NO es una copia guardada al
23
+ * capturar el lead. `null` si el teléfono no coincide con ningún Profile, si el Profile
24
+ * no tiene foto, o si la resolución falló (comportamiento fail-open, ver
25
+ * ListLeadsManager). Nunca se expone el profileId del contacto ni el object key de S3.
26
+ */
27
+ contactPhotoUrl: string | null;
20
28
  createdAt: number;
21
29
  updatedAt: number;
22
30
  }
@@ -13,6 +13,9 @@ export interface ProfileResponse {
13
13
  logoUrl?: string;
14
14
  bio?: string;
15
15
  socialLinks?: Record<string, string>;
16
+ /** Codigo de referido del promotor (myReferralCode de Onboarding), resuelto por telefono al
17
+ * crear el perfil. null si el telefono no tiene codigo asociado en Onboarding. */
18
+ referralCode?: string | null;
16
19
  status: ProfileStatusEnum;
17
20
  directoryId: string;
18
21
  createdAt: number;
@@ -8,7 +8,8 @@ export class UpdateProfileRequest {
8
8
  @Expose() @IsOptional() @IsString() @MaxLength(200) title?: string;
9
9
  @Expose() @IsOptional() @IsString() @MaxLength(200) company?: string;
10
10
  @Expose() @IsOptional() @IsString() @MinLength(2) @MaxLength(100) slug?: string;
11
- @Expose() @IsOptional() @IsString() phone?: string;
11
+ // phone es inmutable tras la creacion del perfil (queda asociado al numero con el que se
12
+ // creo la cuenta, usado para resolver el codigo de referido). No se acepta en Update.
12
13
  @Expose() @IsOptional() @IsString() email?: string;
13
14
  @Expose() @IsOptional() @IsString() @MaxLength(500) bio?: string;
14
15
  @Expose() @IsOptional() @IsObject() socialLinks?: Record<string, string>;