import { authOptions } from "@/lib/auth"; import { prisma } from "@/lib/db"; import { Prisma } from "@prisma/client"; import { getServerSession } from "next-auth/next"; import { revalidatePath } from "next/cache"; import { NextRequest, NextResponse } from "next/server"; type post = Prisma.PostUncheckedCreateInput export async function POST(req: NextRequest) { const session = await getServerSession(authOptions); if (!session) { return NextResponse.json({ status: 401 }); } const userId = session.user.id const data = await req.json() console.log("router data: " + data.content, "status:") try { await prisma.post.create({ /* data: data */ data: { content: data.content, userId: parseInt(userId), published: true } }) console.log("created") const path = req.nextUrl.searchParams.get('path') || '/'; revalidatePath(path); return NextResponse.json({ status: 201, message: 'Message Created' }) } catch (error) { console.log("fail" + error); } console.log("post") } export async function GET(req: NextRequest, res: NextResponse) { try { const data = await req.json() console.log("router data: " + data, "status:") } catch (error) { } try { const messages = await prisma.post.findMany({ orderBy: { createdAt: "desc" } }) return NextResponse.json({ status: 200, messages: messages }) } catch (error) { console.log("fail" + error); // res.status(400) } console.log("get") }