Ejemplo n.º 1
0
 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, 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
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 def delete(self, oid):
     if oid:
         try:
             dish_to_delete = Dish.get_dish_by_id(oid)
             if not dish_to_delete:
                 return jsonify(message="Not Found!"), 404
             dish_to_delete.delete()
             return jsonify(message="Success!"), 200
         except Exception as err:
             return jsonify(message="Server error!",
                            error=err.__str__()), 500
     else:
         return jsonify(message="Bad Request!"), 400
 def delete(self, oid):
     if oid:
         try:
             upvote_to_delete = UpVote.get_upvote_by_id(oid)
             if not upvote_to_delete:
                 return jsonify(message="Not Found!"), 404
             dish = Dish.get_dish_by_id(upvote_to_delete.dish_id)
             dish.rating -= 1
             dish.update()
             upvote_to_delete.delete()
             return jsonify(message="Success!"), 200
         except Exception as err:
             return jsonify(message="Server error!", error=err.__str__()), 500
     else:
         return jsonify(message="Bad Request!"), 400
Ejemplo n.º 7
0
 def get_all(self, params=None):
     dishes = Dish.get_all_dishes()
     if params:
         establishment_id = params.get('eid', None)
         limit = params.get('limit', 3)
         top_rated = params.get('topRated', None)
         featured = params.get('featured', None)
         if establishment_id and limit:
             if top_rated:
                 dishes = Dish.get_top_dishes_by_establishment(
                     int(establishment_id), int(limit))
             else:
                 dishes = Dish.get_all_dishes_by_establishment(
                     int(establishment_id))
         elif top_rated and limit:
             dishes = Dish.get_top_dishes(int(limit))
         elif featured and limit:
             dishes = Dish.get_random_dishes(int(limit))
     result_list = [dish.to_dict() for dish in dishes]
     result = {
         'message': 'Success!',
         'dishes': result_list,
     }
     return jsonify(result), 200
Ejemplo n.º 8
0
 def get_by_id(self, oid):
     if oid:
         try:
             dish = Dish.get_dish_by_id(oid)
             if not dish:
                 return jsonify(message='Dish Not Found!'), 404
             result = {
                 'message': 'Success!',
                 'dish': dish.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, 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
Ejemplo n.º 10
0
 def delete(self, oid):
     if oid:
         try:
             review_to_delete = Review.get_review_by_id(oid)
             if not review_to_delete:
                 return jsonify(message="Not Found!"), 404
             dish = Dish.get_dish_by_id(review_to_delete.dish_id)
             if review_to_delete.experience:
                 dish.rating -= 2
             else:
                 dish.rating += 2
             dish.update()
             review_to_delete.delete()
             return jsonify(message="Success!"), 200
         except Exception as err:
             return jsonify(message="Server error!",
                            error=err.__str__()), 500
     else:
         return jsonify(message="Bad Request!"), 400
Ejemplo n.º 11
0
 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