2023-07-31 14:34:36 +02:00
|
|
|
import { pick } from '@peertube/peertube-core-utils'
|
2021-07-29 11:54:38 +02:00
|
|
|
import {
|
|
|
|
VideoChannelsSearchQueryAfterSanitize,
|
|
|
|
VideoPlaylistsSearchQueryAfterSanitize,
|
|
|
|
VideosCommonQueryAfterSanitize,
|
|
|
|
VideosSearchQueryAfterSanitize
|
2023-07-31 14:34:36 +02:00
|
|
|
} from '@peertube/peertube-models'
|
2021-07-29 11:54:38 +02:00
|
|
|
|
|
|
|
function pickCommonVideoQuery (query: VideosCommonQueryAfterSanitize) {
|
|
|
|
return pick(query, [
|
|
|
|
'start',
|
|
|
|
'count',
|
|
|
|
'sort',
|
|
|
|
'nsfw',
|
|
|
|
'isLive',
|
|
|
|
'categoryOneOf',
|
|
|
|
'licenceOneOf',
|
|
|
|
'languageOneOf',
|
2021-11-12 14:19:56 +01:00
|
|
|
'privacyOneOf',
|
2021-07-29 11:54:38 +02:00
|
|
|
'tagsOneOf',
|
|
|
|
'tagsAllOf',
|
2021-10-27 14:37:04 +02:00
|
|
|
'isLocal',
|
|
|
|
'include',
|
|
|
|
'skipCount',
|
2021-11-03 11:32:41 +01:00
|
|
|
'hasHLSFiles',
|
2023-07-11 09:21:13 +02:00
|
|
|
'hasWebVideoFiles',
|
2023-04-12 09:32:20 +02:00
|
|
|
'search',
|
2024-03-29 14:25:03 +01:00
|
|
|
'excludeAlreadyWatched',
|
|
|
|
'autoTagOneOf'
|
2021-07-29 11:54:38 +02:00
|
|
|
])
|
|
|
|
}
|
|
|
|
|
|
|
|
function pickSearchVideoQuery (query: VideosSearchQueryAfterSanitize) {
|
|
|
|
return {
|
|
|
|
...pickCommonVideoQuery(query),
|
|
|
|
|
|
|
|
...pick(query, [
|
|
|
|
'searchTarget',
|
|
|
|
'host',
|
|
|
|
'startDate',
|
|
|
|
'endDate',
|
|
|
|
'originallyPublishedStartDate',
|
|
|
|
'originallyPublishedEndDate',
|
|
|
|
'durationMin',
|
|
|
|
'durationMax',
|
2024-05-28 08:23:53 +02:00
|
|
|
'uuids'
|
2021-07-29 11:54:38 +02:00
|
|
|
])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
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
|
|
|
|
}
|