mirror of
https://github.com/kevin-DL/fast_api_api_template.git
synced 2026-01-11 09:44:34 +00:00
30 lines
892 B
Python
30 lines
892 B
Python
from typing import List
|
|
|
|
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
|
|
from crud.items import create_user_item, get_items
|
|
from schemas.items import Item, ItemCreate
|
|
from schemas.users import User
|
|
from deps import get_current_active_user, get_db
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/users/me/items/", response_model=List[Item])
|
|
async def read_own_items(current_user: User = Depends(get_current_active_user)):
|
|
return current_user.items
|
|
|
|
|
|
@router.post("/users/{user_id}/items/", response_model=Item)
|
|
def create_item_for_user(
|
|
user_id: str, item: ItemCreate, db: Session = Depends(get_db)
|
|
):
|
|
return create_user_item(db=db, item=item, user_id=user_id)
|
|
|
|
|
|
@router.get("/items/", response_model=List[Item])
|
|
def read_items(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
|
|
items = get_items(db, skip=skip, limit=limit)
|
|
return items
|