-
Notifications
You must be signed in to change notification settings - Fork 1
/
routes.py
26 lines (19 loc) · 831 Bytes
/
routes.py
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
from fastapi import APIRouter, Body, Request, Response, HTTPException, status
from fastapi.encoders import jsonable_encoder
from typing import List
from run import scrapData
import json
from models import Data
router = APIRouter()
@router.post("/", response_description="Insert Data", status_code=status.HTTP_201_CREATED, response_model=Data)
def create_book(request: Request, data: Data = Body(...)):
dataStr = json.dumps(scrapData())
new_data = request.app.database["data"].insert_one(dataStr)
created_data = request.app.database["data"].find_one(
{"_id": new_data.inserted_id}
)
return created_data
@router.get("/", response_description="List all data", response_model=List[Data])
def list_books(request: Request):
data = list(request.app.database["data"].find(limit=100))
return data