feat: bypass administrador en memoria para desarrollo

This commit is contained in:
2026-08-10 03:24:43 +00:00
parent 091bbc0e95
commit bb9bac0aac
15 changed files with 268 additions and 4021 deletions
+18 -10
View File
@@ -593,13 +593,27 @@ app.post('/api/auth/login', async (req, res) => {
if (!dni || !password) {
return res.status(400).json({ error: 'DNI y contraseña requeridos' });
}
// Bypass TOTAL "en memoria" directamente en el controlador de la API para entornos sin DB
const adminDni = process.env.ADMIN_DNI || '12345678';
const adminPassword = process.env.ADMIN_PASSWORD || 'admin123';
if ((String(dni) === adminDni || dni === 'admin') && password === adminPassword) {
return res.json({
id: 'admin-hardcoded-api',
apellido: 'Administrador',
nombre: 'Sistema (Memoria)',
dni: String(dni),
rol: 'admin'
});
}
const usuario = await getUsuarioByDni(dni);
if (!usuario) {
return res.status(401).json({ error: 'Usuario no encontrado' });
}
const validPassword = verifyPassword(dni, password);
const validPassword = await verifyPassword(dni, password);
if (!validPassword) {
return res.status(401).json({ error: 'Contraseña incorrecta' });
}
@@ -618,7 +632,7 @@ app.post('/api/auth/change-password', async (req, res) => {
return res.status(400).json({ error: 'Todos los campos son requeridos' });
}
const validPassword = verifyPassword(dni, oldPassword);
const validPassword = await verifyPassword(dni, oldPassword);
if (!validPassword) {
return res.status(401).json({ error: 'Contraseña actual incorrecta' });
}
@@ -655,11 +669,5 @@ app.put('/api/auth/update-email', async (req, res) => {
const PORT = process.env.PORT || 4000;
const HOST = process.env.HOST || '0.0.0.0';
initDb().then(() => {
app.listen(Number(PORT), HOST, () => {
console.log(`MongoDB Server running on http://${HOST}:${PORT}`);
});
}).catch(err => {
console.error('Failed to initialize database:', err);
process.exit(1);
});
export { initDb };
export default app;