def create(self, params): valid_params = verify_params(params, Review.REVIEW_REQUIRED_PARAMS) if valid_params: try: user = User.get_user_by_id(valid_params.get('user_id', None)) if not user or not user.isVerified: return jsonify( message='User does not exist or is not verified'), 400 new_review = Review(**valid_params) created_review = new_review.create() result = { 'message': 'Success!', 'review': created_review.to_dict(), } dish = Dish.get_dish_by_id(new_review.dish_id) if new_review.experience: dish.rating += 2 else: dish.rating -= 2 dish.update() return jsonify(result), 201 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def update(self, oid, params): valid_params = verify_params(params, Review.REVIEW_REQUIRED_PARAMS) if oid and valid_params: try: review_to_update = Review.get_review_by_id(oid) old_dish = Dish.get_dish_by_id(review_to_update.dish_id) if not review_to_update: return jsonify(message='Review Not Found!'), 404 for key, value in valid_params.item(): setattr(review_to_update, key, value) review_to_update.update() result = { 'message': 'Success!', 'review': review_to_update.to_dict(), } if old_dish.did != review_to_update.dish_id: new_dish = Dish.get_dish_by_id(review_to_update.dish_id) if review_to_update.experience: old_dish.rating -= 2 new_dish.rating += 2 else: old_dish.rating += 2 new_dish.rating -= 2 old_dish.update() new_dish.update() return jsonify(result), 200 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def update(self, oid, params): valid_params = verify_params(params, User.USER_REQUIRED_PARAMETERS) if oid and valid_params: try: user_to_update = User.get_user_by_id(oid) if user_to_update: for key, value in valid_params.items(): if key == "password": if value != user_to_update.password and not \ bcrypt.checkpw(value.encode('utf-8'), user_to_update.password.encode('utf-8')): user_to_update.update_password(value) else: setattr(user_to_update, key, value) user_to_update.update() result = { "message": "Success!", "user": user_to_update.to_dict(), } return jsonify(result), 200 else: return jsonify(message="Not Found!"), 404 except Exception as err: return jsonify(message="Server Error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def update(self, oid, params): valid_params = verify_params(params, UpVote.UPVOTE_REQUIRED_PARAMS) if oid and valid_params: try: upvote_to_update = UpVote.get_upvote_by_id(oid) old_dish = Dish.get_dish_by_id(upvote_to_update.dish_id) if not upvote_to_update: return jsonify(message='Upvote Not Found!'), 404 for key, value in valid_params.items(): setattr(upvote_to_update, key, value) upvote_to_update.update() result = { "message": "Success!", "upvote": upvote_to_update.to_dict() } if upvote_to_update.dish_id != old_dish.did: new_dish = Dish.get_dish_by_id(upvote_to_update.dish_id) old_dish.rating -= 1 new_dish.rating += 1 old_dish.update() new_dish.update() return jsonify(result), 200 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def create_menu(json): valid_params = verify_params(json, Menu.MENU_REQUIRED_PARAMS) if valid_params: try: new_menu = Menu(**valid_params) created_menu = new_menu.create() result = { 'message': 'Success!', 'menu': created_menu.to_dict(), } return jsonify(result), 201 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def create(self, params): valid_params = verify_params(params, Category.CATEGORY_REQUIRED_PARAMS) if valid_params: try: new_category = Category(**valid_params) created_category = new_category.create() result = { 'message': 'Success!', 'category': created_category.to_dict(), } return jsonify(result), 201 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def create(self, params): valid_params = verify_params(params, Dish.DISH_REQUIRED_PARAMS) if valid_params: try: new_dish = Dish(**valid_params) created_dish = new_dish.create() result = { 'message': 'Success!', 'dish': created_dish.to_dict(), } return jsonify(result), 201 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def create(self, params): valid_params = verify_params( params, Establishment.ESTABLISHMENT_REQUIRED_PARAMS) if valid_params: try: new_establishment = Establishment(**valid_params) created_establishment = new_establishment.create() result = { "message": "Success!", "establishment": created_establishment.to_dict(), } return jsonify(result), 201 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def update_menu(mid, json): valid_params = verify_params(json, Menu.MENU_REQUIRED_PARAMS) if mid and valid_params: try: menu_to_update = Menu.get_menu_by_id(mid) for key, value in valid_params.items(): setattr(menu_to_update, key, value) menu_to_update.update() result = { "message": "Success!", "menu": menu_to_update.to_dict() } return jsonify(result), 200 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def login(self, json): valid_params = verify_params(json, User.USER_LOGIN_REQUIRED_PARAMS) if not valid_params: return jsonify(message="Bad Request!"), 400 user = User.get_user_by_username(valid_params['username']) if user: password = valid_params['password'] if bcrypt.checkpw(password.encode('utf-8'), user.password.encode('utf-8')): session['logged_in'] = True status = True result = {"status": status, "user_id": user.uid} return jsonify(result), 200 else: return jsonify(message="Username or password is wrong."), 400 else: return jsonify(message="Username Not Found!"), 404
def create(self, params): valid_params = verify_params(params, UpVote.UPVOTE_REQUIRED_PARAMS) if valid_params: try: new_upvote = UpVote(**valid_params) created_upvote = new_upvote.create() result = { 'message': 'Success!', 'upvote': created_upvote.to_dict(), } dish = Dish.get_dish_by_id(created_upvote.dish_id) dish.rating += 1 dish.update() return jsonify(result), 201 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def update(self, oid, params): valid_params = verify_params(params, Category.CATEGORY_REQUIRED_PARAMS) if oid and valid_params: try: category_to_update = Category.get_category_by_id(oid) if not category_to_update: return jsonify(message='Category Not Found!'), 404 for key, value in valid_params.items(): setattr(category_to_update, key, value) category_to_update.update() result = { "message": "Success!", "category": category_to_update.to_dict() } return jsonify(result), 200 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def create(self, params): valid_params = verify_params(params, User.USER_REQUIRED_PARAMETERS) if valid_params: try: username_exists = User.verify_username( valid_params.get('username')) if username_exists: return jsonify(message="Username already taken."), 400 new_user = User(**valid_params) created_user = new_user.create() result = { "message": "Success!", "user": created_user.to_dict(), } return jsonify(result), 201 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def update(self, oid, params): valid_params = verify_params(params, Dish.DISH_REQUIRED_PARAMS) if oid and valid_params: try: dish_to_update = Dish.get_dish_by_id(oid) if not dish_to_update: return jsonify(message='Dish Not Found!'), 404 for key, value in valid_params.items(): setattr(dish_to_update, key, value) dish_to_update.update() result = { "message": "Success!", "dish": dish_to_update.to_dict() } return jsonify(result), 200 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400
def update(self, oid, params): valid_params = verify_params( params, Establishment.ESTABLISHMENT_REQUIRED_PARAMS) if oid and valid_params: try: establishment_to_update = Establishment.get_establishment_by_id( oid) if not establishment_to_update: return jsonify(message="Not Found!"), 404 for key, value in valid_params.items(): setattr(establishment_to_update, key, value) establishment_to_update.update() result = { "message": "Success!", "establishment": establishment_to_update.to_dict() } return jsonify(result), 200 except Exception as err: return jsonify(message="Server error!", error=err.__str__()), 500 else: return jsonify(message="Bad Request!"), 400