project.py
1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import time
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
from aiocache import cached
router = APIRouter(
prefix='/proyecto',
tags=['proyecto'],
)
###############################################################################
# GET
###############################################################################
# @router.get('/{project_id}', response_model=schemas.project.Project)
# def fetch_branch(
# project_id: int,
# db: Session = Depends(model.get_db),
# ):
# return models.project.get_project(db, project_id)
@router.get('/search', response_model=schemas.project.Search)
def fetch_search(
query: schema.SearchQueryParams = Depends(),
):
if query.q is None or len(query.q) < 3:
return []
return do_search(query.q, query.page)
###############################################################################
# GET
###############################################################################
# @cached(ttl=10)
def do_search(query, page):
return search.do_search(query, page)