diff --git a/app/(content)/(home)/home/page.tsx b/app/(content)/(home)/home/page.tsx
index 836569df382b537be8f63fd9708c688694046e6f..89b396f4341ea318704cef9796da60f2877b1a86 100644
--- a/app/(content)/(home)/home/page.tsx
+++ b/app/(content)/(home)/home/page.tsx
@@ -2,6 +2,7 @@ import LikeButton from "@/components/like-button";
 import PostMessageForm from "@/components/post-messages";
 import { prisma } from "@/lib/db";
 import { Prisma } from "@prisma/client";
+/* export const revalidate = 5; */ // revalidate this page every 60 seconds
 
 type messageType = Prisma.PostUncheckedCreateInput
 type messageItemProps = {
diff --git a/app/api/messages/route.ts b/app/api/messages/route.ts
index f2799ef31835ce1098f169c3ceb8f5a3ccae1768..c5eecd2adf82a3e5801c6e7c537752315a347dce 100644
--- a/app/api/messages/route.ts
+++ b/app/api/messages/route.ts
@@ -1,31 +1,53 @@
 import { prisma } from "@/lib/db"
 import { NextRequest, NextResponse } from "next/server"
+import { getServerSession } from "next-auth/next"
+import { authOptions } from "../auth/[...nextauth]/route";
+import { Prisma } from "@prisma/client";
+import { revalidatePath, revalidateTag } from "next/cache";
+
+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, "status:")
 
-	console.log(data)
+	console.log("router data: " + data.content, "status:")
+
 	try {
 		await prisma.post.create({
-			data: data
+			/* 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' })
-		// res.status(200).json({message: 'Message Created'})
-		// res.status(200).json({message: 'Message Created'})
+
 	} catch (error) {
 		console.log("fail" + error);
-		// res.status(400)
 	}
 	console.log("post")
 }
 
 export async function GET(req: NextRequest, res: NextResponse) {
-	const data = await req.json()
-	console.log("router data: " + data, "status:")
+	try {
+		const data = await req.json()
+		console.log("router data: " + data, "status:")
+	} catch (error) {
+		
+	}
 
-	console.log(data)
 	try {
 		const messages = await prisma.post.findMany({
 			orderBy: {
diff --git a/components/post-messages.tsx b/components/post-messages.tsx
index 040013e7643fc30579ec6475dd21e102e0ff7979..a870e16e391d2d34bd17b962d7f1c189486fd24a 100644
--- a/components/post-messages.tsx
+++ b/components/post-messages.tsx
@@ -2,25 +2,24 @@
 
 import { Post, Prisma } from "@prisma/client";
 import { useRouter } from "next/navigation";
-import { startTransition, useState } from "react";
+import { startTransition, useEffect, useState } from "react";
 
 type messageType = Prisma.PostUncheckedCreateInput
 
 export default function PostMessageForm(props: { data: Post[] | null }) {
 
   const [formData, setFormData] = useState<messageType>({ content: "" } as messageType);
-  // const [messagesState, setMessages] = useState(props.data)
   const router = useRouter();
 
   async function postMessage(e: any) {
     e.preventDefault()
-    // setMessages([...messagesState, formData])
     console.log(formData)
-    formData.userId = 1
     const response = await fetch('http://localhost:3000/api/messages', {
       method: 'POST',
-      body: JSON.stringify(formData)
+      body: JSON.stringify(formData),
+      next: { tags: ['collection'] }
     })
+
     startTransition(() => {
       // Refresh the current route and fetch new data from the server without
       // losing client-side browser or React state.
@@ -30,7 +29,7 @@ export default function PostMessageForm(props: { data: Post[] | null }) {
   }
 
   const characterCount = formData.content.length;
-  const isOverLimit = characterCount > 1000;
+  const isOverLimit = characterCount >= 1000;
 
   const handleInputChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {
     const { value } = e.target;
diff --git a/types/next-auth.d.ts b/types/next-auth.d.ts
index e4d9a09eedc92a4aba1241db23ca0573cfd3cc78..007c24c324ca76134e48a92417b217cfb5c5898a 100644
--- a/types/next-auth.d.ts
+++ b/types/next-auth.d.ts
@@ -3,7 +3,7 @@ import 'next-auth';
 declare module 'next-auth' {
     interface Session {
         user: {
-            id: number;
+            id: string;
             name?: string | null;
             email?: string | null;
             image?: string | null;