def create_friend(): """ Create a new friend resource. Utilize a JSON representation in the request object to create a new friend resource. """ try: json_payload = api_helpers.json_payload(request) api_helpers.verify_required_data_present( request_payload=json_payload, required_elements=FRIEND_RESOURCE_ELEMENTS) except ValueError as error: error_response = make_response(jsonify({"error": str(error)}), 400) return error_response if datastore.get_friend(g.datastore, id=json_payload['id']): error_response = make_response( jsonify( {"error": "An friend resource already exists with the " "given id: {}".format(json_payload['id'])}), 400) return error_response datastore.add_friend(g.datastore, json_payload) response = make_response(jsonify({"message": "Friend resource created."}), 201) return response
def fully_update_friend(id: str): """ Update all aspects of a specific friend or return an error. Use a JSON representation to fully update an existing friend resource. Returns HTTP Response (200): If an existing resource is successfully updated. HTTP Response (400): No JSON payload, bad syntax, or missing data. HTTP Response (404): No matching existing resource to update. """ try: request_payload = api_helpers.json_payload(request) api_helpers.verify_required_data_present( request_payload, FRIEND_RESOURCE_ELEMENTS) except ValueError as error: error_response = make_response(jsonify({"error": str(error)}), 400) return error_response existing_friend = datastore.get_friend(g.datastore, id) if existing_friend: datastore.fully_update_friend(g.datastore, request_payload) response = make_response( jsonify({"message": "Friend resource updated."}), 201) return response error_response = make_response( jsonify( {"error": "No friend resource exists that matches " "the given id: {}".format(id)}), 404) return error_response
def create_friend(): """ Create a new friend resource. Utilize a JSON representation in the request object to create a new friend resource. """ try: json_payload = api_helpers.json_payload(request) api_helpers.verify_required_data_present( request_payload=json_payload, required_elements=FRIEND_RESOURCE_ELEMENTS) except ValueError as error: error_response = make_response(jsonify({"error": str(error)}), 400) return error_response if datastore.existing_friend(id=json_payload['id']): error_response = make_response( jsonify({ "error": "An friend resource already exists with the " "given id: {}".format(json_payload['id']) }), 400) return error_response datastore.friends.append({ "id": json_payload['id'], "first_name": json_payload['firstName'], "last_name": json_payload['lastName'], "telephone": json_payload['telephone'], "email": json_payload['email'], "notes": json_payload['notes'] }) response = make_response(jsonify({"message": "Friend resource created."}), 201) return response
def create_friend(): """ Create a new friend resource. Utilize a JSON representation in the request object to create a new friend resource. """ try: json_payload = api_helpers.json_payload(request) api_helpers.verify_required_data_present( request_payload=json_payload, required_elements=FRIEND_RESOURCE_ELEMENTS) except ValueError as error: error_response = make_response(jsonify({"error": str(error)}), 400) return error_response if datastore.existing_friend(id=json_payload['id']): error_response = make_response( jsonify( {"error": "An friend resource already exists with the " "given id: {}".format(json_payload['id'])}), 400) return error_response datastore.friends.append( {"id": json_payload['id'], "first_name": json_payload['firstName'], "last_name": json_payload['lastName'], "telephone": json_payload['telephone'], "email": json_payload['email'], "notes": json_payload['notes']}) response = make_response(jsonify({"message": "Friend resource created."}), 201) return response