Skip to content
Snippets Groups Projects
route.ts 1.42 KiB
Newer Older
Yusuf Akgül's avatar
Yusuf Akgül committed
import { authOptions } from "@/lib/auth";
import { prisma } from "@/lib/db";
import { Prisma } from "@prisma/client";
Yusuf Akgül's avatar
Yusuf Akgül committed
import { getServerSession } from "next-auth/next";
import { revalidatePath } from "next/cache";
import { NextRequest, NextResponse } from "next/server";
type post = Prisma.PostUncheckedCreateInput
Yusuf Akgül's avatar
Yusuf Akgül committed

export async function POST(req: NextRequest) {
	const session = await getServerSession(authOptions);

	if (!session) {
		return NextResponse.json({ status: 401 });
	}

	const userId = session.user.id
Yusuf Akgül's avatar
Yusuf Akgül committed
	const data = await req.json()
	console.log("router data: " + data.content, "status:")
Yusuf Akgül's avatar
Yusuf Akgül committed

	try {
Yusuf Akgül's avatar
Yusuf Akgül committed
		await prisma.post.create({
			/* data: data */
Yusuf Akgül's avatar
Yusuf Akgül committed
			data: {
				content: data.content,
				userId: parseInt(userId),
				published: true
			}
Yusuf Akgül's avatar
Yusuf Akgül committed
		})
		console.log("created")
		const path = req.nextUrl.searchParams.get('path') || '/';
		revalidatePath(path);
Yusuf Akgül's avatar
Yusuf Akgül committed

		return NextResponse.json({ status: 201, message: 'Message Created' })
Yusuf Akgül's avatar
Yusuf Akgül committed
	} catch (error) {
		console.log("fail" + error);
	}
	console.log("post")
Yusuf Akgül's avatar
Yusuf Akgül committed
export async function GET(req: NextRequest, res: NextResponse) {
	try {
		const data = await req.json()
		console.log("router data: " + data, "status:")
	} catch (error) {
Yusuf Akgül's avatar
Yusuf Akgül committed

Yusuf Akgül's avatar
Yusuf Akgül committed
		const messages = await prisma.post.findMany({
Yusuf Akgül's avatar
Yusuf Akgül committed
			orderBy: {
Yusuf Akgül's avatar
Yusuf Akgül committed
				createdAt: "desc"
			}
		})

		return NextResponse.json({ status: 200, messages: messages })
	} catch (error) {
		console.log("fail" + error);
		// res.status(400)
	}
	console.log("get")
Yusuf Akgül's avatar
Yusuf Akgül committed
}