-- ═══════════════════════════════════════════════════════════════════════════ -- Feature keys do Agendador Online -- Execute no Supabase SQL Editor -- ═══════════════════════════════════════════════════════════════════════════ -- ── 1. Inserir as features ────────────────────────────────────────────────── INSERT INTO public.features (key, name, descricao) VALUES ( 'agendador.online', 'Agendador Online', 'Permite que pacientes solicitem agendamentos via link público. Inclui aprovação manual ou automática, controle de horários e notificações.' ), ( 'agendador.link_personalizado', 'Link Personalizado do Agendador', 'Permite que o profissional escolha um slug de URL próprio para o agendador (ex: /agendar/dra-ana-silva) em vez de um link gerado automaticamente.' ) ON CONFLICT (key) DO UPDATE SET name = EXCLUDED.name, descricao = EXCLUDED.descricao; -- ── 2. Vincular aos planos ────────────────────────────────────────────────── -- ATENÇÃO: ajuste os filtros de plan key/name conforme seus planos reais. -- Exemplo: agendador.online disponível para planos PRO e acima. -- agendador.link_personalizado apenas para planos Elite/Superior. -- agendador.online → todos os planos com target 'therapist' ou 'clinic' -- (Adapte o WHERE conforme necessário) INSERT INTO public.plan_features (plan_id, feature_id, enabled) SELECT p.id, f.id, true FROM public.plans p CROSS JOIN public.features f WHERE f.key = 'agendador.online' AND p.is_active = true -- Comente a linha abaixo para liberar para TODOS os planos: -- AND p.key IN ('pro', 'elite', 'clinic_pro', 'clinic_elite') ON CONFLICT DO NOTHING; -- agendador.link_personalizado → apenas planos superiores -- Deixe comentado e adicione manualmente quando definir os planos: -- INSERT INTO public.plan_features (plan_id, feature_id, enabled) -- SELECT p.id, f.id, true -- FROM public.plans p -- CROSS JOIN public.features f -- WHERE f.key = 'agendador.link_personalizado' -- AND p.key IN ('elite', 'clinic_elite', 'pro_plus') -- ON CONFLICT DO NOTHING; -- ── 3. Verificação ───────────────────────────────────────────────────────── SELECT f.key, f.name, COUNT(pf.plan_id) AS planos_vinculados FROM public.features f LEFT JOIN public.plan_features pf ON pf.feature_id = f.id AND pf.enabled = true WHERE f.key IN ('agendador.online', 'agendador.link_personalizado') GROUP BY f.key, f.name ORDER BY f.key;