def add_event(): if request.json: json = request.json access_token = json.get("accessToken") # Check that this is an admin user. if auth.is_admin(access_token) is False: return Response(status=PERMISSION_DENIED) title = json.get("title") location = json.get("location") start_tee = json.get("startTeeTime") end_tee = json.get("endTeeTime") date = json.get("date") formatted_date = None # Check date format. if datetime.strptime(date, '%d-%m-%Y'): formatted_date = Event.date_format_yyyymmdd(date) else: return Response(FAILURE_CODE) if not title: return Response(status=MISSING_PARAM_CODE) if not location: return Response(status=MISSING_PARAM_CODE) if not start_tee: return Response(status=MISSING_PARAM_CODE) if not date: return Response(status=MISSING_PARAM_CODE) else: connection = query_db.get_connection(current_db_location()) if connection is not None: query_db.insert_into_event(connection, title, location, formatted_date, start_tee, end_tee) connection.close() return Response(status=SUCCESS_CODE) else: # Connection to database failed return Response(status=FAILURE_CODE) # Failure return Response(status=FAILURE_CODE)
def edit_event(identifier): if not identifier: return Response(status=MISSING_PARAM_CODE) if request.json: json = request.json access_token = json.get("accessToken") # Check that this is an admin user. if auth.is_admin(access_token) is False: return Response(status=PERMISSION_DENIED) connection = query_db.get_connection(current_db_location()) if connection is not None: if request.method == 'PUT': # Edit existing event. event = event_obj_from_json(json, identifier) if not event: return Response(status=MISSING_PARAM_CODE) # Check date format. if datetime.strptime(event.date, '%d-%m-%Y'): formatted_date = Event.date_format_yyyymmdd(event.date) event.date = formatted_date else: return Response(FAILURE_CODE) query_db.update_event(connection, identifier, event) connection.close() return Response(status=SUCCESS_CODE) elif request.method == 'DELETE': # Delete existing event query_db.delete_event(connection, identifier) connection.close() return Response(status=SUCCESS_CODE) # Failure return Response(status=FAILURE_CODE)