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.")
|