{
  "name": "syndication",
  "title": "Syndication",
  "description": "The Syndication Pod lets you subscribe to or create syndications such as RSS/ATOM/JSON or your own custom time-series lists, logs and content feeds.",
  "url": "",
  "trackDuplicates": true,
  "config": {},
  "auth": {
    "strategy": "none"
  },
  "rpcs": {},
  "actions": {
    "list": {
      "title": "Store a list of items",
      "description": "Stores content for adjacent channels",
      "trigger": "invoke",
      "config": {
        "properties": {
          "write_mode": {
            "type": "string",
            "oneOf": [
              {
                "$ref": "#/config/definitions/write_mode"
              }
            ],
            "title": "Write Mode"
          },
          "export_file": {
            "type": "boolean",
            "default": false,
            "title": "Export File"
          },
          "export_file_name": {
            "type": "string",
            "title": "Exported File Name"
          },
          "header": {
            "type": "string",
            "title": "File Header"
          }
        },
        "definitions": {
          "write_mode": {
            "description": "List Write Mode",
            "enum": [
              "append",
              "replace"
            ],
            "enum_label": [
              "Append Entries",
              "Replace Entries"
            ],
            "default": "append"
          }
        },
        "disposition": [
          "write_mode",
          "export_file",
          "export_file_name",
          "header"
        ]
      },
      "exports": {
        "properties": {
          "line_item": {
            "type": "string",
            "title": "Line Item"
          }
        }
      },
      "imports": {
        "properties": {
          "line_item": {
            "type": "string",
            "title": "Line Item"
          },
          "export_file_name": {
            "type": "string",
            "title": "Exported File Name"
          }
        },
        "required": [
          "line_item"
        ],
        "disposition": [
          "line_item",
          "export_file_name"
        ]
      },
      "rpcs": {
        "get": {
          "contentType": "text/plain",
          "title": "Returns list Content"
        }
      }
    },
    "feed": {
      "title": "Create A Feed",
      "description": "Add Articles To Your Own Syndication",
      "trigger": "invoke",
      "config": {
        "properties": {
          "purge_after": {
            "title": "Expire After",
            "type": "string",
            "oneOf": [
              {
                "$ref": "#/config/definitions/purge_after"
              }
            ]
          }
        },
        "definitions": {
          "purge_after": {
            "description": "Expire After",
            "enum": [
              "never",
              "30d"
            ],
            "enum_label": [
              "Never",
              "After 30 Days"
            ],
            "default": "never"
          }
        },
        "disposition": [
          "purge_after"
        ]
      },
      "exports": {
        "properties": {}
      },
      "imports": {
        "properties": {
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "type": "text",
            "title": "Description"
          },
          "summary": {
            "type": "text",
            "title": "Article Summary"
          },
          "url": {
            "type": "string",
            "title": "Source URL"
          },
          "created_time": {
            "type": "string",
            "title": "UTC Created Time"
          },
          "author": {
            "type": "string",
            "title": "Author"
          },
          "image": {
            "type": "string",
            "title": "Image"
          },
          "icon": {
            "type": "string",
            "title": "Source Icon"
          },
          "category": {
            "type": "string",
            "title": "Category Name"
          }
        },
        "disposition": [
          "title",
          "description",
          "summary",
          "url",
          "created_time",
          "author",
          "image",
          "icon",
          "category"
        ]
      },
      "rpcs": {
        "rss": {
          "description": "Serves stored items as an RSS 2.0 Feed",
          "contentType": "text/xml",
          "title": "RSS 2.0"
        },
        "json": {
          "description": "Serves stored items as JSON",
          "contentType": "application/json",
          "title": "JSON"
        },
        "blog": {
          "description": "Blogging Format",
          "contentType": "text/html",
          "title": "Blog"
        },
        "remove_by_bip": {
          "description": "Removes a feed entity by its originating Bip ID",
          "contentType": "application/json",
          "method" : "DELETE",
          "properties": {
            "id": {
              "type": "string",
              "description": "Bip ID",
              "required": true
            }
          },
          "title": "Remove By Bip ID"
        },
        "remove_entity": {
          "description": "Removes a feed entity by its GUID",
          "contentType": "application/json",
          "method" : "DELETE",
          "properties": {
            "guid": {
              "type": "string",
              "description": "Entity ID",
              "required": true
            }
          },
          "title": "Remove Feed Entity"
        }
      }
    },
    "subscribe": {
      "title": "Subscribe To A Feed",
      "description": "Subscribes To An RSS/ATOM/RDF Feed",
      "trigger": "poll",
      "config": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Feed URL",
            "description" : "eg: https://news.ycombinator.com/rss"
          },
          "icon": {
            "type": "string",
            "title": "Icon URL"
          }
        },
        "required": [
          "url"
        ],
        "disposition": [
          "url",
          "icon"
        ]
      },
      "exports": {
        "properties": {
          "guid": {
            "type": "string",
            "title": "GUID"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "summary": {
            "type": "string",
            "title": "Article Summary"
          },
          "link": {
            "type": "string",
            "title": "Link"
          },
          "date": {
            "type": "string",
            "title": "Date"
          },
          "pubdate": {
            "type": "string",
            "title": "Published Date"
          },
          "author": {
            "type": "string",
            "title": "Author"
          },
          "image": {
            "type": "string",
            "title": "Image"
          },
          "icon": {
            "type": "string",
            "title": "Source Icon"
          }
        }
        ,
        "disposition": [
       		"guid",
       		"title",
       		"description",
       		"summary",
       		"link",
       		"date",
       		"pubdate",
       		"author",
       		"image",
       		"icon"
       		]
      },
      "imports": {
        "properties": {},
        "disposition": []
      }
    }
  },
  "dataSources": {
    "feed": {
      "properties": {
        "id": {
          "type": "string",
          "renderable": false,
          "writable": false,
          "unique": true
        },
        "owner_id": {
          "type": "string",
          "renderable": false,
          "writable": false
        },
        "channel_id": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "created": {
          "type": "number",
          "renderable": true,
          "writable": false
        },
        "last_update": {
          "type": "number",
          "renderable": true,
          "writable": false
        },
        "last_build": {
          "type": "number",
          "renderable": true,
          "writable": false
        }
      },
      "keys": [
        "channel_id",
        "owner_id"
      ]
    },
    "feed_entity": {
      "properties": {
        "id": {
          "type": "string",
          "index": true,
          "renderable": true,
          "writable": false,
          "unique": true
        },
        "feed_id": {
          "type": "string",
          "index": true,
          "renderable": true,
          "writable": false
        },
        "created": {
          "type": "number",
          "renderable": true,
          "writable": false
        },
        "entity_created": {
          "type": "number",
          "index": true,
          "renderable": true,
          "writable": false
        },
        "title": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "description": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "summary": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "url": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "image": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "icon": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "image_dim": {
          "type": "mixed",
          "renderable": true,
          "writable": false
        },
        "author": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "category": {
          "type": "array",
          "index": true,
          "renderable": true,
          "writable": false
        },
        "src_bip_id": {
          "type": "string",
          "renderable": false,
          "writable": false
        },
        "favorited": {
          "type": "boolean",
          "default": false,
          "renderable": true,
          "writable": false
        }
      },
      "keys": [
        "id"
      ]
    },
    "track_subscribe": {
      "properties": {
        "id": {
          "type": "string",
          "renderable": false,
          "writable": false,
          "unique": true
        },
        "owner_id": {
          "type": "string",
          "renderable": false,
          "writable": false
        },
        "created": {
          "type": "number",
          "renderable": true,
          "writable": false
        },
        "last_update": {
          "type": "number",
          "renderable": true,
          "writable": false
        },
        "channel_id": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "bip_id": {
          "type": "string",
          "renderable": true,
          "writable": false
        },
        "guid": {
          "type": "string",
          "renderable": true,
          "writable": false
        }
      },
      "keys": [
        "id"
      ]
    }
  },
  "tags": [
    "rss",
    "syndication"
  ]
}