2026-04-17 15:23:00 +02:00
|
|
|
import type { RequestHandler } from './$types';
|
|
|
|
|
import { json } from '@sveltejs/kit';
|
|
|
|
|
import { getDb } from '$lib/server/db';
|
|
|
|
|
import { listRecentRecipes, searchLocal } from '$lib/server/recipes/search-local';
|
|
|
|
|
|
|
|
|
|
export const GET: RequestHandler = async ({ url }) => {
|
|
|
|
|
const q = url.searchParams.get('q')?.trim() ?? '';
|
|
|
|
|
const limit = Math.min(Number(url.searchParams.get('limit') ?? 30), 100);
|
2026-04-17 21:58:47 +02:00
|
|
|
const offset = Math.max(0, Number(url.searchParams.get('offset') ?? 0));
|
|
|
|
|
const hits =
|
|
|
|
|
q.length >= 1
|
2026-04-21 21:59:48 +02:00
|
|
|
? searchLocal(getDb(), q, limit, offset)
|
2026-04-17 21:58:47 +02:00
|
|
|
: offset === 0
|
|
|
|
|
? listRecentRecipes(getDb(), limit)
|
|
|
|
|
: [];
|
2026-04-17 15:23:00 +02:00
|
|
|
return json({ query: q, hits });
|
|
|
|
|
};
|