feat: user routes

fix: global delete filter
refactor: user update schema
This commit is contained in:
2025-05-12 18:46:11 +05:30
parent 8d8f205eb1
commit c235196990
6 changed files with 145 additions and 26 deletions
+3 -2
View File
@@ -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)])
+1 -1
View File
@@ -20,4 +20,4 @@ async def register(user_data: UserCreate):
return ApiResponse(
data="OK",
message="User registered successfully"
)
)
+59
View File
@@ -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"
)