import { NextResponse } from "next/server"; import { prisma } from "@/lib/prisma"; export async function GET() { try { const posts = await prisma.post.findMany({ orderBy: { createdAt: "desc", }, }); return NextResponse.json(posts); } catch (error) { console.error("Error fetching posts:", error); return NextResponse.json( { error: "Failed to fetch posts from database" }, { status: 500 } ); } } export async function POST(request: Request) { try { const body = await request.json(); const { id, type, date, timestamp, mood, moodLabel, title, content, marginNotes, tags, likes, highlightWords, authorNote, imageUrl, imageCaption, codeSnippet, codeLanguage, audioDuration, audioTitle, stampedText, } = body; const newPost = await prisma.post.create({ data: { id: id || `post-${Date.now()}`, type, date, timestamp, mood, moodLabel, title, content, marginNotes: marginNotes || [], tags: tags || [], likes: likes || 0, highlightWords: highlightWords || [], authorNote, imageUrl, imageCaption, codeSnippet, codeLanguage, audioDuration, audioTitle, stampedText, }, }); return NextResponse.json(newPost, { status: 201 }); } catch (error) { console.error("Error creating post:", error); return NextResponse.json( { error: "Failed to create post in database" }, { status: 500 } ); } }