res: express.Response,
where: { videoChannelId?: number, tagsOneOf?: string[], categoryOneOf?: number[] }
) {
- let query = Object.assign({
+ const query = await Hooks.wrapObject({
start: 0,
count: 12,
sort: '-createdAt',
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,
})
{
- const searchHooks = [
+ const filterHooks = [
'filter:api.search.videos.local.list.params',
'filter:api.search.videos.local.list.result',
'filter:api.search.videos.index.list.params',
'filter:api.search.video-playlists.local.list.params',
'filter:api.search.video-playlists.local.list.result',
'filter:api.search.video-playlists.index.list.params',
- 'filter:api.search.video-playlists.index.list.result'
+ 'filter:api.search.video-playlists.index.list.result',
+
+ 'filter:api.overviews.videos.list.params',
+ 'filter:api.overviews.videos.list.result'
]
- for (const h of searchHooks) {
+ for (const h of filterHooks) {
registerHook({
target: h,
handler: (obj) => {
expect(thread.comment.text.endsWith(' <3')).to.be.true
})
+ it('Should run filter:api.overviews.videos.list.{params,result}', async function () {
+ await servers[0].overviews.getVideos({ page: 1 })
+
+ // 3 because we get 3 samples per page
+ await servers[0].servers.waitUntilLog('Run hook filter:api.overviews.videos.list.params', 3)
+ await servers[0].servers.waitUntilLog('Run hook filter:api.overviews.videos.list.result', 3)
+ })
+
describe('Should run filter:video.auto-blacklist.result', function () {
async function checkIsBlacklisted (id: number | string, value: boolean) {