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() })
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)
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})
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()})
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()})
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()})