-- FINAL ROBUST FIX: DATABASE VIEWS WITH AUTH JOIN (Phase 8) -- RUN THIS IN SUPABASE SQL EDITOR TO RESOLVE ALL GOVERNANCE ISSUES -- 1. TEAM MEMBERS VIEW (Joining auth.users for guaranteed email) CREATE OR REPLACE VIEW public.team_members_with_profiles AS SELECT tm.id, tm.team_id, tm.user_id, tm.role, tm.created_at, p.full_name, u.email FROM public.team_members tm LEFT JOIN public.profiles p ON tm.user_id = p.id LEFT JOIN auth.users u ON tm.user_id = u.id; GRANT SELECT ON public.team_members_with_profiles TO authenticated; -- 2. AUDIT LOGS VIEW CREATE OR REPLACE VIEW public.audit_logs_with_details AS SELECT al.id, al.user_id, al.action, al.agent_id, al.task_id, al.metadata, al.created_at, p.full_name AS actor_name, u.email AS actor_email, ag.name AS agent_name, t.title AS task_title FROM public.audit_logs al LEFT JOIN public.profiles p ON al.user_id = p.id LEFT JOIN auth.users u ON al.user_id = u.id LEFT JOIN public.agents ag ON al.agent_id = ag.id LEFT JOIN public.tasks t ON al.task_id = t.id; GRANT SELECT ON public.audit_logs_with_details TO authenticated; -- 3. RE-SYNC SCHEMA NOTIFY pgrst, 'reload schema';