import { cookies } from 'next/headers' import { getIronSession } from 'iron-session' import { SessionData, sessionOptions } from '@/lib/session' import { prisma } from '@/lib/prisma' import { productAccessFilter } from '@/lib/product-access' import { TodoList } from '@/components/todos/todo-list' export default async function TodosPage() { const session = await getIronSession(await cookies(), sessionOptions) const todos = await prisma.todo.findMany({ where: { user_id: session.userId, archived: false }, orderBy: { created_at: 'asc' }, include: { product: { select: { name: true } } }, }) const products = await prisma.product.findMany({ where: { ...productAccessFilter(session.userId), archived: false }, orderBy: { name: 'asc' }, include: { pbis: { orderBy: [{ priority: 'asc' }, { sort_order: 'asc' }], select: { id: true, title: true } }, }, }) return (

Todo's

({ id: t.id, title: t.title, description: t.description ?? null, done: t.done, created_at: t.created_at.toISOString(), product_id: t.product_id ?? null, product_name: t.product?.name ?? null, }))} products={products.map(p => ({ id: p.id, name: p.name, pbis: p.pbis, }))} isDemo={session.isDemo ?? false} />
) }