Esempio n. 1
0
def insert_account(table_name, **kwargs):
    """
    Creates new account records (handles POST traffic)
    Salts the api_key
    """
    try:
        # Username cannot already exist
        record = Interactions.query(table_name,
                                    filters={'username': kwargs['username']})

        if record:
            return make_response(jsonify({'Error': 'Username already exists'}),
                                 client.CONFLICT)

        original_api_key = kwargs['api_key']
        kwargs['api_key'] = generate_password_hash(kwargs['api_key'])
        account_data = Interactions.insert(table_name, **kwargs)
        account_data['api_key'] = original_api_key

        return make_response(jsonify(account_data), client.CREATED)
    except RqlRuntimeError as runtime_err:
        return make_response(jsonify({'Error': runtime_err.message}),
                             client.INTERNAL_SERVER_ERROR)
    except RqlDriverError as rql_err:
        return make_response(jsonify({'Error': rql_err.message}),
                             client.INTERNAL_SERVER_ERROR)
    except TypeError:
        return make_response(jsonify({'Error': 'Invalid parameter(s)'}),
                             client.BAD_REQUEST)
Esempio n. 2
0
def insert_account(table_name, **kwargs):
    """
    Creates new account records (handles POST traffic)
    Salts the api_key
    """
    try:
        # Username cannot already exist
        record = Interactions.query(
            table_name, filters={'username': kwargs['username']})

        if record:
            return make_response(
                jsonify({'Error': 'Username already exists'}), client.CONFLICT)

        original_api_key = kwargs['api_key']
        kwargs['api_key'] = generate_password_hash(kwargs['api_key'])
        account_data = Interactions.insert(table_name, **kwargs)
        account_data['api_key'] = original_api_key

        return make_response(jsonify(account_data), client.CREATED)
    except RqlRuntimeError as runtime_err:
        return make_response(jsonify({'Error': runtime_err.message}),
                             client.INTERNAL_SERVER_ERROR)
    except RqlDriverError as rql_err:
        return make_response(jsonify({'Error': rql_err.message}),
                             client.INTERNAL_SERVER_ERROR)
    except TypeError:
        return make_response(
            jsonify({'Error': 'Invalid parameter(s)'}), client.BAD_REQUEST)
Esempio n. 3
0
def create_admin_account():
    """
    Creates a new admin account
    """
    try:
        original_api_key = generate_key()
        secret_key = generate_key()
        hashed_api_key = generate_password_hash(original_api_key)

        Interactions.insert(DEFAULT_ACCOUNTS_TABLE,
                            **{'username': '******',
                               'endpoint': '',
                               'is_admin': True,
                               'api_key': hashed_api_key,
                               'secret_key': secret_key})

        return {'api_key': original_api_key, 'secret_key': secret_key}
    except (RqlRuntimeError, RqlDriverError) as err:
        raise err
Esempio n. 4
0
def insert(table_name, **kwargs):
    """
    Creates new records (handles POST traffic)
    """
    try:
        return make_response(
            jsonify(Interactions.insert(table_name, **kwargs)), client.CREATED)
    except RqlRuntimeError as runtime_err:
        return make_response(jsonify({'Error': runtime_err.message}),
                             client.INTERNAL_SERVER_ERROR)
    except RqlDriverError as rql_err:
        return make_response(jsonify({'Error': rql_err.message}),
                             client.INTERNAL_SERVER_ERROR)
    except TypeError:
        return make_response(jsonify({'Error': 'Invalid parameter(s)'}),
                             client.BAD_REQUEST)
Esempio n. 5
0
def insert(table_name, **kwargs):
    """
    Creates new records (handles POST traffic)
    """
    try:
        return make_response(
            jsonify(Interactions.insert(table_name, **kwargs)), client.CREATED)
    except RqlRuntimeError as runtime_err:
        return make_response(jsonify({'Error': runtime_err.message}),
                             client.INTERNAL_SERVER_ERROR)
    except RqlDriverError as rql_err:
        return make_response(jsonify({'Error': rql_err.message}),
                             client.INTERNAL_SERVER_ERROR)
    except TypeError:
        return make_response(
            jsonify({'Error': 'Invalid parameter(s)'}), client.BAD_REQUEST)