30 lines
954 B
Python
30 lines
954 B
Python
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
from typing import List
|
|
from app.db.database import get_db
|
|
from app.models.user import User as UserModel
|
|
from app.api.deps import get_current_active_user
|
|
from app.services.users import UserService
|
|
from app.schemas.user import UserCreate, User
|
|
|
|
router = APIRouter()
|
|
|
|
def get_user_service(db: Session = Depends(get_db)) -> UserService:
|
|
return UserService(db)
|
|
|
|
@router.post("/", response_model=User)
|
|
def create_user(user: UserCreate, service: UserService = Depends(get_user_service)):
|
|
return service.create_user(user)
|
|
|
|
@router.get("/", response_model=List[User])
|
|
def read_users(
|
|
skip: int = 0,
|
|
limit: int = 100,
|
|
service: UserService = Depends(get_user_service)
|
|
):
|
|
return service.get_users(skip=skip, limit=limit)
|
|
|
|
@router.get("/me", response_model=User)
|
|
def read_users_me(current_user: UserModel = Depends(get_current_active_user)):
|
|
return current_user
|