fix: Aplicar fallbacks en servicio de analíticas y actualizar esquema de base de datos
This commit is contained in:
@ -19,8 +19,8 @@ export const analyticsService = {
|
|||||||
|
|
||||||
const payload = {
|
const payload = {
|
||||||
event_name: event.event_name,
|
event_name: event.event_name,
|
||||||
entity_type: event.entity_type,
|
entity_type: event.entity_type || 'system',
|
||||||
entity_id: event.entity_id,
|
entity_id: event.entity_id || 'none',
|
||||||
entity_name: event.entity_name,
|
entity_name: event.entity_name,
|
||||||
properties: event.properties || {},
|
properties: event.properties || {},
|
||||||
user_id: userData?.user ? userData.user.id : null
|
user_id: userData?.user ? userData.user.id : null
|
||||||
|
|||||||
@ -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 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);
|
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());
|
||||||
|
|||||||
Reference in New Issue
Block a user