"use server"; import { prisma } from "@/lib/prisma"; import { revalidatePath } from "next/cache"; import { ContentStatus } from "@prisma/client"; export async function createNews(data: { title: string; excerpt: string; content: string; author: string; imageUrl: string; tags?: string[]; sources?: any; }) { try { const slug = data.title .toLowerCase() .replace(/[^a-z0-9]+/g, '-') .replace(/(^-|-$)/g, ''); const post = await prisma.blogPost.create({ data: { title: data.title, excerpt: data.excerpt, content: data.content, author: data.author, imageUrl: data.imageUrl, tags: data.tags || [], sources: data.sources || [], status: 'PENDING' as ContentStatus, // Always pending for user submission slug: `${slug}-${Math.random().toString(36).substring(2, 7)}` } }); revalidatePath("/actualites"); return { success: true, post }; } catch (error) { console.error("Failed to create news:", error); return { success: false, error: "Erreur lors de la création de l'actualité" }; } }