feat: user routes
fix: global delete filter refactor: user update schema
This commit is contained in:
+3
-2
@@ -5,7 +5,7 @@ from fastapi.security import HTTPBearer
|
||||
# Import the security scheme
|
||||
bearer_scheme = HTTPBearer(scheme_name="Bearer Authentication")
|
||||
|
||||
from .endpoints import clinics, doctors, calender, appointments, patients, admin, auth, s3
|
||||
from .endpoints import clinics, doctors, calender, appointments, patients, admin, auth, s3, users
|
||||
|
||||
api_router = APIRouter()
|
||||
# api_router.include_router(twilio.router, prefix="/twilio")
|
||||
@@ -20,4 +20,5 @@ api_router.include_router(
|
||||
dependencies=[Depends(auth_required)],
|
||||
tags=["admin"])
|
||||
api_router.include_router(auth.router, prefix="/auth", tags=["auth"])
|
||||
api_router.include_router(s3.router, dependencies=[Depends(auth_required)], prefix="/s3", tags=["s3"])
|
||||
api_router.include_router(s3.router, dependencies=[Depends(auth_required)], prefix="/s3", tags=["s3"])
|
||||
api_router.include_router(users.router, prefix="/users", tags=["users"], dependencies=[Depends(auth_required)])
|
||||
|
||||
@@ -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