O2Sound_ver2_final/backend/app/presentation/api/v1/user.py

68 lines
2.1 KiB
Python

from fastapi import APIRouter, Depends
from app.shared.decorator.response_wrapper import response_wrapper
from app.presentation.schemas.useritems_schema import GetItemsRequest,UpdateItemRequest,DeleteUserItemRequest
from app.presentation.schemas.uservideo_schema import GetVideosRequest,DeleteVideoRequest
from app.presentation.schemas.userprofile_schema import GetUserProfileRequest, PutUserProfileRequest
from app.services.user_service import UserService
from app.services.video_service import VideoService
from app.dependencies import get_user_service, get_video_service
router = APIRouter(prefix="/user", tags=["user"])
@router.post("/items")
@response_wrapper
async def get_items(
request: GetItemsRequest,
user_service: UserService = Depends(get_user_service)
):
return user_service.get_items(request)
@router.put("/item/update")
@response_wrapper
async def update_items(
request: UpdateItemRequest,
user_service: UserService = Depends(get_user_service)
):
return user_service.update_item(request)
@router.delete("/item/delete")
@response_wrapper
async def delete_items(
request: DeleteUserItemRequest,
user_service: UserService = Depends(get_user_service)
):
return user_service.delete_item(request)
@router.post("/videos")
@response_wrapper
async def get_videos(
request: GetVideosRequest,
video_service: VideoService = Depends(get_video_service)
):
return video_service.get_all_by_user_id(request)
@router.delete("/video/delete")
@response_wrapper
async def delete_video(
request: DeleteVideoRequest,
video_service: VideoService = Depends(get_video_service)
):
return video_service.delete_by_video_id(request)
@router.post("/profile")
@response_wrapper
async def get_profile(
request: GetUserProfileRequest,
user_service: UserService = Depends(get_user_service)
):
return user_service.get_user_profile(request)
@router.put("/profile/update")
@response_wrapper
async def update_profile(
request: PutUserProfileRequest,
user_service: UserService = Depends(get_user_service)
):
return user_service.update_user_profile(request)