skailan-contacts
Version:
Servicio de gestión de contactos para Skailan
56 lines • 2.63 kB
TypeScript
import { ContactCommunicationPlatform } from './ContactCommunicationPlatform';
export interface ContactMetadata {
[key: string]: any;
}
export declare class Contact {
readonly id: string;
organizationId: string;
externalId: string;
name: string | null;
email: string | null;
phone: string | null;
profilePictureUrl: string | null;
metadata: ContactMetadata | null;
createdAt: Date;
updatedAt: Date;
communicationPlatforms: ContactCommunicationPlatform[];
constructor(id: string, organizationId: string, externalId: string, name: string | null, email: string | null, phone: string | null, profilePictureUrl: string | null, metadata: ContactMetadata | null, createdAt: Date, updatedAt: Date, communicationPlatforms?: ContactCommunicationPlatform[]);
private validate;
private isValidEmail;
private isValidPhone;
updateInfo(name: string | null, email: string | null, phone: string | null, profilePictureUrl: string | null, metadata: ContactMetadata | null): void;
addCommunicationPlatform(platform: ContactCommunicationPlatform): void;
removeCommunicationPlatform(platformId: string): void;
getPrimaryPlatform(): ContactCommunicationPlatform | null;
getActivePlatforms(): ContactCommunicationPlatform[];
getPlatformByType(platformType: string): ContactCommunicationPlatform | null;
setPlatformAsPrimary(platformId: string): void;
static createFromConversation(id: string, organizationId: string, externalId: string, name: string | null, platform: string, platformUserId: string | null, platformUsername: string | null): Contact;
static createFromLead(id: string, organizationId: string, externalId: string, name: string, email: string | null, phone: string | null, metadata: ContactMetadata): Contact;
toJSON(): {
id: string;
organizationId: string;
externalId: string;
name: string | null;
email: string | null;
phone: string | null;
profilePictureUrl: string | null;
metadata: ContactMetadata | null;
communicationPlatforms: {
id: string;
contactId: string;
organizationId: string;
platform: string;
platformUserId: string | null;
platformUsername: string | null;
isActive: boolean;
isPrimary: boolean;
config: import("./ContactCommunicationPlatform").PlatformConfig | null;
createdAt: Date;
updatedAt: Date;
}[];
createdAt: Date;
updatedAt: Date;
};
}
//# sourceMappingURL=Contact.d.ts.map