def manipulate_event(event_id): """update or delete an event""" event = Events.get_event_by_id(event_id) if event: #maeke sure the events is modified by the right person if event.created_by.username == g.user.username: if request.method == 'PUT': event_details = request.get_json() #get the incoming details #update the details accordingly event.name = event_details['name'] event.description = event_details['description'] event.category = event_details['category'] event.location = event_details['location'] event.event_date = event_details['event_date'] #save the event back to the database event.save() return jsonify({"message" : "event updated successfully"}), 200 elif request.method == 'GET': #return the event with the given id found_event = event.to_json() return jsonify(found_event), 200 else: #if the request method is delete event.delete() return jsonify({"message" : "event deleted successfully"}), 200 return jsonify({"message" : "you can not modify the event"}) return jsonify({"message" : "no event with given id found"}), 404
def rsvp(event_id): """register a user to an event""" event = Events.get_event_by_id(event_id) if event: if request.method == 'POST': res = event.add_rsvp(g.user) if res == "rsvp success": return jsonify({"message" : "rsvp success, see you then"}), 201 return jsonify({"message" : "already registered for this event"}), 302 rsvps = event.rsvps.all() if rsvps: rsvp_list = [] for user in rsvps: rsvp= { "username" : user.username, "email" : user.email } rsvp_list.append(rsvp) return jsonify(rsvp_list), 200 return jsonify({"message" : "no users have responded to this event yet"}),200 return jsonify({"message" : "event does not exist"}), 404