import { createServerComponentClient } from "@supabase/auth-helpers-nextjs"; import { Database } from "@/types/supabase"; import { cookies } from "next/headers"; import { redirect } from "next/navigation"; import { prisma } from "@/lib/prisma"; import { CreateTask } from "@/components/create-task"; import GenerateTasks from "./generate-tasks"; async function getSession(supabase: any) { const { data: { session }, } = await supabase.auth.getSession(); return session; } async function fetchTasks(projectID: string) { const supabase = createServerComponentClient({ cookies }); const session = await getSession(supabase); if (!session) redirect("/auth"); const tasks = await prisma.task.findMany({ where: { project_id: BigInt(projectID), }, }); if (!tasks) return undefined; const res = tasks.map((task) => ({ ...task, id: String(task.id), project_id: String(task.project_id), feature_id: String(task.feature_id), })); return res; } export async function TaskList({ workspaceID, projectID, }: { workspaceID: string; projectID: string; }) { const tasks = await fetchTasks(projectID); return (

Task List

{tasks?.length != 0 ? ( tasks?.map((task) => (
{task.name} - {task.description}
)) ) : (

No tasks

)}
); }