Files
recall/src/app/api/search/route.ts
T
darroyo 9af25927b7 feat: MVP-4 Sprint 1 - Query parser, real-time search, keyboard navigation
- Add query-parser.ts with AST for type:, tag:, is:favorite, is:pinned filters
- Integrate parser into search API
- Add real-time search with 300ms debounce in search-bar
- Add keyboard navigation (↑↓ Enter ESC) for Spotlight-like UX
- Add dropdown results display with loading state
- Add 22 tests for query parser

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 17:33:17 -03:00

19 lines
560 B
TypeScript

import { NextRequest } from 'next/server'
import { searchNotes } from '@/lib/search'
import { parseQuery } from '@/lib/query-parser'
import { createErrorResponse, createSuccessResponse } from '@/lib/errors'
export async function GET(req: NextRequest) {
try {
const { searchParams } = new URL(req.url)
const q = searchParams.get('q') || ''
const queryAST = parseQuery(q)
const notes = await searchNotes(queryAST.text, queryAST.filters)
return createSuccessResponse(notes)
} catch (error) {
return createErrorResponse(error)
}
}