health-apps-backend/apis/endpoints/users.py

60 lines
1.6 KiB
Python

from fastapi import APIRouter, Request, Depends
from middleware.auth_dependency import auth_required
from services.userServices import UserServices
from schemas.ApiResponse import ApiResponse
from schemas.UpdateSchemas import UserUpdate
router = APIRouter()
@router.get("/")
async def get_users():
user = await UserServices().get_users()
return ApiResponse(
data=user,
message="User fetched successfully"
)
@router.get("/me")
async def get_user(request: Request):
user_id = request.state.user["id"]
user = await UserServices().get_user(user_id)
return ApiResponse(
data=user,
message="User fetched successfully"
)
@router.get("/{user_id}")
async def get_user(request: Request, user_id: int):
user = await UserServices().get_user(user_id)
return ApiResponse(
data=user,
message="User fetched successfully"
)
@router.delete("/")
async def delete_user(request: Request):
user_id = request.state.user["id"]
await UserServices().delete_user(user_id)
return ApiResponse(
data="OK",
message="User deleted successfully"
)
@router.put("/")
async def update_user(request: Request, user_data: UserUpdate):
user_id = request.state.user["id"]
user = await UserServices().update_user(user_id, user_data)
return ApiResponse(
data=user,
message="User updated successfully"
)
@router.put("/{user_id}")
async def update_user(request: Request, user_id: int, user_data: UserUpdate):
user = await UserServices().update_user(user_id, user_data)
return ApiResponse(
data=user,
message="User updated successfully"
)