X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Ffeeds.ts;h=241715fb90858d4c8bfff900e0fc9669ec92ceb0;hb=0260dc8aca952f9412a8620e433b9e16e675696e;hp=90faaf0248f378c28907cbdb44487fbd69930ae9;hpb=4393b2552c4ecb9fe43ff78480da0826c04709c0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/feeds.ts b/server/controllers/feeds.ts index 90faaf024..241715fb9 100644 --- a/server/controllers/feeds.ts +++ b/server/controllers/feeds.ts @@ -1,13 +1,13 @@ import express from 'express' -import { Feed } from '@peertube/feed' import { extname } from 'path' +import { Feed } from '@peertube/feed' import { mdToOneLinePlainText, toSafeHtml } from '@server/helpers/markdown' import { getServerActor } from '@server/models/application/application' import { getCategoryLabel } from '@server/models/video/formatter/video-format-utils' import { VideoInclude } from '@shared/models' import { buildNSFWFilter } from '../helpers/express-utils' import { CONFIG } from '../initializers/config' -import { FEEDS, MIMETYPES, PREVIEWS_SIZE, ROUTE_CACHE_LIFETIME, WEBSERVER } from '../initializers/constants' +import { MIMETYPES, PREVIEWS_SIZE, ROUTE_CACHE_LIFETIME, WEBSERVER } from '../initializers/constants' import { asyncMiddleware, commonVideosFiltersValidator, @@ -76,7 +76,7 @@ async function generateVideoCommentsFeed (req: express.Request, res: express.Res const comments = await VideoCommentModel.listForFeed({ start, - count: FEEDS.COUNT, + count: CONFIG.FEEDS.COMMENTS.COUNT, videoId: video ? video.id : undefined, accountId: account ? account.id : undefined, videoChannelId: videoChannel ? videoChannel.id : undefined @@ -104,7 +104,7 @@ async function generateVideoCommentsFeed (req: express.Request, res: express.Res // Adding video items to the feed, one at a time for (const comment of comments) { - const link = WEBSERVER.URL + comment.getCommentStaticPath() + const localLink = WEBSERVER.URL + comment.getCommentStaticPath() let title = comment.Video.name const author: { name: string, link: string }[] = [] @@ -119,8 +119,8 @@ async function generateVideoCommentsFeed (req: express.Request, res: express.Res feed.addItem({ title, - id: comment.url, - link, + id: localLink, + link: localLink, content: toSafeHtml(comment.text), author, date: comment.createdAt @@ -166,7 +166,7 @@ async function generateVideoFeed (req: express.Request, res: express.Response) { const server = await getServerActor() const { data } = await VideoModel.listForApi({ start, - count: FEEDS.COUNT, + count: CONFIG.FEEDS.VIDEOS.COUNT, sort: req.query.sort, displayOnlyForFollower: { actorId: server.id, @@ -202,7 +202,7 @@ async function generateVideoFeedForSubscriptions (req: express.Request, res: exp const { data } = await VideoModel.listForApi({ start, - count: FEEDS.COUNT, + count: CONFIG.FEEDS.VIDEOS.COUNT, sort: req.query.sort, nsfw, @@ -269,7 +269,7 @@ function addVideosToFeed (feed: Feed, videos: VideoModel[]) { size_in_bytes: videoFile.size })) - const videos = formattedVideoFiles.map(videoFile => { + const videoFiles = formattedVideoFiles.map(videoFile => { const result = { type: MIMETYPES.VIDEO.EXT_MIMETYPE[extname(videoFile.fileUrl)], medium: 'video', @@ -293,10 +293,12 @@ function addVideosToFeed (feed: Feed, videos: VideoModel[]) { }) } + const localLink = WEBSERVER.URL + video.getWatchStaticPath() + feed.addItem({ title: video.name, - id: video.url, - link: WEBSERVER.URL + video.getWatchStaticPath(), + id: localLink, + link: localLink, description: mdToOneLinePlainText(video.getTruncatedDescription()), content: toSafeHtml(video.description), author: [ @@ -310,21 +312,23 @@ function addVideosToFeed (feed: Feed, videos: VideoModel[]) { torrents, // Enclosure - video: { - url: videos[0].url, - length: videos[0].fileSize, - type: videos[0].type - }, + video: videoFiles.length !== 0 + ? { + url: videoFiles[0].url, + length: videoFiles[0].fileSize, + type: videoFiles[0].type + } + : undefined, // Media RSS - videos, + videos: videoFiles, embed: { - url: video.getEmbedStaticPath(), + url: WEBSERVER.URL + video.getEmbedStaticPath(), allowFullscreen: true }, player: { - url: video.getWatchStaticPath() + url: WEBSERVER.URL + video.getWatchStaticPath() }, categories, community: {