diff --git a/src/app.py b/src/app.py index 2e510d3d..0d76327a 100755 --- a/src/app.py +++ b/src/app.py @@ -30,13 +30,30 @@ def sitemap(): @app.route('/members', methods=['GET']) -def handle_hello(): +def get_all_members(): # This is how you can use the Family datastructure by calling its methods members = jackson_family.get_all_members() - response_body = {"hello": "world", - "family": members} - return jsonify(response_body), 200 + return jsonify(members), 200 +@app.route('/members/', methods=['GET']) +def get_single_member(member_id): + member = jackson_family.get_member(member_id) + return jsonify(member), 200 + +@app.route('/members', methods=['POST']) +def add_new_member(): + request_body = request.json + jackson_family.add_member(request_body) + print(request_body) + return jsonify({"msg": "member added"}), 200 + +@app.route('/members/', methods=['DELETE']) +def delete_member(member_id): + jackson_family.delete_member(member_id) + return jsonify({"msg": "member has been deleted"}), 200 + + + # This only runs if `$ python src/app.py` is executed diff --git a/src/datastructures.py b/src/datastructures.py index ff8321b6..c3ee793d 100644 --- a/src/datastructures.py +++ b/src/datastructures.py @@ -5,6 +5,7 @@ - get_member: Should return a member from the self._members list """ + class FamilyStructure: def __init__(self, last_name): self.last_name = last_name @@ -26,18 +27,27 @@ def _generate_id(self): return generated_id def add_member(self, member): - ## You have to implement this method - ## Append the member to the list of _members + # You have to implement this method + # Append the member to the list of _members + member["id"] = self._generate_id() + member["last_name"] = self.last_name + self._members.append(member) pass def delete_member(self, id): - ## You have to implement this method - ## Loop the list and delete the member with the given id + # You have to implement this method + # Loop the list and delete the member with the given id + for member in self._members: + if member["id"] == id: + self._members.remove(member) pass def get_member(self, id): - ## You have to implement this method - ## Loop all the members and return the one with the given id + # You have to implement this method + # Loop all the members and return the one with the given id + for member in self._members: + if member["id"] == id: + return member pass # This method is done, it returns a list with all the family members