This commit is contained in:
2024-03-04 10:15:28 +00:00
parent 4df5770e76
commit 92c52954c8
25 changed files with 80 additions and 114 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -1,53 +1,18 @@
from dependency_injector.wiring import Provide, inject
from fastapi import APIRouter, Depends, Response, status
from fastapi import APIRouter, Depends
from ..di import Container
from ..repository.user import NotFoundError
from ..service.user import UserService
from api.di import Container
from api.service.user import UserService
router = APIRouter()
@router.get("/users")
@inject
def get_list(
async def get_user_list(
user_service: UserService = Depends(Provide[Container.user_service]),
):
return user_service.get_users()
@router.get("/users/{user_id}")
@inject
def get_by_id(
user_id: int,
user_service: UserService = Depends(Provide[Container.user_service]),
):
try:
return user_service.get_user_by_id(user_id)
except NotFoundError:
return Response(status_code=status.HTTP_404_NOT_FOUND)
@router.post("/users", status_code=status.HTTP_201_CREATED)
@inject
def add(
user_service: UserService = Depends(Provide[Container.user_service]),
):
return user_service.create_user()
@router.delete("/users/{user_id}", status_code=status.HTTP_204_NO_CONTENT)
@inject
def remove(
user_id: int,
user_service: UserService = Depends(Provide[Container.user_service]),
):
try:
user_service.delete_user_by_id(user_id) # type: ignore
except NotFoundError:
return Response(status_code=status.HTTP_404_NOT_FOUND)
else:
return Response(status_code=status.HTTP_204_NO_CONTENT)
return await user_service.get_all_users()
@router.get("/status")