X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Ffeeds.ts;h=6b64ff22720be688d1132b604bab92a71a168ad8;hb=41f8f6207a25b75c69120cabe9b0571ac055f2ec;hp=cd46b6e0f62792d9ad367a93e1b80d93279cf863;hpb=dae86118ed5d4026d04acb9d0e36829b9ad8eb4e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/feeds.ts b/server/controllers/feeds.ts index cd46b6e0f..6b64ff227 100644 --- a/server/controllers/feeds.ts +++ b/server/controllers/feeds.ts @@ -1,6 +1,5 @@ import * as express from 'express' -import { CONFIG, FEEDS, ROUTE_CACHE_LIFETIME } from '../initializers/constants' -import { THUMBNAILS_SIZE } from '../initializers' +import { FEEDS, ROUTE_CACHE_LIFETIME, THUMBNAILS_SIZE, WEBSERVER } from '../initializers/constants' import { asyncMiddleware, commonVideosFiltersValidator, @@ -14,6 +13,7 @@ import * as Feed from 'pfeed' import { cacheRoute } from '../middlewares/cache' import { VideoCommentModel } from '../models/video/video-comment' import { buildNSFWFilter } from '../helpers/express-utils' +import { CONFIG } from '../initializers/config' const feedsRouter = express.Router() @@ -43,7 +43,7 @@ export { async function generateVideoCommentsFeed (req: express.Request, res: express.Response) { const start = 0 - const video = res.locals.video + const video = res.locals.videoAll const videoId: number = video ? video.id : undefined const comments = await VideoCommentModel.listForFeed(start, FEEDS.COUNT, videoId) @@ -54,7 +54,7 @@ async function generateVideoCommentsFeed (req: express.Request, res: express.Res // Adding video items to the feed, one at a time comments.forEach(comment => { - const link = CONFIG.WEBSERVER.URL + comment.getCommentStaticPath() + const link = WEBSERVER.URL + comment.getCommentStaticPath() feed.addItem({ title: `${comment.Video.name} - ${comment.Account.getDisplayName()}`, @@ -118,11 +118,22 @@ async function generateVideoFeed (req: express.Request, res: express.Response) { url: videoFile.torrentUrl, size_in_bytes: videoFile.size })) + const videos = formattedVideoFiles.map(videoFile => (Object.assign({ + type: 'video/mp4', + medium: 'video', + height: videoFile.resolution.label.replace('p', ''), + fileSize: videoFile.size, + url: videoFile.fileUrl, + framerate: videoFile.fps, + duration: video.duration + }, video.language ? { + lang: video.language + } : {}))) feed.addItem({ title: video.name, id: video.url, - link: CONFIG.WEBSERVER.URL + '/videos/watch/' + video.uuid, + link: WEBSERVER.URL + '/videos/watch/' + video.uuid, description: video.getTruncatedDescription(), content: video.description, author: [ @@ -132,12 +143,28 @@ async function generateVideoFeed (req: express.Request, res: express.Response) { } ], date: video.publishedAt, - language: video.language, nsfw: video.nsfw, torrent: torrents, + videos, + embed: { + url: video.getEmbedStaticPath(), + allowFullscreen: true + }, + player: { + url: video.getWatchStaticPath() + }, + categories: [video.category ? { + value: video.category, + label: VideoModel.getCategoryLabel(video.category) + } : null].filter(Boolean), + community: { + statistics: { + views: video.views + } + }, thumbnail: [ { - url: CONFIG.WEBSERVER.URL + video.getThumbnailStaticPath(), + url: WEBSERVER.URL + video.getMiniatureStaticPath(), height: THUMBNAILS_SIZE.height, width: THUMBNAILS_SIZE.width } @@ -150,7 +177,7 @@ async function generateVideoFeed (req: express.Request, res: express.Response) { } function initFeed (name: string, description: string) { - const webserverUrl = CONFIG.WEBSERVER.URL + const webserverUrl = WEBSERVER.URL return new Feed({ title: name,