"use server"; import getDbConnection from "@/lib/db"; import { currentUser } from "@clerk/nextjs/server"; import { revalidatePath } from "next/cache"; import { redirect } from "next/navigation"; export async function updatePostAction(data: { postId: string; content: string; }) { const { postId, content } = data; const user = await currentUser(); if (!user) { redirect("/sign-in"); } try { const sql = await getDbConnection(); const [title, ...contentParts] = content?.split("\n\n") || []; const updatedTitle = title.split("#")[1].trim(); await sql`UPDATE posts SET content = ${content}, title = ${updatedTitle} where id = ${postId}`; } catch (error) { console.error("Error occurred in updating the post", postId); return { success: false, }; } revalidatePath(`/posts/${postId}`); return { success: true, }; }