Esempio n. 1
0
def update_rangevote(rangevote_id):
    if commands.RangeVoteCommandValidator(flask.request.json).is_valid():
        command = commands.UpdateRangeVoteCommand(
            rangevote_id, flask.request.json['question'],
            flask.request.json['choices'], flask.request.json['votes'])
        result = app.bus.execute(command)
        if result.ok:
            return http.jsonify()
    return http.bad_request()
Esempio n. 2
0
def create_vote(rangevote_id):
    if commands.VoteCommandValidator(flask.request.json).is_valid():
        command = commands.CreateVoteCommand(rangevote_id,
                                             flask.request.json['elector'],
                                             flask.request.json['opinions'])
        result = app.bus.execute(command)
        if result.ok:
            return http.jsonify(
                {'id': rangevote_id}, 201,
                {'Location': '/rangevotes/{0}'.format(rangevote_id)})
    return http.bad_request()
Esempio n. 3
0
def create_rangevote():
    if commands.RangeVoteCommandValidator(flask.request.json).is_valid():
        command = commands.CreateRangeVoteCommand(
            uuid.uuid4(), flask.request.json['question'],
            flask.request.json['choices'])
        result = app.bus.execute(command)
        if result.ok:
            rangevote_id = str(command.uuid)
            return http.jsonify(
                {'id': rangevote_id}, 201,
                {'Location': '/rangevotes/{0}'.format(rangevote_id)})
    return http.bad_request()
Esempio n. 4
0
def get_rangevote(rangevote_id):
    query = queries.GetRangeVoteQuery(rangevote_id)
    rangevote = app.query_dispatcher.execute(query)
    if rangevote:
        return http.jsonify(rangevote)
    return http.not_found()
Esempio n. 5
0
def get_rangevotes():
    query = queries.GetRangeVotesQuery()
    rangevotes = app.query_dispatcher.execute(query)
    if rangevotes:
        return http.jsonify(rangevotes)
    return http.jsonify([])
Esempio n. 6
0
def get_rangevote_results(rangevote_id):
    query = queries.GetRangeVoteResultsQuery(rangevote_id)
    results = app.query_dispatcher.execute(query)
    if results:
        return http.jsonify(results)
    return http.bad_request()