Exemplo n.º 1
0
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()
Exemplo n.º 2
0
 def schema(self):
     return schemas.UpdateUserAPISchema()