sumaq/backend/app/api/v1/endpoints/users.py

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