import { NextRequest, NextResponse } from "next/server";
import { getSharedTransactions } from "@/lib/queries";
import { getCurrentUser } from "@/lib/auth";

export async function GET(req: NextRequest) {
  const user = await getCurrentUser(req);
  if (!user) return NextResponse.json({ error: "Unauthorized" }, { status: 401 });

  const tagParam = req.nextUrl.searchParams.get("tag_ids");
  const rawIds = tagParam ? tagParam.split(",").filter(Boolean) : [];
  const noTags = rawIds.includes("untagged");
  const tagIds = rawIds.filter((id) => id !== "untagged").map(Number).filter((n) => !isNaN(n));
  const participantParam = req.nextUrl.searchParams.get("participant_id");
  const participantId = participantParam ? Number(participantParam) : undefined;
  const transactions = await getSharedTransactions(user.id, tagIds.length ? tagIds : undefined, noTags, participantId);
  return NextResponse.json(transactions);
}
