コード例 #1
0
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)
コード例 #2
0
ファイル: app.py プロジェクト: AhmedAlsudairi/Rate-it
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]})
コード例 #3
0
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))
コード例 #4
0
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))