Files
SDSStundenerfassung/routes/project-search-routes.js

43 lines
1.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const { requireAuth } = require('../middleware/auth');
const { searchProjectsByDescription } = require('../services/mssql-infra-service');
function registerProjectSearchRoutes(app) {
// Seite für Projektsuche für alle eingeloggten Nutzer
app.get('/projects/search', requireAuth, (req, res) => {
res.render('project-search', {
user: {
id: req.session.userId,
firstname: req.session.firstname,
lastname: req.session.lastname,
username: req.session.username,
roles: req.session.roles || [],
currentRole: req.session.currentRole || 'mitarbeiter'
},
error: null
});
});
// API-Endpunkt für Projektsuche über MSSQL
app.get('/api/projects/search', requireAuth, async (req, res) => {
const term = (req.query.term || '').trim();
if (!term) {
return res.status(400).json({ error: 'Suchbegriff fehlt' });
}
try {
const results = await searchProjectsByDescription(term);
res.json({ results });
} catch (err) {
console.error('Fehler bei MSSQL-Projektsuche:', err.message);
return res.status(500).json({
error:
'Projektsuche ist aktuell nicht verfügbar. Bitte prüfen Sie die MSSQL-Konfiguration im Adminbereich oder versuchen Sie es später erneut.'
});
}
});
}
module.exports = registerProjectSearchRoutes;