feat: user routes
fix: global delete filter refactor: user update schema
This commit is contained in:
@@ -20,4 +20,4 @@ async def register(user_data: UserCreate):
|
||||
return ApiResponse(
|
||||
data="OK",
|
||||
message="User registered successfully"
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,59 @@
|
||||
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"
|
||||
)
|
||||
Reference in New Issue
Block a user