// app/api/users/[userId]/conversations/[conversationId]/route.ts
import { NextResponse } from "next/server";
;

import { prisma } from '@/lib/prisma';

export async function GET(
    req: Request,
    { params }: { params: Promise<{ userId: string; conversationId: string }> }
) {
    const { userId, conversationId } = await params;
    try {
        const conversation = await prisma.conversation.findUnique({
            where: {
                id: conversationId,
                telegramUserId: userId,
            },
            include: {
                messages: {
                    orderBy: { createdAt: "asc" },
                },
            },
        });

        if (!conversation) {
            return NextResponse.json({ error: "مکالمه یافت نشد" }, { status: 404 });
        }

        return NextResponse.json(conversation);
    } catch (error) {
        console.error("[CONVERSATION_GET]", error);
        return NextResponse.json({ error: "خطای سرور داخلی" }, { status: 500 });
    }
}

export async function DELETE(
    req: Request,
    { params }: { params: Promise<{ userId: string; conversationId: string }> }
) {
    const { userId, conversationId } = await params;
    try {
        const conversation = await prisma.conversation.findUnique({
            where: {
                id: conversationId, 
                telegramUserId: userId, 
            },
        });

        if (!conversation) {
            return NextResponse.json({ error: "مکالمه یافت نشد" }, { status: 404 });
        }

        await prisma.conversation.delete({
            where: {
                id: conversationId,
            },
        });

        return NextResponse.json({ success: true });
    } catch (error) {
        console.error("[CONVERSATION_DELETE]", error);
        return NextResponse.json({ error: "خطای سرور داخلی" }, { status: 500 });
    }
}