From d6886027109af42be2e3ec5d14ad166199add11d Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 29 Jul 2021 11:54:38 +0200 Subject: Refactor search query options --- server/helpers/query.ts | 74 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 server/helpers/query.ts (limited to 'server/helpers') diff --git a/server/helpers/query.ts b/server/helpers/query.ts new file mode 100644 index 000000000..e711b15f2 --- /dev/null +++ b/server/helpers/query.ts @@ -0,0 +1,74 @@ +import { pick } from '@shared/core-utils' +import { + VideoChannelsSearchQueryAfterSanitize, + VideoPlaylistsSearchQueryAfterSanitize, + VideosCommonQueryAfterSanitize, + VideosSearchQueryAfterSanitize +} from '@shared/models' + +function pickCommonVideoQuery (query: VideosCommonQueryAfterSanitize) { + return pick(query, [ + 'start', + 'count', + 'sort', + 'nsfw', + 'isLive', + 'categoryOneOf', + 'licenceOneOf', + 'languageOneOf', + 'tagsOneOf', + 'tagsAllOf', + 'filter', + 'skipCount' + ]) +} + +function pickSearchVideoQuery (query: VideosSearchQueryAfterSanitize) { + return { + ...pickCommonVideoQuery(query), + + ...pick(query, [ + 'searchTarget', + 'search', + 'host', + 'startDate', + 'endDate', + 'originallyPublishedStartDate', + 'originallyPublishedEndDate', + 'durationMin', + 'durationMax', + 'uuids' + ]) + } +} + +function pickSearchChannelQuery (query: VideoChannelsSearchQueryAfterSanitize) { + return pick(query, [ + 'searchTarget', + 'search', + 'start', + 'count', + 'sort', + 'host', + 'handles' + ]) +} + +function pickSearchPlaylistQuery (query: VideoPlaylistsSearchQueryAfterSanitize) { + return pick(query, [ + 'searchTarget', + 'search', + 'start', + 'count', + 'sort', + 'host', + 'uuids' + ]) +} + +export { + pickCommonVideoQuery, + pickSearchVideoQuery, + pickSearchPlaylistQuery, + pickSearchChannelQuery +} -- cgit v1.2.3