import { NextResponse } from "next/server"; import { db } from "@link-stack/bridge-common"; import { revalidatePath } from "next/cache"; import { Service, ServiceParams } from "./service"; export class Whatsapp extends Service { async getBot({ params: { token } }: ServiceParams) { const row = await db .selectFrom("WhatsappBot") .selectAll() .where("token", "=", token as string) .executeTakeFirstOrThrow(); const id = row.id; const url = `${process.env.BRIDGE_WHATSAPP_URL}/api/bots/${id}`; const result = await fetch(url, { cache: "no-store" }); const json = await result.json(); await db .updateTable("WhatsappBot") .set({ verified: json.verified }) .where("id", "=", id) .execute(); if (!json.verified) { const url = `${process.env.BRIDGE_WHATSAPP_URL}/api/bots/${id}/register`; const result = await fetch(url, { method: "POST" }); } revalidatePath(`/whatsapp/${id}`); return NextResponse.json(json); } }