import { NextResponse } from "next/server" import { fetchAction } from "convex/nextjs" import { api } from "@/convex/_generated/api" import { requireAdminSession } from "@/lib/server/admin-auth" type RouteContext = { params: Promise<{ id: string }> } export async function POST(request: Request, { params }: RouteContext) { const adminUser = await requireAdminSession(request) if (!adminUser) { return NextResponse.redirect(new URL("/sign-in", request.url)) } const { id } = await params try { await fetchAction(api.crm.hydrateConversationHistory, { conversationId: id, }) return NextResponse.redirect( new URL( `/admin/conversations?conversationId=${encodeURIComponent(id)}`, request.url ) ) } catch (error) { console.error("Failed to refresh conversation history:", error) return NextResponse.redirect( new URL( `/admin/conversations?conversationId=${encodeURIComponent(id)}&error=sync`, request.url ) ) } }