feat(wizard): add partner filter and pagination to customer step
All checks were successful
Staging Build / build (push) Successful in 2m52s

This commit is contained in:
DanielS
2026-07-21 10:43:21 +02:00
parent 8b4fd5f02e
commit 07208fcad0
4 changed files with 338 additions and 70 deletions

View File

@@ -0,0 +1,21 @@
-- Migration: Rollenbasierte Endkunden-RLS für Wizard und Partner-Dashboard
-- Stellt sicher, dass Admins alle Endkunden sehen/filtern können und Partner strikt ihre eigenen.
CREATE OR REPLACE FUNCTION public.is_admin(user_id UUID)
RETURNS BOOLEAN AS $$
SELECT EXISTS (
SELECT 1 FROM public.users
WHERE id = user_id AND role = 'admin'
);
$$ LANGUAGE sql STABLE SECURITY DEFINER;
-- SELECT Policy auf end_customers
DROP POLICY IF EXISTS "Partner sehen nur eigene Endkunden" ON public.end_customers;
CREATE POLICY "Partner sehen nur eigene Endkunden" ON public.end_customers
FOR SELECT USING (partner_id = public.get_auth_company_id() OR public.is_admin(auth.uid()));
-- ALL/INSERT/UPDATE Policy auf end_customers
DROP POLICY IF EXISTS "Partner verwalten eigene Endkunden" ON public.end_customers;
CREATE POLICY "Partner verwalten eigene Endkunden" ON public.end_customers
FOR ALL USING (partner_id = public.get_auth_company_id() OR public.is_admin(auth.uid()))
WITH CHECK (partner_id = public.get_auth_company_id() OR public.is_admin(auth.uid()));