whatsapp-crm-common
Version:
Componentes compartidos para servicios de WhatsApp CRM - Common utilities and types for WhatsApp CRM system
40 lines • 1.69 kB
TypeScript
import { Chat, proto, BufferedEventData } from "@whiskeysockets/baileys";
import { PoolClient } from "pg";
import BaseRepository from "./base-repository";
import { ChatProcesado } from "../types/chat-processed";
export type ChatUpdate = Partial<proto.IConversation & {
lastMessageRecvTimestamp?: number;
} & {
conditional: (bufferedData: BufferedEventData) => boolean | undefined;
}>;
export declare class ChatRepository extends BaseRepository {
/**
* Guarda múltiples chats en la base de datos en una sola operación
*/
guardarChatsBulk(client: PoolClient, chats: ChatProcesado[], tenantId: string, agentId: number): Promise<void>;
/**
* Procesa inserciones o actualizaciones de chats
*/
handleChatUpserts(chats: Chat[], tenantId: string, agentId: number): Promise<void>;
/**
* Procesa una inserción o actualización individual de chat
*/
handleSingleChatUpsert(tenantId: string, agentId: number, client: PoolClient, chat: Chat): Promise<void>;
/**
* Procesa actualizaciones de chats
*/
handleChatUpdates(tenantId: string, agentId: number, updates: ChatUpdate[]): Promise<void>;
/**
* Procesa una actualización individual de chat
*/
handleSingleChatUpdate(tenantId: string, agentId: number, client: PoolClient, chatUpdate: ChatUpdate): Promise<void>;
/**
* Procesa múltiples actualizaciones de chat en lote
*/
handleBulkChatUpdates(tenantId: string, agentId: number, chatUpdates: ChatUpdate[]): Promise<void>;
/**
* Consolida múltiples actualizaciones de chat en una sola
*/
private consolidateChatUpdates;
}
//# sourceMappingURL=chat-repository.d.ts.map