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,
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()
]
})(ROUTE_CACHE_LIFETIME.FEEDS)),
commonVideosFiltersValidator,
- asyncMiddleware(videoSubscriptonFeedsValidator),
+ asyncMiddleware(videoSubscriptionFeedsValidator),
asyncMiddleware(generateVideoFeedForSubscriptions)
)
videoChannelId: videoChannel ? videoChannel.id : null
}
- const resultList = await VideoModel.listForApi({
+ const { data } = await VideoModel.listForApi({
start,
count: FEEDS.COUNT,
sort: req.query.sort,
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)
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)
* 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,
},
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
}
]
})