def rate_coffee(payload, coffee_id): body = request.get_json() value = body['value'] rating = Rating(value=value, coffee_id=coffee_id, user_id=payload['sub']) try: Rating.insert(rating) except: abort(500) return jsonify(success=True, rating=rating.value)
def create_rating(): body = request.get_json() if 'username' not in body: abort(422) course_id = body.get('course_id') username = body.get('username') comment = body.get('comment') difficulty_level = body.get('difficulty_level') content_density = body.get('content_density') content_update = body.get('content_update') satisfaction = body.get('satisfaction') rating = Rating.query.filter(Rating.user_id == username, Rating.course_id == course_id).first() if rating is not None: abort(422) course = Course.query.get(course_id) user = User.query.get(username) if course is None or user is None: abort(404) total_rate = (difficulty_level + content_density + content_update + satisfaction) / 4 rating = Rating(user_id=username, course_id=course_id, comment=comment, difficulty_level=difficulty_level, content_density=content_density, content_update=content_update, satisfaction=satisfaction, total_rate=total_rate) rating.insert() update_rating(course) notify(course, username) return jsonify({'ratings': [rating.format() for rating in course.ratings]})
def songs_new_rating(): validated_data = Rating.Schemas.Post().load(request.json) Rating.insert( validated_data) # `validated_data` gets updated to include `_id` return jsonify(Rating.Schemas.Get().dump(validated_data))
def add_random_rating(): import random insert_data = dict(song_id=random.choice(list(Song.get_all()))['_id'], rating=random.randint(1, 5)) Rating.insert(insert_data) return jsonify(Rating.Schemas.Get().dump(insert_data))