# Routes for user. MAIN PART OF THE API from fastapi import APIRouter, status from sqlalchemy.orm import Session from fastapi import Depends from typing import List from schemas.user import UserCreate, ShowUser from db.session import get_db from db.repository.user import create_new_user, list_users router = APIRouter() @router.post("/", response_model=ShowUser, status_code=status.HTTP_201_CREATED) def create_user(user: UserCreate, db: Session = Depends(get_db)): user = create_new_user(user=user, db=db) return user @router.get("/", response_model=List[ShowUser], status_code=status.HTTP_200_OK) def get_all_users(db: Session = Depends(get_db), role: str = None): if role == None: users = list_users(db=db) return users users = list_users(db=db, role=role) return users