import { AuthError, authenticateRequest } from "@/lib/auth/server";
import { listConversations } from "@/lib/db/conversations";
import { getPool } from "@/lib/db/pool";
const noStoreHeaders = { "Cache-Control": "no-store" };
export async function GET(request: Request): Promise<Response> {
try {
const user = await authenticateRequest(request);
const conversations = await listConversations(getPool(), user.id);
return Response.json({ conversations }, { headers: noStoreHeaders });
} catch (error) {
return responseForError(error);
}
}
export function responseForError(error: unknown): Response {
if (error instanceof AuthError) {
return Response.json(
{ error: error.message },
{ status: 401, headers: noStoreHeaders },
);
}
return Response.json(
{ error: "Хранилище чатов временно недоступно" },
{ status: 503, headers: noStoreHeaders },
);
}