This commit is contained in:
sebseb7
2026-04-04 14:47:37 +02:00
commit ab25981684
18 changed files with 2271 additions and 0 deletions

34
src/routes/search.js Normal file
View File

@@ -0,0 +1,34 @@
import { Router } from 'express';
import { SearchServiceError } from '../services/searchService.js';
export function createSearchRouter(searchService, broadcast) {
const router = Router();
router.post('/', async (request, response) => {
const { question } = request.body;
if (!question) {
response.status(400).json({
error: 'Missing required field: question',
example: { question: 'What are the latest developments in AI?' },
});
return;
}
try {
const result = await searchService.search(question);
response.json(result);
} catch (error) {
if (error instanceof SearchServiceError) {
broadcast(`❌ Error: ${error.message}`, 'error', error.details);
response.status(error.statusCode).json({ error: error.message });
return;
}
broadcast(`❌ Error: ${error.message}`, 'error', { error: error.stack });
response.status(500).json({ error: error.message });
}
});
return router;
}