-- ============================================================
-- ERP - ActSafe | Migration v2 — Perfis e Automação de Unidades
-- Desenvolvido por Antônio da Luz
-- Execute este script no phpMyAdmin após o banco principal
-- ============================================================

-- 1. Adicionar coluna de senha temporária e flag de primeiro acesso na tabela usuarios
ALTER TABLE usuarios
    ADD COLUMN IF NOT EXISTS senha_temporaria TINYINT(1) NOT NULL DEFAULT 0 COMMENT '1 = usuário deve trocar a senha no próximo login',
    ADD COLUMN IF NOT EXISTS ativo TINYINT(1) NOT NULL DEFAULT 1 COMMENT '1 = ativo, 0 = inativo';

-- 2. Adicionar colunas de responsáveis na tabela unidades
ALTER TABLE unidades
    ADD COLUMN IF NOT EXISTS gestor_id INT NULL COMMENT 'FK para usuarios (perfil gestor_unidade)',
    ADD COLUMN IF NOT EXISTS tecnico_id INT NULL COMMENT 'FK para usuarios (perfil tecnico)',
    ADD COLUMN IF NOT EXISTS gestor_nome VARCHAR(150) NULL COMMENT 'Nome do gestor (cache)',
    ADD COLUMN IF NOT EXISTS tecnico_nome VARCHAR(150) NULL COMMENT 'Nome do técnico (cache)';

-- 3. Garantir que a tabela usuarios_unidades existe com índice único
CREATE TABLE IF NOT EXISTS usuarios_unidades (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario_id INT NOT NULL,
    unidade_id INT NOT NULL,
    criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY uq_usuario_unidade (usuario_id, unidade_id),
    KEY idx_usuario (usuario_id),
    KEY idx_unidade (unidade_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 4. Garantir coluna 'ativo' na tabela unidades (caso não exista)
ALTER TABLE unidades
    ADD COLUMN IF NOT EXISTS ativo TINYINT(1) NOT NULL DEFAULT 1;

-- Confirmação
SELECT 'Migration v2 aplicada com sucesso!' AS resultado;
