-- =============================================================================
-- Migration v27: Correções do módulo Minha Clínica
-- Data: 2026-02-24
-- =============================================================================

-- 1. Atualiza o ENUM de status do master_agendamentos
--    Mantém todos os valores existentes (v7: em_atendimento, faltou) e adiciona os novos
--    Adiciona: 'falta' (alias de faltou), 'pagamento_realizado', 'finalizado'
ALTER TABLE master_agendamentos
    MODIFY COLUMN status ENUM(
        'agendado',
        'confirmado',
        'em_atendimento',
        'realizado',
        'cancelado',
        'faltou',
        'falta',
        'pagamento_realizado',
        'finalizado'
    ) DEFAULT 'agendado';

-- 2. Corrige registros com status vazio (gravados indevidamente por MySQL em modo não-estrito)
UPDATE master_agendamentos SET status = 'falta' WHERE status = '';

-- 3. Garante permissões do módulo Minha Clínica no sistema de permissões
INSERT IGNORE INTO `permissoes` (`nome`, `chave`, `descricao`) VALUES
('Dashboard Minha Clínica', 'master_dashboard', 'Acesso ao dashboard do módulo Minha Clínica'),
('Financeiro Minha Clínica', 'minha_clinica_financeiro', 'Acesso ao módulo financeiro e repasses'),
('Prontuário do Paciente', 'prontuario_paciente', 'Permite registrar e visualizar evoluções clínicas'),
('Caixa - Acessar', 'caixa_acessar', 'Permite acessar o caixa próprio'),
('Caixa - Abrir/Fechar', 'caixa_abrir_fechar', 'Permite abrir e fechar o caixa'),
('Caixa - Gerenciar Todos', 'caixa_gerenciar_todos', 'Permite gerenciar caixas de todos os usuários');

-- 4. Associa as novas permissões ao perfil Admin (ID 1)
INSERT IGNORE INTO `perfil_permissoes` (`perfil_id`, `permissao_id`)
SELECT 1, id FROM `permissoes`
WHERE `chave` IN (
    'master_dashboard',
    'minha_clinica_financeiro',
    'prontuario_paciente',
    'caixa_acessar',
    'caixa_abrir_fechar',
    'caixa_gerenciar_todos'
);
