-- =====================================================
-- Tabela: desenvolvedores - Atualização para senha
-- Adiciona campo de senha para autenticação shell
-- =====================================================

-- Adicionar campo senha se não existir
DO $$
BEGIN
    IF NOT EXISTS (
        SELECT 1 FROM information_schema.columns 
        WHERE table_name = 'desenvolvedores' AND column_name = 'senha'
    ) THEN
        ALTER TABLE desenvolvedores ADD COLUMN senha VARCHAR(255) DEFAULT NULL;
        COMMENT ON COLUMN desenvolvedores.senha IS 'Senha para acesso ao sistema (SSH)';
    END IF;
END $$;

-- Adicionar campo senha_hash para armazenamento seguro
DO $$
BEGIN
    IF NOT EXISTS (
        SELECT 1 FROM information_schema.columns 
        WHERE table_name = 'desenvolvedores' AND column_name = 'senha_hash'
    ) THEN
        ALTER TABLE desenvolvedores ADD COLUMN senha_hash VARCHAR(255) DEFAULT NULL;
        COMMENT ON COLUMN desenvolvedores.senha_hash IS 'Hash da senha para exibição parcial';
    END IF;
END $$;

-- Adicionar campo usuario_sistema_criado
DO $$
BEGIN
    IF NOT EXISTS (
        SELECT 1 FROM information_schema.columns 
        WHERE table_name = 'desenvolvedores' AND column_name = 'usuario_sistema_criado'
    ) THEN
        ALTER TABLE desenvolvedores ADD COLUMN usuario_sistema_criado BOOLEAN DEFAULT FALSE;
        COMMENT ON COLUMN desenvolvedores.usuario_sistema_criado IS 'Se o usuário Linux foi criado para este desenvolvedor';
    END IF;
END $$;

-- Adicionar campo ultima_sincronizacao
DO $$
BEGIN
    IF NOT EXISTS (
        SELECT 1 FROM information_schema.columns 
        WHERE table_name = 'desenvolvedores' AND column_name = 'ultima_sincronizacao'
    ) THEN
        ALTER TABLE desenvolvedores ADD COLUMN ultima_sincronizacao TIMESTAMP DEFAULT NULL;
        COMMENT ON COLUMN desenvolvedores.ultima_sincronizacao IS 'Data/hora da última sincronização de pastas';
    END IF;
END $$;
