X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Ffeeds.ts;h=f0717bbbca62dd3b7e55ad58a4dd85d8f6bd1731;hb=428ccb8b7a44ce60cabb7401a5464cf5fcbd4dba;hp=5c95069fc2cc8fc035941ee2c79ab553af4c0c48;hpb=5beb89f223539f1e415a976ff104f772526b4d20;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/feeds.ts b/server/controllers/feeds.ts index 5c95069fc..f0717bbbc 100644 --- a/server/controllers/feeds.ts +++ b/server/controllers/feeds.ts @@ -1,8 +1,9 @@ import * as express from 'express' import * as Feed from 'pfeed' +import { VideoFilter } from '../../shared/models/videos/video-query.type' import { buildNSFWFilter } from '../helpers/express-utils' import { CONFIG } from '../initializers/config' -import { FEEDS, ROUTE_CACHE_LIFETIME, THUMBNAILS_SIZE, WEBSERVER } from '../initializers/constants' +import { FEEDS, PREVIEWS_SIZE, ROUTE_CACHE_LIFETIME, WEBSERVER } from '../initializers/constants' import { asyncMiddleware, commonVideosFiltersValidator, @@ -12,12 +13,11 @@ import { videoCommentsFeedsValidator, videoFeedsValidator, videosSortValidator, - videoSubscriptonFeedsValidator + videoSubscriptionFeedsValidator } from '../middlewares' import { cacheRoute } from '../middlewares/cache' import { VideoModel } from '../models/video/video' import { VideoCommentModel } from '../models/video/video-comment' -import { VideoFilter } from '../../shared/models/videos/video-query.type' const feedsRouter = express.Router() @@ -60,7 +60,7 @@ feedsRouter.get('/feeds/subscriptions.:format', ] })(ROUTE_CACHE_LIFETIME.FEEDS)), commonVideosFiltersValidator, - asyncMiddleware(videoSubscriptonFeedsValidator), + asyncMiddleware(videoSubscriptionFeedsValidator), asyncMiddleware(generateVideoFeedForSubscriptions) ) @@ -167,7 +167,7 @@ async function generateVideoFeed (req: express.Request, res: express.Response) { videoChannelId: videoChannel ? videoChannel.id : null } - const resultList = await VideoModel.listForApi({ + const { data } = await VideoModel.listForApi({ start, count: FEEDS.COUNT, sort: req.query.sort, @@ -175,10 +175,11 @@ async function generateVideoFeed (req: express.Request, res: express.Response) { nsfw, filter: req.query.filter as VideoFilter, withFiles: true, + countVideos: false, ...options }) - addVideosToFeed(feed, resultList.data) + addVideosToFeed(feed, data) // Now the feed generation is done, let's send it! return sendFeed(feed, req, res) @@ -198,23 +199,22 @@ async function generateVideoFeedForSubscriptions (req: express.Request, res: exp queryString: new URL(WEBSERVER.URL + req.url).search }) - const options = { - followerActorId: res.locals.user.Account.Actor.id, - user: res.locals.user - } - - const resultList = await VideoModel.listForApi({ + const { data } = await VideoModel.listForApi({ start, count: FEEDS.COUNT, sort: req.query.sort, - includeLocalVideos: true, + includeLocalVideos: false, nsfw, filter: req.query.filter as VideoFilter, + withFiles: true, - ...options + countVideos: false, + + followerActorId: res.locals.user.Account.Actor.id, + user: res.locals.user }) - addVideosToFeed(feed, resultList.data) + addVideosToFeed(feed, data) // Now the feed generation is done, let's send it! return sendFeed(feed, req, res) @@ -258,7 +258,7 @@ function addVideosToFeed (feed, videos: VideoModel[]) { * Adding video items to the feed object, one at a time */ for (const video of videos) { - const formattedVideoFiles = video.getFormattedVideoFilesJSON() + const formattedVideoFiles = video.getFormattedVideoFilesJSON(false) const torrents = formattedVideoFiles.map(videoFile => ({ title: video.name, @@ -321,9 +321,9 @@ function addVideosToFeed (feed, videos: VideoModel[]) { }, thumbnail: [ { - url: WEBSERVER.URL + video.getMiniatureStaticPath(), - height: THUMBNAILS_SIZE.height, - width: THUMBNAILS_SIZE.width + url: WEBSERVER.URL + video.getPreviewStaticPath(), + height: PREVIEWS_SIZE.height, + width: PREVIEWS_SIZE.width } ] })