Mbonea commited on
Commit
6c582f0
·
1 Parent(s): 3ebd012

disable route

Browse files
Files changed (2) hide show
  1. App/Users/Schema.py +1 -0
  2. 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.")