32 lines
762 B
Python
32 lines
762 B
Python
from typing import Annotated
|
|
|
|
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
|
|
from models import db_helper
|
|
from schemas.user import UserRead, UserCreate
|
|
|
|
from crud import user as user_crud
|
|
|
|
router = APIRouter(
|
|
tags=["User"],
|
|
)
|
|
|
|
|
|
@router.get("", response_model=list[UserRead])
|
|
async def get_users(
|
|
session: Annotated[AsyncSession, Depends(db_helper.session_getter)]
|
|
):
|
|
users = await user_crud.get_all_users(session=session)
|
|
return users
|
|
|
|
|
|
@router.post("", response_model=UserRead)
|
|
async def create_user(
|
|
session: Annotated[AsyncSession, Depends(db_helper.session_getter)],
|
|
user_create: UserCreate,
|
|
):
|
|
user = await user_crud.create_user(session=session, user_create=user_create)
|
|
return user
|