Beispiel #1
0
def rsvp():
    content = request.json  #only works if content type is application/json
    assert "id" in content
    foundEvent = Event.query.filter_by(id=content["id"]).first()
    if foundEvent is None:
        return "no such event!"
    user_obj = User.query.filter_by(username=auth.username()).first()
    user_obj.reservations.append(foundEvent)
    db.session.add(user_obj)
    db.session.commit()
    return jsonify({
        "status": "created rsvp",
        "username": auth.username(),
        "event": foundEvent.toDict()
    })
Beispiel #2
0
def get_RSVP_by_user():
    user_obj = User.query.filter_by(username=auth.username()).first()
    if user_obj is None:
        return "no such user!"
    events = user_obj.reservations
    allEventDicts = []
    for foundEvent in events:
        allEventDicts.append(foundEvent.toDict())
    return jsonify(allEventDicts)
Beispiel #3
0
def remove_event():
    content = request.json
    assert "id" in content
    user = User.query.filter_by(username=auth.username()).first()
    event = Event.query.filter_by(id=content["id"]).first()
    if event is None:
        return "event not found!"
    deleted = False
    if user.is_admin:
        db.session.delete(event)
        deleted = True
    else:
        if event.parent_id == auth.username():
            db.session.delete(event)
            deleted = True

    db.session.commit()
    return jsonify({"success": deleted})
Beispiel #4
0
def create_event():
    content = request.json  #only works if content type is application/json
    assert "name" in content
    name = content["name"]

    event = Event(name=name)
    event.fromDict(content)
    event.parent_id = auth.username()
    db.session.add(event)
    db.session.commit()

    return jsonify({"status": "created", "event": event.toDict()})
Beispiel #5
0
def tag_event():
    content = request.json  #only works if content type is application/json
    assert "id" in content
    assert "tag" in content
    # event_id = content["id"]
    tag = content["tag"]

    event = Event.query.filter_by(id=content["id"]).first()
    # return jsonify(event)
    if event is None:
        return "no such event!"
    if event.parent_id != auth.username():
        return "not allowed"
    event.add_tag(tag)

    return jsonify({"status": "created", "event": event.toDict()})
Beispiel #6
0
def delete_tag_event():
    content = request.json  #only works if content type is application/json
    assert "id" in content
    assert "tag" in content
    # event_id = content["id"]
    tag = content["tag"]
    tag = event.Tag.query.filter_by(event_id=content["id"], tag=tag).first()

    # return jsonify(event)
    if tag is None:
        return "no such tag"
    if tag.event.parent_id != auth.username():
        return "not allowed"
    db.session.delete(tag)
    db.session.commit()

    return jsonify({"status": "removed", "event": tag.event.toDict()})