def members(): body = request.get_json() if request.method == 'GET': family = Family('Doe') members = family.get_all_members() lucky_numbers = [member['lucky_numbers'] for member in members] sum_of_lucky = sum([number for sub in lucky_numbers for number in sub]) response_body = { "family_name": family.last_name, "members": family.get_all_members(), "lucky_numbers": lucky_numbers, "sum_of_lucky": str(sum_of_lucky) } return jsonify(response_body), 200 if request.method == 'POST': if body is not None: family = Family('Doe') body = request.get_json() response_body = family.add_member(body) return jsonify(response_body), 200 else: raise APIException( 'You need to specify the request body as a json object', status_code=404)
def getFamily(): family = Family("Doe") familyMembers = family.get_all_members() luckyNumbers = [] for member in familyMembers: luckyNumbers = luckyNumbers + member['lucky_numbers'] response_body = { "family_name": family.last_name, "members": familyMembers, "lucky_numbers": luckyNumbers, "sum_of_lucky": sum(luckyNumbers) } return jsonify(response_body), 200
def newMember(): if not request.is_json: return jsonify({"msg": "Missing JSON in request"}), 400 family = Family('Doe') name = request.json.get('name', None) if not name: return({"msg": "Missing name parameter"}) age = request.json.get('age', None) if not age: return({"msg": "Missing age parameter"}) lucky_numbers = request.json.get('lucky_numbers', None) if not lucky_numbers: return({"msg": "Missing lucky numbers"}) new_member = { "id": family._generateId(), "first_name": name, "age": age, "lucky_numbers": lucky_numbers } family.add_member(new_member) return jsonify(family.get_all_members())
def deleteMember(member_id = None): family = Family('Doe') member_id = request.view_args['member_id'] family.delete_member(member_id) return jsonify(family.get_all_members())