Correcao Sidebar Classico e Rail, Correcao Layout, Ajuste de Breakpoint para Tailwind, Ajuste AppTopbar, Ajuste Menu PopOver, Recriado Paleta de Cores, Inserido algumas animações leves, Reajuste Cor items NOVOS da tabela, Drawer Ajuda Corrigido no Logout, Whatsapp, sms, email, recursos extras

This commit is contained in:
Leonardo
2026-03-24 21:26:58 -03:00
parent a89d1f5560
commit 53a4980396
453 changed files with 121427 additions and 174407 deletions

View File

@@ -0,0 +1,184 @@
-- =============================================================================
-- SEED 013 — Subscriptions + Determined Commitments
-- =============================================================================
-- Execute APÓS: seed_010 (plans), seed_011 (features), seed_012 (plan_features)
-- E APÓS: seed_001, seed_002, seed_003 (usuários e tenants)
--
-- Cria subscriptions para todos os usuários de teste e chama
-- seed_determined_commitments() para tenants que ainda não têm.
--
-- Mapeamento:
-- paciente@ (user_id) → patient_free
-- terapeuta@ (user_id) → therapist_free
-- clinica1@ (tenant_id) → clinic_free (coworking)
-- clinica2@ (tenant_id) → clinic_free (recepção)
-- clinica3@ (tenant_id) → clinic_free (full)
-- supervisor@ (user_id) → supervisor_free
-- editor@ (user_id) → therapist_free (acesso via platform_roles)
-- therapist2@ (user_id) → therapist_free
-- therapist3@ (user_id) → therapist_free
-- secretary@ → sem plano próprio (usa plano da Clínica 2)
-- saas@ → saas_admin (sem plano)
-- =============================================================================
BEGIN;
-- Limpa subscriptions de seed anteriores
DELETE FROM public.subscriptions WHERE source = 'seed';
-- ============================================================
-- 1. Subscriptions — user_id scope (therapist, patient, supervisor)
-- ============================================================
-- Paciente → patient_free
INSERT INTO public.subscriptions (
user_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'aaaaaaaa-0001-0001-0001-000000000001',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'patient_free';
-- Terapeuta → therapist_free
INSERT INTO public.subscriptions (
user_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'aaaaaaaa-0002-0002-0002-000000000002',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'therapist_free';
-- Supervisor → supervisor_free
INSERT INTO public.subscriptions (
user_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'aaaaaaaa-0007-0007-0007-000000000007',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'supervisor_free';
-- Editor → therapist_free (acesso editor vem de platform_roles)
INSERT INTO public.subscriptions (
user_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'aaaaaaaa-0008-0008-0008-000000000008',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'therapist_free';
-- Terapeuta 2 → therapist_free
INSERT INTO public.subscriptions (
user_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'aaaaaaaa-0009-0009-0009-000000000009',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'therapist_free';
-- Terapeuta 3 → therapist_free
INSERT INTO public.subscriptions (
user_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'aaaaaaaa-0010-0010-0010-000000000010',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'therapist_free';
-- ============================================================
-- 2. Subscriptions — tenant_id scope (clinic)
-- ============================================================
-- Clínica 1 (Espaço Psi / Coworking) → clinic_free
INSERT INTO public.subscriptions (
tenant_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'bbbbbbbb-0003-0003-0003-000000000003',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'clinic_free';
-- Clínica 2 (Mente sã / Recepção) → clinic_free
INSERT INTO public.subscriptions (
tenant_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'bbbbbbbb-0004-0004-0004-000000000004',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'clinic_free';
-- Clínica 3 (Bem Estar / Full) → clinic_free
INSERT INTO public.subscriptions (
tenant_id, plan_id, plan_key, status, "interval",
current_period_start, current_period_end,
source, started_at, activated_at
)
SELECT
'bbbbbbbb-0005-0005-0005-000000000005',
p.id, p.key, 'active', 'month',
now(), now() + interval '1 year',
'seed', now(), now()
FROM public.plans p WHERE p.key = 'clinic_free';
-- ============================================================
-- 3. Determined Commitments (idempotente por design da função)
-- ============================================================
-- Chama para todos os tenants. A função usa ON CONFLICT internamente.
DO $$ BEGIN PERFORM public.seed_determined_commitments('bbbbbbbb-0002-0002-0002-000000000002'); END $$; -- Terapeuta
DO $$ BEGIN PERFORM public.seed_determined_commitments('bbbbbbbb-0003-0003-0003-000000000003'); END $$; -- Clínica 1
DO $$ BEGIN PERFORM public.seed_determined_commitments('bbbbbbbb-0004-0004-0004-000000000004'); END $$; -- Clínica 2
DO $$ BEGIN PERFORM public.seed_determined_commitments('bbbbbbbb-0005-0005-0005-000000000005'); END $$; -- Clínica 3
DO $$ BEGIN PERFORM public.seed_determined_commitments('bbbbbbbb-0009-0009-0009-000000000009'); END $$; -- Terapeuta 2
DO $$ BEGIN PERFORM public.seed_determined_commitments('bbbbbbbb-0010-0010-0010-000000000010'); END $$; -- Terapeuta 3
-- ============================================================
-- 4. Confirma
-- ============================================================
DO $$
DECLARE
v_count integer;
BEGIN
SELECT count(*) INTO v_count FROM public.subscriptions WHERE source = 'seed';
RAISE NOTICE 'seed_013_subscriptions: % subscriptions ativas criadas.', v_count;
SELECT count(*) INTO v_count FROM public.determined_commitments WHERE is_native = true;
RAISE NOTICE 'seed_013_subscriptions: % determined_commitments nativos existentes.', v_count;
END;
$$;
COMMIT;