示例#1
0
def vote_store_channel(sid):

    store = Store.read(sid)
    if store:
        request_data = request.form
        cid = request_data.get('cid', None)

        if not cid:
            return Response(status=400)
        else:
            cid = int(cid)

        idx = -1
        for i, vote in enumerate(store.votes):
            if vote.cid == cid:
                idx = i
                break
        if idx >= 0:
            store.votes[idx].vote_count += 1
        else:
            channel = Channel.read(cid)
            vote = Vote(sid=sid, cid=cid, vote_count=1)
            if channel:
                store.votes.append(vote)
        success = store.update()
        if success:
            result = store_schema.dump(store)
            return jsonify(result.data), 200
        else:
            return Response(status=500)
    return Response(status=404)
示例#2
0
def get_channel(cid: int) -> Response:

    channel = Channel.read(cid)
    if channel:
        result = channel_schema.dump(channel)
        return jsonify(result.data), 200
    else:
        return Response(status=404)
示例#3
0
def edit_channel(cid):

    channel = Channel.read(cid)
    if channel:

        request_data = request.form
        channel_name = request_data['name']

        channel.name = channel_name
        success = channel.update()

        if success:
            result = channel_schema.dump(channel)
            return jsonify(result.data), 201

    return Response(status=404)