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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
def get_config(user_id, id):
    key = {"id": id, "user_id": user_id}
    return dynamodb.get_item(table_name=get_name('configs'), key=key)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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)