-import { NSFWQuery } from './nsfw-query.model'
+import { SearchTargetQuery } from './search-target-query.model'
+import { VideosCommonQuery } from './videos-common-query.model'
-export interface VideosSearchQuery {
- search: string
+export interface VideosSearchQuery extends SearchTargetQuery, VideosCommonQuery {
+ search?: string
- start?: number
- count?: number
- sort?: string
+ host?: string
startDate?: string // ISO 8601
endDate?: string // ISO 8601
- nsfw?: NSFWQuery
+ originallyPublishedStartDate?: string // ISO 8601
+ originallyPublishedEndDate?: string // ISO 8601
- categoryOneOf?: number[]
-
- licenceOneOf?: number[]
+ durationMin?: number // seconds
+ durationMax?: number // seconds
- languageOneOf?: string[]
+ // UUIDs or short UUIDs
+ uuids?: string[]
+}
- tagsOneOf?: string[]
- tagsAllOf?: string[]
+export interface VideosSearchQueryAfterSanitize extends VideosSearchQuery {
+ start: number
+ count: number
+ sort: string
- durationMin?: number // seconds
- durationMax?: number // seconds
+ // FIXME: deprecated in 4.0, to remove
+ filter?: never
}