router.py
routerunknown
python
2 years ago
1.7 kB
20
Indexable
#router.py
from fastapi import APIRouter, HTTPException, Path, Depends
from config import SessionLocal
from sqlalchemy.orm import Session
from schemas import BookSchema, RequestBook, Response
import crud
router = APIRouter()
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
@router.post("/create", response_model=dict)
async def create(request: RequestBook, db: Session = Depends(get_db)):
crud.create_book(db, book=request.parameter)
return {"code": "200", "status": "Ok", "message": "Book created successfully", "result": {}}
@router.get("/", response_model=dict)
async def get(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
_book = crud.get_book(db, skip, limit)
return {"code": "200", "status": "Ok", "message": "Success fetch all data", "result": _book}
@router.get("/{id}", response_model=dict)
async def get_by_id(id: int, db: Session = Depends(get_db)):
_book = crud.get_book_by_id(db, id)
return {"code": "200", "status": "Ok", "message": "Success get data", "result": _book}
@router.post("/update", response_model=dict)
async def update_book(request: RequestBook, db: Session = Depends(get_db)):
_book = crud.update_book(db, book_id=request.parameter.id, title=request.parameter.title, description=request.parameter.description)
return {"code": "200", "status": "Ok", "message": "Success update data", "result": _book}
@router.delete("/{id}", response_model=dict)
async def delete(id: int, db: Session = Depends(get_db)):
crud.remove_book(db, book_id=id)
return {"code": "200", "status": "Ok", "message": "Success delete data", "result": {}}Editor is loading...
Leave a Comment