示例#1
0
def edit_user(current_user):
    image_name = request.json['imageName']
    image_data = request.json['image']

    if not image_name:
        return response('failed', 'Missing imageName attribute', 404)

    if not image_data:
        return response('failed', 'Missing image attribute', 404)

    if not allowed_file(image_name):
        return response('failed', 'Wrong image format', 400)

    print("------------ LOADING")

    user = User.get_by_id(current_user.id)

    try:
        secure_name = secure_filename(user, image_name)
        image_url = upload_file(secure_name, image_data)
    except ValueError:
        return response('failed', 'Wrong image format', 400)

    user.update(image_url)
    return response_for_user(user, User.get_by_id(current_user.id))
示例#2
0
def get_user(current_user, user_id):
    try:
        int(user_id)
    except ValueError:
        return response('failed', 'Please provide a valid User Id', 400)
    else:
        user = User.get_by_id(user_id)
        if user:
            if user.id == current_user.id:
                return response_for_user_personal(user)
            else:
                return response_for_user(user, User.get_by_id(current_user.id))
        return response('failed', "User not found", 404)
示例#3
0
def get_user_teammates(current_user, user_id):
    try:
        int(user_id)
    except ValueError:
        return response('failed', 'Please provide a valid User Id', 400)
    else:
        user = User.get_by_id(user_id)
        count = request.args.get('count', 10, type=int)

        if user:
            items = get_teammates(user, count)

            if items:
                return response_for_user_teammates(get_user_json_list(items))
            return response_for_user_teammates([])
        return response('failed', "User not found", 404)
示例#4
0
def handle_400_errors(e):
    """
    Return a custom response for 400 errors.
    :param e:
    :return:
    """
    return response('failed', 'Bad Request', 400)
示例#5
0
def handle_404_error(e):
    """
    Return a custom message for 404 errors.
    :param e:
    :return:
    """
    return response('failed', 'User cannot be found', 404)
示例#6
0
def rate_user(current_user, user_id):
    try:
        int(user_id)
    except ValueError:
        return response('failed', 'Please provide a valid User Id', 400)
    else:
        if int(user_id) == current_user.id:
            return response('failed', 'User can\'t rate yourself', 400)

        user_to_rate = User.get_by_id(user_id)
        if not user_to_rate:
            return response('failed', "User not found", 404)

        user = User.get_by_id(current_user.id)
        if user_to_rate.rated_by_user(user):
            return response('failed', 'User already rated', 400)

        user_to_rate.rated_me_users.append(user)
        user_to_rate.update()
        return response_for_rated_user(user_to_rate, user, 201)
示例#7
0
def handle_413_errors(e):
    return response('failed', 'Uploading file is too large', 413)