async def METHOD_NAME(
    self, user_id: str, /, data: UpdateUserRequest
) -> Union[r200[UserResponse], r404]:
    """
    Update a user.
    Status Codes:
        200: Successful operation
        404: User not found
    """
    if not await check_can_edit_user(
        get_authorization_client_from_req(self.request),
        self.request["client"].user_id,
        user_id,
    ):
        raise HTTPForbidden(text="Insufficient privileges")
    try:
        user = await get_data_from_req(self.request).administrators.update(
            user_id, data
        )
    except ResourceNotFoundError:
        raise NotFound()
    return json_response(user)