'use server' import { createAdminClient } from '@/lib/supabase/admin' import { revalidatePath } from 'next/cache' export async function getCompanies() { const admin = createAdminClient() const { data, error } = await admin.from('companies').select('*') if (error) throw error return data } export async function createCompany(data: { name: string; street?: string; zip?: string; city?: string; email?: string }) { const admin = createAdminClient() const { data: dbData, error } = await admin.from('companies').insert({ name: data.name, street: data.street || null, zip: data.zip || null, city: data.city || null, email: data.email || null, }).select().single() if (error) throw error revalidatePath('/admin/companies') return dbData } export async function updateCompany(id: string, data: { name: string; street?: string; zip?: string; city?: string; email?: string }) { const admin = createAdminClient() const { data: dbData, error } = await admin.from('companies').update({ name: data.name, street: data.street || null, zip: data.zip || null, city: data.city || null, email: data.email || null, }).eq('id', id).select().single() if (error) throw error revalidatePath('/admin/companies') return dbData } export async function deleteCompany(id: string) { const admin = createAdminClient() const { error } = await admin.from('companies').delete().eq('id', id) if (error) throw error revalidatePath('/admin/companies') return true } export async function assignCompanyToUser(userId: string, companyId: string | null) { const admin = createAdminClient() const { error } = await admin.from('users').update({ company_id: companyId }).eq('id', userId) if (error) throw error revalidatePath('/admin/users') return true }