aubm / database /FINAL_SUPABASE_FIX.sql
cesjavi's picture
Fix: Database views with auth.users join for email access (Phase 8)
39244a4
-- 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';