-import * as express from 'express'
-import * as memoizee from 'memoizee'
+import express from 'express'
+import memoizee from 'memoizee'
import { logger } from '@server/helpers/logger'
import { Hooks } from '@server/lib/plugins/hooks'
import { VideoModel } from '@server/models/video/video'
import { MEMOIZE_TTL, OVERVIEWS } from '../../initializers/constants'
import { asyncMiddleware, optionalAuthenticate, videosOverviewValidator } from '../../middlewares'
import { TagModel } from '../../models/video/tag'
+import { getServerActor } from '@server/models/application/application'
const overviewsRouter = express.Router()
res: express.Response,
where: { videoChannelId?: number, tagsOneOf?: string[], categoryOneOf?: number[] }
) {
- let query = Object.assign({
+ const serverActor = await getServerActor()
+
+ const query = await Hooks.wrapObject({
start: 0,
count: 12,
sort: '-createdAt',
- includeLocalVideos: true,
+ displayOnlyForFollower: {
+ actorId: serverActor.id,
+ orLocalVideos: true
+ },
nsfw: buildNSFWFilter(res),
user: res.locals.oauth ? res.locals.oauth.token.User : undefined,
- withFiles: false,
- countVideos: false
- }, where)
+ countVideos: false,
- query = await Hooks.wrapObject(query, 'filter:api.overviews.videos.list.params')
+ ...where
+ }, 'filter:api.overviews.videos.list.params')
const { data } = await Hooks.wrapPromiseFun(
VideoModel.listForApi,