search.py
918 Bytes
from typing import List, Any, Optional, Union
from fastapi import APIRouter, Depends, Request, HTTPException, Body
from sqlalchemy.orm import Session
from presupuestov1 import model, schema, constant, schemas, models, search
router = APIRouter(
tags=['search']
)
###############################################################################
# GET
###############################################################################
@router.get('/search', response_model=schemas.project.Search)
def fetch_search(
query: schema.SearchQueryParams = Depends(),
):
if query.q is None or len(query.q.strip()) < 3:
return {
'facet_counts': [],
'found': 0,
'out_of': 0,
'page': 0,
'search_time_ms': 0,
'hits': [],
}
return search.do_search(
query.q, query.page, query.is_class, query.class_, query.order
)