refactor on components and delete clear, profesional login
This commit is contained in:
@@ -4,15 +4,6 @@ import { basicAuthMiddleware } from '../middlewares/auth.js';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.delete('/', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
const count = await clearAllArticles();
|
||||
res.json({ success: true, message: `Todos los artículos eliminados: ${count} artículos borrados`, count });
|
||||
} catch (error) {
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
});
|
||||
|
||||
// Obtener artículos notificados (requiere autenticación obligatoria)
|
||||
router.get('/', basicAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import express from 'express';
|
||||
import { getFavorites, getNotifiedArticles, getDB, getWorkers, clearAllArticles } from '../services/mongodb.js';
|
||||
import { getFavorites, getNotifiedArticles, getDB, getWorkers } from '../services/mongodb.js';
|
||||
import { basicAuthMiddleware } from '../middlewares/auth.js';
|
||||
import { adminAuthMiddleware } from '../middlewares/adminAuth.js';
|
||||
import { broadcast } from '../services/websocket.js';
|
||||
@@ -92,75 +92,5 @@ router.get('/stats', basicAuthMiddleware, async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// Limpiar toda la caché de MongoDB (requiere autenticación de administrador)
|
||||
router.delete('/cache', basicAuthMiddleware, adminAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
const db = getDB();
|
||||
if (!db) {
|
||||
return res.status(500).json({ error: 'MongoDB no está disponible' });
|
||||
}
|
||||
|
||||
// Eliminar todos los artículos
|
||||
const count = await clearAllArticles();
|
||||
|
||||
// Notificar a los clientes WebSocket
|
||||
broadcast({
|
||||
type: 'cache_cleared',
|
||||
data: { count, timestamp: Date.now() }
|
||||
});
|
||||
|
||||
// También notificar actualización de artículos (ahora está vacío)
|
||||
broadcast({ type: 'articles_updated', data: [] });
|
||||
|
||||
// También actualizar favoritos (debería estar vacío ahora)
|
||||
const favorites = await getFavorites(null);
|
||||
broadcast({ type: 'favorites_updated', data: favorites, username: null });
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
message: `Todos los artículos eliminados: ${count} artículos borrados`,
|
||||
count
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error limpiando cache de MongoDB:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
});
|
||||
|
||||
// Endpoint específico para borrar artículos (alias de /cache para claridad)
|
||||
router.delete('/articles', basicAuthMiddleware, adminAuthMiddleware, async (req, res) => {
|
||||
try {
|
||||
const db = getDB();
|
||||
if (!db) {
|
||||
return res.status(500).json({ error: 'MongoDB no está disponible' });
|
||||
}
|
||||
|
||||
// Eliminar todos los artículos
|
||||
const count = await clearAllArticles();
|
||||
|
||||
// Notificar a los clientes WebSocket
|
||||
broadcast({
|
||||
type: 'articles_cleared',
|
||||
data: { count, timestamp: Date.now() }
|
||||
});
|
||||
|
||||
// También notificar actualización de artículos (ahora está vacío)
|
||||
broadcast({ type: 'articles_updated', data: [] });
|
||||
|
||||
// También actualizar favoritos (debería estar vacío ahora)
|
||||
const favorites = await getFavorites(null);
|
||||
broadcast({ type: 'favorites_updated', data: favorites, username: null });
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
message: `Todos los artículos eliminados: ${count} artículos borrados`,
|
||||
count
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error borrando artículos:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user