60 lines
1.6 KiB
Python
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"
|
|
)
|