'use server' import { revalidatePath } from 'next/cache' import { redirect } from 'next/navigation' import { auth } from '@/lib/auth' import { supabaseAdmin } from '@/lib/supabaseAdmin' async function requireAdmin() { const session = await auth() if (!session || (session.user as any)?.role !== 'ADMIN') { throw new Error('Yetkisiz erişim') } } export async function updateSettingsAction(formData: FormData) { await requireAdmin() const trialDaysRaw = String(formData.get('trial_days') || '').trim() const trialDays = parseInt(trialDaysRaw, 10) if (!trialDaysRaw || isNaN(trialDays) || trialDays < 1) { redirect('/admin/settings?error=' + encodeURIComponent('Deneme süresi 1 veya daha büyük bir tam sayı olmalı')) } const { error } = await supabaseAdmin .from('app_settings') .update({ trial_days: trialDays, updated_at: new Date().toISOString() }) .eq('id', true) if (error) { redirect('/admin/settings?error=' + encodeURIComponent(error.message)) } revalidatePath('/admin/settings') redirect('/admin/settings?success=1') }