feature: initial syndication feeds support

Provides rss 2.0, atom 1.0 and json 1.0 feeds for videos (instance and account-wide) on listings and video-watch views.

* still lacks redis caching
* still lacks lastBuildDate support
* still lacks channel-wide support
* still lacks semantic annotation (for licenses, NSFW warnings, etc.)
* still lacks love ( ˘ ³˘)

* RSS: has MRSS support for torrent lists!
* RSS: includes the first torrent in an enclosure
* JSON: lists all torrents in the 'attachments' object
* ATOM: lacking torrent listing support

Advances #23
Partial implementation for the accountId generation in the client, which will need a hotfix to add a way to get the proper account id.
This commit is contained in:
Rigel Kent 2018-04-17 00:49:04 +02:00 committed by Rigel
parent c36d5a6b98
commit 244e76a552
No known key found for this signature in database
GPG key ID: EA12971B0E438F36
33 changed files with 608 additions and 84 deletions

View file

@ -78,6 +78,38 @@ paths:
description: successful operation
schema:
$ref: '#/definitions/ServerConfig'
/feeds/videos.{format}:
get:
tags:
- Feeds
consumes:
- application/json
produces:
- application/json
parameters:
- name: format
in: path
required: true
type: string
enum: ['xml', 'atom' 'json']
default: 'xml'
description: 'The format expected (xml defaults to RSS 2.0, atom to ATOM 1.0 and json to JSON FEED 1.0'
- name: accountId
in: query
required: false
type: number
description: 'The id of the local account to filter to (beware, users IDs and not actors IDs which will return empty feeds'
- name: accountName
in: query
required: false
type: string
description: 'The name of the local account to filter to'
responses:
'200':
description: successful operation
content:
application/json:
application/xml:
/jobs:
get:
security: