Example #1
0
def get_user(res, user_id=None):
    """get user information

    Keyword arguments:
    res -- instance of Response class
    user_id --  id of user (default None)
    """

    if not user_id:
        if not utils.has_scopes(db, request.user_id, 'self.info'):
            raise FailedRequest(config['ERROR']['permission'], 403)

    elif not utils.has_scopes(db, request.user_id, 'user.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    user_id = user_id or request.user_id
    result = user.get_user(user_id)

    if result['role'] == 'music_provider' or result['role'] == 'admin':
        music_providers = music_provider.get_user_music_providers(user_id)
        result['music_providers'] = music_providers

    elif result['role'] == 'artist':
        artist = user.get_user_artist(user_id)
        result['artist'] = artist['results'][0]

    elif result['role'] == 'user':
        invitations = user.get_user_invitations(result['email'])
        result['invitations'] = invitations

    return res.send(result)
Example #2
0
def get_user(res, user_id=None):
    """get user information

    Keyword arguments:
    res -- instance of Response class
    user_id --  id of user (default None)
    """

    if not user_id:
        if not utils.has_scopes(db, request.user_id, 'self.info'):
            raise FailedRequest(config['ERROR']['permission'], 403)

    elif not utils.has_scopes(db, request.user_id, 'user.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    user_id = user_id or request.user_id
    result = user.get_user(user_id)

    if result['role'] == 'music_provider' or result['role'] == 'admin':
        music_providers = music_provider.get_user_music_providers(user_id)
        result['music_providers'] = music_providers

    elif result['role'] == 'artist':
        artist = user.get_user_artist(user_id)
        result['artist'] = artist['results'][0]

    elif result['role'] == 'user':
        invitations = user.get_user_invitations(result['email'])
        result['invitations'] = invitations

    return res.send(result)
Example #3
0
def export_applications_csv(res):
    if not utils.has_scopes(db, request.user_id, 'user.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    secret_id = request.mida + '.' + request.access_token

    return res.send('/user/applications/secret/' + secret_id)
Example #4
0
def export_applications_csv(res):
    if not utils.has_scopes(db, request.user_id, 'user.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    secret_id = request.mida + '.' + request.access_token

    return res.send('/user/applications/secret/' + secret_id)
Example #5
0
def edit_user(res, user_id=None):
    """edit user information

    Keyword arguments:
    res -- instance of Response class
    user_id --  id of user to be edited (default None)
    """

    if not user_id:
        if not utils.has_scopes(db, request.user_id, 'self.info'):
            raise FailedRequest(config['ERROR']['permission'], 403)

        user_id = request.user_id

        params = utils.get_data([], ['genre', 'mood', 'instrument', 'picture'],
                                request.values)

    else:
        if not utils.has_scopes(db, request.user_id, 'user.info'):
            raise FailedRequest(config['ERROR']['permission'], 403)

        params = utils.get_data(['active'], [], request.values)

    params['user_id'] = user_id

    if 'active' in params:
        user.edit_user_active(params)

    else:
        user_image = request.files.get('image')

        if user_image and utils.is_file_type(user_image.filename,
                                             user_image.mimetype, 'image'):
            params.update({
                'image':
                user_image,
                'image_filename':
                secure_filename(user_image.filename)
            })
            user.edit_user_picture(params)

        user.edit_user_preference(params)

    result = dict(params)
    result.pop('image', None)

    return res.send(result)
Example #6
0
def edit_user(res, user_id=None):
    """edit user information

    Keyword arguments:
    res -- instance of Response class
    user_id --  id of user to be edited (default None)
    """

    if not user_id:
        if not utils.has_scopes(db, request.user_id, 'self.info'):
            raise FailedRequest(config['ERROR']['permission'], 403)

        user_id = request.user_id

        params = utils.get_data([], ['genre', 'mood', 'instrument',
                                     'picture'], request.values)

    else:
        if not utils.has_scopes(db, request.user_id, 'user.info'):
            raise FailedRequest(config['ERROR']['permission'], 403)

        params = utils.get_data(['active'], [], request.values)

    params['user_id'] = user_id

    if 'active' in params:
        user.edit_user_active(params)

    else:
        user_image = request.files.get('image')

        if user_image and utils.is_file_type(user_image.filename,
                                             user_image.mimetype, 'image'):
            params.update({
                'image': user_image,
                'image_filename': secure_filename(user_image.filename)
            })
            user.edit_user_picture(params)

        user.edit_user_preference(params)

    result = dict(params)
    result.pop('image', None)

    return res.send(result)
Example #7
0
def search_users(res):
    if not utils.has_scopes(db, request.user_id, 'user.list'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data(['query'], ['page', 'entries'], request.args)

    result = user.search_users(params)

    return res.send(result)
Example #8
0
def search_users(res):
    if not utils.has_scopes(db, request.user_id, 'user.list'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data(['query'], ['page', 'entries'], request.args)

    result = user.search_users(params)

    return res.send(result)
Example #9
0
def autocomplete_users(res):
    if not utils.has_scopes(db, request.user_id, 'user.available.list'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data(['query'], ['entries'], request.args)

    params['entries'] = int(params['entries'] or config['ENTRIES'])

    result = user.autocomplete_users(params)

    return res.send(result)
Example #10
0
def get_user_flagged_tracks(res):
    if not utils.has_scopes(db, request.user_id, 'user.music.list'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data([], ['page', 'entries'], request.args)

    params['user_id'] = request.user_id

    result = user.get_user_flagged_tracks(params)

    return res.send(result)
Example #11
0
def decline_invitation(res):
    if not utils.has_scopes(db, request.user_id, 'self.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data(['role'], ['music_provider_id',
                                       'artist_id'], request.values)

    params['user_id'] = request.user_id
    user.decline_invitation(params)

    return res.send(params)
Example #12
0
def decline_invitation(res):
    if not utils.has_scopes(db, request.user_id, 'self.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data(['role'], ['music_provider_id', 'artist_id'],
                            request.values)

    params['user_id'] = request.user_id
    user.decline_invitation(params)

    return res.send(params)
Example #13
0
def autocomplete_users(res):
    if not utils.has_scopes(db, request.user_id, 'user.available.list'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data(['query'], ['entries'], request.args)

    params['entries'] = int(params['entries'] or config['ENTRIES'])

    result = user.autocomplete_users(params)

    return res.send(result)
Example #14
0
def get_user_flagged_tracks(res):
    if not utils.has_scopes(db, request.user_id, 'user.music.list'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data([], ['page', 'entries'], request.args)

    params['user_id'] = request.user_id

    result = user.get_user_flagged_tracks(params)

    return res.send(result)
Example #15
0
def get_contract(res):
    if not utils.has_scopes(db, request.user_id, 'self.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    application_status = user.get_user(request.user_id)['application_status']

    if application_status != 'applied':
        raise FailedRequest(config['ERROR']['permission'], 403)

    result = user.get_contract()

    return res.send(result)
Example #16
0
def get_contract(res):
    if not utils.has_scopes(db, request.user_id, 'self.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    application_status = user.get_user(request.user_id)['application_status']

    if application_status != 'applied':
        raise FailedRequest(config['ERROR']['permission'], 403)

    result = user.get_contract()

    return res.send(result)
Example #17
0
def get_all_users(res):
    """get all users information sorted by email

    Keyword arguments:
    res -- instance of Response class
    """

    if not utils.has_scopes(db, request.user_id, 'user.list'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data([], ['page', 'entries'], request.args)

    result = user.get_all_users(params)

    return res.send(result)
Example #18
0
def get_all_users(res):
    """get all users information sorted by email

    Keyword arguments:
    res -- instance of Response class
    """

    if not utils.has_scopes(db, request.user_id, 'user.list'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data([], ['page', 'entries'], request.args)

    result = user.get_all_users(params)

    return res.send(result)
Example #19
0
def delete_user(res, user_id):
    """delete a user, set active to 0

    Keyword arguments:
    res -- instance of Response class
    user_id --  id of user to be deleted
    """

    if not utils.has_scopes(db, request.user_id, 'user.delete'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    user.delete_user(user_id)

    auth.remove_scopes(user_id)
    auth.remove_session(user_id)

    return res.send('User deleted')
Example #20
0
def delete_user(res, user_id):
    """delete a user, set active to 0

    Keyword arguments:
    res -- instance of Response class
    user_id --  id of user to be deleted
    """

    if not utils.has_scopes(db, request.user_id, 'user.delete'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    user.delete_user(user_id)

    auth.remove_scopes(user_id)
    auth.remove_session(user_id)

    return res.send('User deleted')
Example #21
0
def apply(res):
    if not utils.has_scopes(db, request.user_id, 'self.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    application_status = user.get_user(request.user_id)['application_status']

    if application_status != 'applied':
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data(['contract_id', 'original_music', 'name', 'source'],
                            ['skype', 'genre', 'music_location'],
                            request.values)

    params['user_id'] = request.user_id

    user.apply(params)

    return res.send(params)
Example #22
0
def apply(res):
    if not utils.has_scopes(db, request.user_id, 'self.info'):
        raise FailedRequest(config['ERROR']['permission'], 403)

    application_status = user.get_user(request.user_id)['application_status']

    if application_status != 'applied':
        raise FailedRequest(config['ERROR']['permission'], 403)

    params = utils.get_data(
        ['contract_id', 'original_music', 'name', 'source'],
        ['skype', 'genre', 'music_location'], request.values)

    params['user_id'] = request.user_id

    user.apply(params)

    return res.send(params)