import { Elysia, t } from 'elysia'; import { prisma } from './prisma'; export const posts = new Elysia({ prefix: '/posts' }) .get('/', async () => { return await prisma.post.findMany({ include: { user: true }, orderBy: { createdAt: 'desc' } }); }) .get('/:id', async ({ params: { id } }) => { return await prisma.post.findUnique({ where: { id }, include: { user: true, comments: { include: { user: true }, orderBy: { createdAt: 'desc' } } } }); }) .post('/', async ({ body }) => { return await prisma.post.create({ data: body }); }, { body: t.Object({ title: t.String(), content: t.String(), userId: t.String(), published: t.Optional(t.Boolean()) }) });