43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
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;
|
||
|