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:
184
database-novo/seeds/seed_013_subscriptions.sql
Normal file
184
database-novo/seeds/seed_013_subscriptions.sql
Normal 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;
|
||||
Reference in New Issue
Block a user