Files
book_library_server/fastapi_book_server/app/views/source.py
2021-11-14 10:58:52 +03:00

28 lines
711 B
Python

from fastapi import APIRouter, Depends
from fastapi_pagination import Params, Page
from fastapi_pagination.ext.ormar import paginate
from app.models import Source as SourceDB
from app.serializers.source import Source, CreateSource
from app.depends import check_token
source_router = APIRouter(
prefix="/api/v1/sources",
tags=["source"],
dependencies=[Depends(check_token)],
)
@source_router.get("", response_model=Page[Source], dependencies=[Depends(Params)])
async def get_sources():
return await paginate(SourceDB.objects)
@source_router.post("", response_model=Source)
async def create_source(data: CreateSource):
return await SourceDB.objects.create(
**data.dict()
)