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:
179
database-novo/fixes/fix_encoding_accents.sql
Normal file
179
database-novo/fixes/fix_encoding_accents.sql
Normal file
@@ -0,0 +1,179 @@
|
||||
-- =============================================================================
|
||||
-- FIX: Corrige acentuação perdida (caracteres ?? no banco)
|
||||
-- =============================================================================
|
||||
-- Causa: Seeds aplicados originalmente sem encoding UTF-8 correto.
|
||||
-- Os ?? são bytes literais 0x3F (ASCII ?) onde deveria haver UTF-8.
|
||||
-- Este fix faz UPDATE direto nos valores conhecidos.
|
||||
-- =============================================================================
|
||||
|
||||
BEGIN;
|
||||
|
||||
SET client_encoding TO 'UTF8';
|
||||
|
||||
-- ============================================================
|
||||
-- 1. PROFILES — full_name
|
||||
-- ============================================================
|
||||
UPDATE profiles SET full_name = 'Clínica Espaço Psi' WHERE id = 'aaaaaaaa-0003-0003-0003-000000000003' AND full_name != 'Clínica Espaço Psi';
|
||||
UPDATE profiles SET full_name = 'Clínica Mente Sã' WHERE id = 'aaaaaaaa-0004-0004-0004-000000000004' AND full_name != 'Clínica Mente Sã';
|
||||
UPDATE profiles SET full_name = 'Clínica Bem Estar' WHERE id = 'aaaaaaaa-0005-0005-0005-000000000005' AND full_name != 'Clínica Bem Estar';
|
||||
UPDATE profiles SET full_name = 'Gabriela Secretária' WHERE id = 'aaaaaaaa-0011-0011-0011-000000000011' AND full_name != 'Gabriela Secretária';
|
||||
|
||||
-- ============================================================
|
||||
-- 2. TENANTS — name
|
||||
-- ============================================================
|
||||
UPDATE tenants SET name = 'Clínica Espaço Psi' WHERE id = 'bbbbbbbb-0003-0003-0003-000000000003';
|
||||
UPDATE tenants SET name = 'Clínica Mente Sã' WHERE id = 'bbbbbbbb-0004-0004-0004-000000000004';
|
||||
UPDATE tenants SET name = 'Clínica Bem Estar' WHERE id = 'bbbbbbbb-0005-0005-0005-000000000005';
|
||||
|
||||
-- ============================================================
|
||||
-- 3. DETERMINED_COMMITMENTS — name
|
||||
-- ============================================================
|
||||
UPDATE determined_commitments SET name = 'Sessão' WHERE native_key = 'session';
|
||||
UPDATE determined_commitments SET name = 'Supervisão' WHERE native_key = 'supervision';
|
||||
UPDATE determined_commitments SET name = 'Análise Pessoal' WHERE native_key = 'analysis';
|
||||
|
||||
-- ============================================================
|
||||
-- 4. PLANS — name, description
|
||||
-- ============================================================
|
||||
UPDATE plans SET name = 'THERAPIST PRO', description = 'Plano profissional para terapeutas' WHERE key = 'therapist_pro' AND description LIKE '%??%';
|
||||
UPDATE plans SET name = 'CLINIC PRO', description = 'Plano profissional para clínicas' WHERE key = 'clinic_pro' AND description LIKE '%??%';
|
||||
UPDATE plans SET name = 'THERAPIST FREE', description = 'Plano gratuito para terapeutas' WHERE key = 'therapist_free' AND description LIKE '%??%';
|
||||
UPDATE plans SET name = 'CLINIC FREE', description = 'Plano gratuito para clínicas' WHERE key = 'clinic_free' AND description LIKE '%??%';
|
||||
|
||||
-- ============================================================
|
||||
-- 5. FEATURES — name, description
|
||||
-- ============================================================
|
||||
UPDATE features SET name = 'Agenda - Visualizar', description = 'Visualização da agenda' WHERE key = 'agenda.view';
|
||||
UPDATE features SET name = 'Agenda - Gerenciar', description = 'Gerenciamento completo da agenda' WHERE key = 'agenda.manage';
|
||||
UPDATE features SET name = 'Pacientes', description = 'Módulo de pacientes' WHERE key = 'patients';
|
||||
UPDATE features SET name = 'Pacientes - Visualizar', description = 'Visualização de pacientes' WHERE key = 'patients.view';
|
||||
UPDATE features SET name = 'Pacientes - Gerenciar', description = 'Gerenciamento completo de pacientes' WHERE key = 'patients.manage';
|
||||
UPDATE features SET name = 'Agendamento Online', description = 'Sistema de agendamento online' WHERE key = 'online_scheduling';
|
||||
UPDATE features SET name = 'Agendamento Online - Gerenciar', description = 'Gerenciamento do agendamento online' WHERE key = 'online_scheduling.manage';
|
||||
UPDATE features SET name = 'Agendamento Online - Público', description = 'Página pública do agendador' WHERE key = 'online_scheduling.public';
|
||||
UPDATE features SET name = 'Lembretes', description = 'Sistema de lembretes automáticos' WHERE key = 'reminders';
|
||||
UPDATE features SET name = 'Relatórios Básicos', description = 'Relatórios básicos' WHERE key = 'reports_basic';
|
||||
UPDATE features SET name = 'Relatórios Avançados', description = 'Relatórios avançados com exportação' WHERE key = 'reports_advanced';
|
||||
UPDATE features SET name = 'Secretária', description = 'Funcionalidade de secretária' WHERE key = 'secretary';
|
||||
UPDATE features SET name = 'Recepção Compartilhada', description = 'Recepção compartilhada entre terapeutas' WHERE key = 'shared_reception';
|
||||
UPDATE features SET name = 'Salas', description = 'Gerenciamento de salas' WHERE key = 'rooms';
|
||||
UPDATE features SET name = 'Intake Público', description = 'Formulário de intake público' WHERE key = 'intake_public';
|
||||
UPDATE features SET name = 'Intakes PRO', description = 'Funcionalidades avançadas de intake' WHERE key = 'intakes_pro';
|
||||
UPDATE features SET name = 'Branding Personalizado', description = 'Personalização de marca' WHERE key = 'custom_branding';
|
||||
UPDATE features SET name = 'Acesso API', description = 'Acesso via API' WHERE key = 'api_access';
|
||||
UPDATE features SET name = 'Log de Auditoria', description = 'Log de auditoria completo' WHERE key = 'audit_log';
|
||||
UPDATE features SET name = 'Lembrete SMS', description = 'Lembretes via SMS' WHERE key = 'sms_reminder';
|
||||
UPDATE features SET name = 'Calendário da Clínica', description = 'Visão consolidada do calendário' WHERE key = 'clinic_calendar';
|
||||
UPDATE features SET name = 'Relatórios Avançados (Clínica)', description = 'Relatórios avançados da clínica' WHERE key = 'advanced_reports';
|
||||
UPDATE features SET name = 'Supervisor - Acesso', description = 'Acesso ao módulo de supervisão' WHERE key = 'supervisor.access';
|
||||
UPDATE features SET name = 'Supervisor - Convidar', description = 'Convidar supervisionados' WHERE key = 'supervisor.invite';
|
||||
UPDATE features SET name = 'Supervisor - Sessões', description = 'Gerenciar sessões de supervisão' WHERE key = 'supervisor.sessions';
|
||||
UPDATE features SET name = 'Supervisor - Relatórios', description = 'Relatórios de supervisão' WHERE key = 'supervisor.reports';
|
||||
|
||||
-- ============================================================
|
||||
-- 6. EMAIL_TEMPLATES_GLOBAL — subject, body_html, body_text
|
||||
-- ============================================================
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Lembrete: sua sessão amanhã às {{session_time}}',
|
||||
body_text = 'Olá {{patient_name}}, lembrete da sua sessão amanhã às {{session_time}} com {{therapist_name}}.'
|
||||
WHERE key = 'session.reminder';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Sessão confirmada — {{session_date}} às {{session_time}}',
|
||||
body_text = 'Sua sessão com {{therapist_name}} em {{session_date}} às {{session_time}} foi confirmada.'
|
||||
WHERE key = 'session.confirmation';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Sessão cancelada — {{session_date}}',
|
||||
body_text = 'A sessão de {{session_date}} às {{session_time}} com {{therapist_name}} foi cancelada.'
|
||||
WHERE key = 'session.cancellation';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Sessão reagendada — novo horário: {{session_date}} às {{session_time}}',
|
||||
body_text = 'Sua sessão foi reagendada para {{session_date}} às {{session_time}} com {{therapist_name}}.'
|
||||
WHERE key = 'session.rescheduled';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Recebemos seu cadastro — {{patient_name}}',
|
||||
body_text = 'Olá {{patient_name}}, recebemos seu formulário de cadastro. Entraremos em contato em breve.'
|
||||
WHERE key = 'intake.received';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Cadastro aprovado — Bem-vindo(a)!',
|
||||
body_text = 'Olá {{patient_name}}, seu cadastro foi aprovado. Você já pode acessar a plataforma.'
|
||||
WHERE key = 'intake.approved';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Cadastro não aprovado',
|
||||
body_text = 'Olá {{patient_name}}, infelizmente seu cadastro não foi aprovado no momento.'
|
||||
WHERE key = 'intake.rejected';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Solicitação aceita — {{session_date}} às {{session_time}}',
|
||||
body_text = 'Sua solicitação de agendamento para {{session_date}} às {{session_time}} foi aceita.'
|
||||
WHERE key = 'scheduler.request_accepted';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Solicitação não disponível',
|
||||
body_text = 'Infelizmente o horário solicitado não está disponível. Por favor, escolha outro horário.'
|
||||
WHERE key = 'scheduler.request_rejected';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Bem-vindo(a) à AgenciaPsi!',
|
||||
body_text = 'Olá {{user_name}}, sua conta foi criada com sucesso. Acesse a plataforma para começar.'
|
||||
WHERE key = 'system.welcome';
|
||||
|
||||
UPDATE email_templates_global SET
|
||||
subject = 'Redefinição de senha — AgenciaPsi',
|
||||
body_text = 'Clique no link abaixo para redefinir sua senha: {{reset_link}}'
|
||||
WHERE key = 'system.password_reset';
|
||||
|
||||
-- ============================================================
|
||||
-- 7. LOGIN_CAROUSEL_SLIDES — title, description
|
||||
-- ============================================================
|
||||
UPDATE login_carousel_slides SET
|
||||
title = '<strong>Gestão clínica simplificada</strong>',
|
||||
body = 'Gerencie agenda, pacientes e financeiro em um só lugar. Simples, rápido e seguro.'
|
||||
WHERE ordem = 1;
|
||||
|
||||
UPDATE login_carousel_slides SET
|
||||
title = '<strong>Múltiplos profissionais, uma só plataforma</strong>',
|
||||
body = 'Ideal para clínicas com vários terapeutas. Cada profissional com sua agenda e seus pacientes.'
|
||||
WHERE ordem = 2;
|
||||
|
||||
UPDATE login_carousel_slides SET
|
||||
title = '<strong>Seguro, privado e sempre disponível</strong>',
|
||||
body = 'Seus dados protegidos com criptografia. Acesse de qualquer lugar, a qualquer hora.'
|
||||
WHERE ordem = 3;
|
||||
|
||||
-- ============================================================
|
||||
-- 8. PATIENT_GROUPS (default groups) — name
|
||||
-- ============================================================
|
||||
UPDATE patient_groups SET nome = 'Crianças' WHERE nome LIKE 'Crian%' AND is_system = true;
|
||||
UPDATE patient_groups SET nome = 'Adolescentes' WHERE nome LIKE 'Adolescen%' AND is_system = true;
|
||||
UPDATE patient_groups SET nome = 'Idosos' WHERE nome LIKE 'Idoso%' AND is_system = true;
|
||||
|
||||
-- ============================================================
|
||||
-- 9. AUTH.USERS — raw_user_meta_data (name field)
|
||||
-- ============================================================
|
||||
UPDATE auth.users SET raw_user_meta_data = jsonb_set(raw_user_meta_data, '{name}', '"Clínica Espaço Psi"') WHERE id = 'aaaaaaaa-0003-0003-0003-000000000003';
|
||||
UPDATE auth.users SET raw_user_meta_data = jsonb_set(raw_user_meta_data, '{name}', '"Clínica Mente Sã"') WHERE id = 'aaaaaaaa-0004-0004-0004-000000000004';
|
||||
UPDATE auth.users SET raw_user_meta_data = jsonb_set(raw_user_meta_data, '{name}', '"Clínica Bem Estar"') WHERE id = 'aaaaaaaa-0005-0005-0005-000000000005';
|
||||
UPDATE auth.users SET raw_user_meta_data = jsonb_set(raw_user_meta_data, '{name}', '"Gabriela Secretária"') WHERE id = 'aaaaaaaa-0011-0011-0011-000000000011';
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- ============================================================
|
||||
DO $$
|
||||
DECLARE
|
||||
broken_count int;
|
||||
BEGIN
|
||||
SELECT count(*) INTO broken_count
|
||||
FROM profiles WHERE full_name LIKE '%??%';
|
||||
|
||||
IF broken_count = 0 THEN
|
||||
RAISE NOTICE 'fix_encoding_accents: Todos os acentos corrigidos com sucesso.';
|
||||
ELSE
|
||||
RAISE WARNING 'fix_encoding_accents: Ainda restam % registros com ?? em profiles.full_name', broken_count;
|
||||
END IF;
|
||||
END $$;
|
||||
Reference in New Issue
Block a user