disable route
Browse files- App/Users/Schema.py +1 -0
- App/Users/UserRoutes.py +20 -0
App/Users/Schema.py
CHANGED
|
@@ -14,6 +14,7 @@ class UserResponse(BaseModel):
|
|
| 14 |
id: str
|
| 15 |
phoneNumber: str
|
| 16 |
name: str
|
|
|
|
| 17 |
model_config = ConfigDict(from_attributes=True)
|
| 18 |
|
| 19 |
|
|
|
|
| 14 |
id: str
|
| 15 |
phoneNumber: str
|
| 16 |
name: str
|
| 17 |
+
account_locked: bool
|
| 18 |
model_config = ConfigDict(from_attributes=True)
|
| 19 |
|
| 20 |
|
App/Users/UserRoutes.py
CHANGED
|
@@ -129,3 +129,23 @@ async def delete_user(user_id: str):
|
|
| 129 |
)
|
| 130 |
await user.delete()
|
| 131 |
return BaseResponse(code=200, message="User deleted successfully.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
)
|
| 130 |
await user.delete()
|
| 131 |
return BaseResponse(code=200, message="User deleted successfully.")
|
| 132 |
+
|
| 133 |
+
|
| 134 |
+
@user_router.put(
|
| 135 |
+
"/user/disable/{user_id}",
|
| 136 |
+
response_model=BaseResponse,
|
| 137 |
+
status_code=status.HTTP_200_OK,
|
| 138 |
+
)
|
| 139 |
+
async def disable_user(user_id: str):
|
| 140 |
+
user = await User.filter(id=user_id).first()
|
| 141 |
+
if not user:
|
| 142 |
+
raise HTTPException(
|
| 143 |
+
status_code=status.HTTP_404_NOT_FOUND, detail="User not found."
|
| 144 |
+
)
|
| 145 |
+
if user.is_disabled:
|
| 146 |
+
raise HTTPException(
|
| 147 |
+
status_code=status.HTTP_400_BAD_REQUEST, detail="User is already disabled."
|
| 148 |
+
)
|
| 149 |
+
user.account_locked = True
|
| 150 |
+
await user.save()
|
| 151 |
+
return BaseResponse(code=200, message="User disabled successfully.")
|