28 lines
924 B
Python
28 lines
924 B
Python
from fastapi import APIRouter, Depends, HTTPException, status
|
|
from sqlalchemy.orm import Session
|
|
from typing import List
|
|
from app.db.database import get_db
|
|
from app.models.models import User
|
|
from app.security import get_password_hash, get_current_active_user
|
|
from app.services import users
|
|
from app.schemas import UserCreate, User
|
|
|
|
router = APIRouter(
|
|
prefix="/users",
|
|
tags=["Users"],
|
|
dependencies=[Depends(get_current_active_user)]
|
|
)
|
|
|
|
@router.post("/", response_model=User)
|
|
def create_user(user: UserCreate, db: Session = Depends(get_db)):
|
|
return users.create_user(db, user)
|
|
|
|
@router.get("/", response_model=List[User])
|
|
def read_users(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
|
|
db_users = users.get_users(db, skip, limit)
|
|
return db_users
|
|
|
|
@router.get("/me", response_model=User)
|
|
def read_users_me(current_user: User = Depends(get_current_active_user)):
|
|
return current_user
|