40227-vm/backend/src/api/controllers/search.controller.ts
2026-06-10 18:27:19 +02:00

27 lines
762 B
TypeScript

import type { Request, Response } from 'express';
import logger from '@/shared/logger';
import SearchService from '@/services/search';
export async function search(req: Request, res: Response): Promise<void> {
const { searchQuery, organizationId } = req.body;
const globalAccess = req.currentUser?.app_role?.globalAccess ?? false;
if (!searchQuery) {
res.status(400).json({ error: 'Please enter a search query' });
return;
}
try {
const foundMatches = await SearchService.search(
searchQuery,
req.currentUser,
organizationId,
globalAccess,
);
res.json(foundMatches);
} catch (error) {
logger.error('Internal Server Error', error);
res.status(500).json({ error: 'Internal Server Error' });
}
}