import { db } from "@link-stack/bridge-common"; import { createLogger } from "@link-stack/logger"; const logger = createLogger('bridge-worker-send-whatsapp-message'); interface SendWhatsappMessageTaskOptions { token: string; to: string; message: any; } const sendWhatsappMessageTask = async ({ message, to, token, }: SendWhatsappMessageTaskOptions): Promise => { const bot = await db .selectFrom("WhatsappBot") .selectAll() .where("token", "=", token) .executeTakeFirstOrThrow(); const url = `${process.env.BRIDGE_WHATSAPP_URL}/api/bots/${bot.id}/send`; const params = { message, phoneNumber: to }; try { const result = await fetch(url, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(params), }); } catch (error) { logger.error({ error }); throw new Error("Failed to send message"); } }; export default sendWhatsappMessageTask;