def get_subscriptions(current_user_id, subscriptions_keys_only): subscriptions = dynamodb.get_all(table_name=get_name('subscriptions'), key='user_id', value=current_user_id) if subscriptions_keys_only: return subscriptions else: config_keys = [] for subscription in subscriptions: config_keys.append(parse_config_key(subscription['config_key'])) return dynamodb.batch_get_all(get_name('configs'), config_keys)
def add_subscription(config_key, current_user_id): item = {"config_key": config_key, "user_id": current_user_id} dynamodb.insert(table_name=get_name('subscriptions'), item=item)
def get_feed(user_id, id): config = get_config(user_id, id) key = {"url": config["config"]["url"]} return dynamodb.get_item(table_name=get_name('live_feeds'), key=key)
def delete_config(id): user_id = cognito.get_user_id(app.current_request) keys = {"user_id": user_id, "id": id} return dynamodb.delete(table_name=get_name('configs'), key=keys)
def get_config(user_id, id): key = {"id": id, "user_id": user_id} return dynamodb.get_item(table_name=get_name('configs'), key=key)
def get_all_configs(): user_id = cognito.get_user_id(app.current_request) return dynamodb.get_all(table_name=get_name('configs'), key='user_id', value=user_id)
def delete_subscription(config_key, current_user_id): key = {"user_id": current_user_id, "config_key": config_key} dynamodb.delete(table_name=get_name('subscriptions'), key=key)