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)
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)
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
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)
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)