def update(request): """ Update a user. This API endpoint allows authorised clients (those able to provide a valid Client ID and Client Secret) to update users in their authority. """ client = _request_client(request) user_svc = request.find_service(name='user') user = user_svc.fetch(request.matchdict['username'], client.authority) if user is None: raise HTTPNotFound() schema = schemas.UpdateUserAPISchema() appstruct = schema.validate(_json_payload(request)) _update_user(user, appstruct) presenter = UserJSONPresenter(user) return presenter.asdict()
def schema(self): return schemas.UpdateUserAPISchema()