from fastapi import APIRouter, Depends, Query from app.database import get_database from app.models.todo import SearchResponse from app.services.search_service import SearchService router = APIRouter(prefix="/api/search", tags=["search"]) @router.get("", response_model=SearchResponse) async def search_todos( q: str = Query(..., min_length=1, max_length=200, description="검색 키워드"), page: int = Query(1, ge=1, description="페이지 번호"), limit: int = Query(20, ge=1, le=100, description="페이지당 항목 수"), db=Depends(get_database), ): """F-017: 전문 검색 (제목/내용/태그, text score 기준 정렬)""" service = SearchService(db) return await service.search(query=q, page=page, limit=limit)