From 5a220310af2032d21460a962c15b6819d6228b03 Mon Sep 17 00:00:00 2001 From: Hanzo_dev <2002samudiojohan@gmail.com> Date: Wed, 4 Mar 2026 20:47:02 -0500 Subject: [PATCH] =?UTF-8?q?fix:=20Aplicar=20fallbacks=20en=20servicio=20de?= =?UTF-8?q?=20anal=C3=ADticas=20y=20actualizar=20esquema=20de=20base=20de?= =?UTF-8?q?=20datos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/services/analyticsService.ts | 4 ++-- supabase_schema.sql | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/frontend/src/services/analyticsService.ts b/frontend/src/services/analyticsService.ts index 9e1b4f0..a1f5347 100644 --- a/frontend/src/services/analyticsService.ts +++ b/frontend/src/services/analyticsService.ts @@ -19,8 +19,8 @@ export const analyticsService = { const payload = { event_name: event.event_name, - entity_type: event.entity_type, - entity_id: event.entity_id, + entity_type: event.entity_type || 'system', + entity_id: event.entity_id || 'none', entity_name: event.entity_name, properties: event.properties || {}, user_id: userData?.user ? userData.user.id : null diff --git a/supabase_schema.sql b/supabase_schema.sql index 6f96b69..c3461b7 100644 --- a/supabase_schema.sql +++ b/supabase_schema.sql @@ -297,3 +297,20 @@ CREATE POLICY "Users can manage own favorites" ON public.favorites FOR ALL USING CREATE POLICY "Users can view own coupons" ON public.user_coupons FOR SELECT USING (auth.uid() = user_id); CREATE POLICY "Users can manage own coupons" ON public.user_coupons FOR ALL USING (auth.uid() = user_id); + +-- 13. Analytics Events +CREATE TABLE IF NOT EXISTS public.analytics_events ( + id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + event_name TEXT NOT NULL, + entity_type TEXT NOT NULL, + entity_id TEXT NOT NULL, + entity_name TEXT, + user_id UUID REFERENCES public.users(id) ON DELETE SET NULL, + properties JSONB DEFAULT '{}'::jsonb, + created_at TIMESTAMPTZ DEFAULT NOW() +); + +-- Analytics events RLS +ALTER TABLE public.analytics_events ENABLE ROW LEVEL SECURITY; +CREATE POLICY "Public can insert analytics events" ON public.analytics_events FOR INSERT WITH CHECK (true); +CREATE POLICY "Admins can view all analytics events" ON public.analytics_events FOR SELECT USING (is_admin());