Реализация crud и его добавление в RESTfull

This commit is contained in:
2024-08-01 01:21:32 +09:00
parent bdd764c411
commit d02ca36777
15 changed files with 361 additions and 28 deletions

View File

@ -0,0 +1,57 @@
from fastapi import APIRouter, Depends
from core.settings import settings
from sqlalchemy.ext.asyncio import AsyncSession
from typing import Annotated
from repo.schemas import UserRead, UserCreate, UserUpdate
from core.models import db_helper
import repo.crud.user as crud
router = APIRouter(
prefix=settings.api.v1.user,
tags=["Users"]
)
@router.get("/", response_model=list[UserRead])
async def get_all_users(
session: Annotated[AsyncSession, Depends(db_helper.session_getter)]
):
users = await crud.get_all_users(session=session)
return users
@router.get("/{user_id}", response_model=UserRead)
async def get_user(
session: Annotated[AsyncSession, Depends(db_helper.session_getter)],
user_id: int
):
users = await crud.get_user(
session=session,
user_id=user_id
)
return users
@router.post("/", response_model=UserRead)
async def create_user(
session: Annotated[AsyncSession, Depends(db_helper.session_getter)],
user_create: UserCreate
):
users = await crud.create_user(
session=session,
user_create=user_create
)
return users
@router.patch("/{user_id}", response_model=UserRead)
async def update_user(
session: Annotated[AsyncSession, Depends(db_helper.session_getter)],
user_id: int,
user_update: UserUpdate
):
users = await crud.update_user(
session=session,
user_id=user_id,
user_update=user_update
)
return users