Ensure 'deactivated' parameter is a boolean on user admin API, Fix error handling of call to deactivate user (#6990)

This commit is contained in:
Andrew Morgan 2020-02-26 12:22:55 +00:00 committed by GitHub
parent c1156d3e2b
commit 8c75b621bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 68 additions and 4 deletions

View file

@ -228,13 +228,16 @@ class UserRestServletV2(RestServlet):
)
if "deactivated" in body:
deactivate = bool(body["deactivated"])
deactivate = body["deactivated"]
if not isinstance(deactivate, bool):
raise SynapseError(
400, "'deactivated' parameter is not of type boolean"
)
if deactivate and not user["deactivated"]:
result = await self.deactivate_account_handler.deactivate_account(
await self.deactivate_account_handler.deactivate_account(
target_user.to_string(), False
)
if not result:
raise SynapseError(500, "Could not deactivate user")
user = await self.admin_handler.get_user(target_user)
return 200, user