"use server"; import { prisma } from "@/lib/prisma"; import { revalidatePath } from "next/cache"; export async function getGalleryImages() { try { const images = await prisma.galleryImage.findMany({ orderBy: [ { order: 'asc' }, { createdAt: 'desc' } ] }); return { success: true, data: images }; } catch (error) { console.error("Error fetching gallery images:", error); return { success: false, error: "Galeri görsellerini çekerken bir hata oluştu." }; } } export async function createGalleryImage(formData: FormData) { try { const src = formData.get("src") as string; const alt = formData.get("alt") as string || ""; const orderStr = formData.get("order") as string; const order = orderStr ? parseInt(orderStr, 10) : 0; if (!src) { return { success: false, error: "Görsel URL'si zorunludur." }; } await prisma.galleryImage.create({ data: { src, alt, order, }, }); revalidatePath("/admin/gallery"); revalidatePath("/"); revalidatePath("/tr"); revalidatePath("/en"); return { success: true }; } catch (error) { console.error("Error creating gallery image:", error); return { success: false, error: "Galeri görseli eklenirken bir hata oluştu." }; } } export async function updateGalleryImage(id: string, formData: FormData) { try { const src = formData.get("src") as string; const alt = formData.get("alt") as string || ""; const orderStr = formData.get("order") as string; const order = orderStr ? parseInt(orderStr, 10) : 0; if (!src) { return { success: false, error: "Görsel URL'si zorunludur." }; } await prisma.galleryImage.update({ where: { id }, data: { src, alt, order, }, }); revalidatePath("/admin/gallery"); revalidatePath("/"); revalidatePath("/tr"); revalidatePath("/en"); return { success: true }; } catch (error) { console.error("Error updating gallery image:", error); return { success: false, error: "Galeri görseli güncellenirken bir hata oluştu." }; } } export async function deleteGalleryImage(id: string) { try { await prisma.galleryImage.delete({ where: { id }, }); revalidatePath("/admin/gallery"); revalidatePath("/"); revalidatePath("/tr"); revalidatePath("/en"); return { success: true }; } catch (error) { console.error("Error deleting gallery image:", error); return { success: false, error: "Galeri görseli silinirken bir hata oluştu." }; } }