import { createRouteHandlerClient } from "@supabase/auth-helpers-nextjs"; import { cookies } from "next/headers"; import { NextResponse, NextRequest } from "next/server"; import { Database } from "@/types/supabase"; import prisma from "@/lib/prisma"; async function getSession(supabase: any) { const { data: { session }, } = await supabase.auth.getSession(); return session; } // get all features for a project export async function GET( req: NextRequest, { params: { projectID }, }: { params: { projectID: string }; } ) { const supabase = createRouteHandlerClient({ cookies }); const session = await getSession(supabase); if (!session) return NextResponse.redirect("/auth"); try { const features = await prisma.feature.findMany({ where: { project_id: BigInt(projectID), }, }); if (features.length === 0) { console.log("none"); return NextResponse.json({ error: "No features found" }, { status: 404 }); } const res = features.map((feature) => ({ ...feature, id: String(feature.id), project_id: String(feature.project_id), })); return NextResponse.json({ features: res }, { status: 200 }); } catch (err) { console.error(err); return NextResponse.json({ error: err }, { status: 500 }); } }