from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.orm import Session from typing import List from database import get_db from models import User from security import get_password_hash, get_current_active_user from services import users from 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