reshape search

This commit is contained in:
seb
2026-06-29 10:23:32 +02:00
parent b278d3cf92
commit 3bff749b49
7 changed files with 103 additions and 29 deletions

View File

@@ -11,7 +11,9 @@ export function register(app, basePath = '') {
* @description Search articles by partial match on name, number, EAN, barcode, or supplier number.
* @query {string} target - Space-separated search terms
* @query {string} [filter] - Optional comma-separated category filter IDs (empty = all)
* @returns {Object} 200 - `{ katagg, recordset }`
* @query {number} [offset=0] - Number of results to skip
* @query {number} [maxCount=10] - Maximum number of results to return
* @returns {Object} 200 - `{ katagg, length, recordset }`
* @returns {Object} 400 - `{ error }` when target is missing
*/
app.get(`${basePath}/article/search`, async (req, res) => {
@@ -23,7 +25,9 @@ export function register(app, basePath = '') {
try {
const filter = parseFilter(req.query.filter);
const result = await searchArticles(String(target), filter);
const offset = req.query.offset !== undefined ? Number(req.query.offset) : 0;
const maxCount = req.query.maxCount !== undefined ? Number(req.query.maxCount) : 10;
const result = await searchArticles(String(target), filter, offset, maxCount);
return res.status(200).json(result);
} catch (error) {
return res.status(500).json({ error: error.message });