Files
webshop/shop/lib/actions/partners.ts
DanielS 4e86ad7a9d
All checks were successful
Staging Build / build (push) Successful in 2m44s
Rename companies to partners and update UI
2026-06-24 22:29:51 +02:00

50 lines
1.3 KiB
TypeScript

'use server'
import { createAdminClient } from '@/lib/supabase/admin'
import { revalidatePath } from 'next/cache'
export async function getPartners() {
const admin = createAdminClient()
const { data, error } = await admin
.from('partners')
.select('id, name, created_at')
.order('name', { ascending: true })
if (error) throw error
return data || []
}
export async function createPartner(name: string) {
const admin = createAdminClient()
const { data, error } = await admin
.from('partners')
.insert({ name: name.trim() })
.select()
.single()
if (error) throw error
revalidatePath('/admin/partners')
revalidatePath('/admin/users')
return data
}
export async function deletePartner(id: string) {
const admin = createAdminClient()
const { error } = await admin
.from('partners')
.delete()
.eq('id', id)
if (error) throw error
revalidatePath('/admin/partners')
revalidatePath('/admin/users')
}
export async function assignPartnerToUser(userId: string, partnerId: string | null) {
const admin = createAdminClient()
const { error } = await admin
.from('users')
.update({ partner_id: partnerId })
.eq('id', userId)
if (error) throw error
revalidatePath('/admin/users')
revalidatePath('/admin/einstellungen')
}