Files
parakasa/app/(dashboard)/dashboard/settings/actions.ts

43 lines
1.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use server"
import { createClient } from "@/lib/supabase-server"
import { revalidatePath } from "next/cache"
export async function updateSiteSettings(data: {
site_title: string
site_description: string
contact_email: string
contact_phone: string
currency: string
}) {
const supabase = createClient()
// Check admin is already handled by RLS on database level, but we can double check here
const { data: { user } } = await supabase.auth.getUser()
if (!user) return { error: "Oturum açmanız gerekiyor." }
// We update the single row where id is likely 1 or just the first row
// Since we initialized it with one row, we can just update match on something true or fetch id first.
// Easier: Update all rows (there should only be one) or fetch the specific ID first.
// Let's first get the ID just to be precise
const { data: existing } = await supabase.from('site_settings').select('id').single()
if (!existing) {
return { error: "Ayarlar bulunamadı." }
}
const { error } = await supabase
.from('site_settings')
.update(data)
.eq('id', existing.id)
if (error) {
return { error: "Ayarlar güncellenemedi: " + error.message }
}
revalidatePath("/dashboard/settings")
revalidatePath("/") // Revalidate home as it might use these settings
return { success: true }
}