Files
chatc2/scripts/habilitar-acesso-web.js
AyronSantos ae629d1dc2 Migração para PostgreSQL multi-driver + correções de segurança
- Camada de banco unificada (src/database.js): drivers Postgres/Firebird,
  tradutor de SQL, suporte a schema e pool de conexões
- Conexões: novo_local (Postgres externo) e firebird_local (legado)
- Tela de rotas da API redesenhada (auth, params, exemplos de body)
- Correções de segurança (críticos/altos/médios/baixos): XSS no chat,
  escalonamento de privilégio, mídia autenticada, SQL restrito a gerente,
  JWT sem fallback + issuer, IDOR em conversas, CORS por allowlist,
  rate-limit no login, limites de corpo por rota
- Deploy alinhado: install.sh grava .env com PG_*, migracoes.js driver-aware

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 10:02:59 -03:00

64 lines
2.0 KiB
JavaScript

/**
* Script para habilitar acesso WEB a um usuário existente.
* Uso: node scripts/habilitar-acesso-web.js <LOGIN> [alias]
*
* @param {string} LOGIN - Login do usuário
* @param {string} [alias=lajedo] - Alias do banco de dados
*/
const db = require('../src/database');
async function main() {
const login = process.argv[2];
const alias = process.argv[3] || 'lajedo';
if (!login) {
console.log('Uso: node scripts/habilitar-acesso-web.js <LOGIN> [alias]');
console.log('Ex: node scripts/habilitar-acesso-web.js SUPORTE lajedo');
process.exit(1);
}
// Verifica se o usuário existe
const users = await db.query(alias,
'SELECT USU_CODIGO_ID, USU_NOME, USU_LOGIN, USU_ACESSO_WEB, USU_STATUS, USU_SENHA_WEB FROM USUARIOS WHERE USU_LOGIN = ?',
[login]
);
if (users.length === 0) {
console.log(`❌ Usuário "${login}" não encontrado no alias "${alias}".`);
process.exit(1);
}
const user = users[0];
console.log('=== Usuário encontrado ===');
console.log(`Alias: ${alias}`);
console.log(`ID: ${user.USU_CODIGO_ID}`);
console.log(`Nome: ${user.USU_NOME.trim()}`);
console.log(`Login: ${user.USU_LOGIN.trim()}`);
console.log(`Acesso Web: ${user.USU_ACESSO_WEB === 1 ? '✅ Sim' : '❌ Não'}`);
console.log(`Status: ${user.USU_STATUS === 'A' ? '✅ Ativo' : '❌ Inativo'}`);
console.log(`Senha Web: ${user.USU_SENHA_WEB || '(vazia)'}`);
// Habilita acesso web
await db.execute(alias,
'UPDATE USUARIOS SET USU_ACESSO_WEB = 1 WHERE USU_CODIGO_ID = ?',
[user.USU_CODIGO_ID]
);
console.log('\n✅ Acesso WEB habilitado com sucesso!');
console.log(` Agora o usuário "${login}" pode usar o app.`);
if (!user.USU_SENHA_WEB) {
console.log('\n⚠️ ATENÇÃO: O usuário não possui senha web (USU_SENHA_WEB).');
console.log(' Defina uma senha para que o login funcione.');
console.log(' Ex: node scripts/definir-senha-web.js SUPORTE 123456 ' + alias);
}
process.exit(0);
}
main().catch(err => {
console.error('Erro:', err.message);
process.exit(1);
});