From 1fd61899eaea245a5844e33e21f04b2562f16e5e Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 3 May 2021 11:06:19 +0200 Subject: Add ability to filter my videos by live --- shared/models/search/boolean-both-query.model.ts | 1 + shared/models/search/index.ts | 3 ++- shared/models/search/nsfw-query.model.ts | 1 - shared/models/search/videos-common-query.model.ts | 28 +++++++++++++++++++++++ shared/models/search/videos-search-query.model.ts | 22 ++---------------- 5 files changed, 33 insertions(+), 22 deletions(-) create mode 100644 shared/models/search/boolean-both-query.model.ts delete mode 100644 shared/models/search/nsfw-query.model.ts create mode 100644 shared/models/search/videos-common-query.model.ts (limited to 'shared/models') diff --git a/shared/models/search/boolean-both-query.model.ts b/shared/models/search/boolean-both-query.model.ts new file mode 100644 index 000000000..57b0e8d44 --- /dev/null +++ b/shared/models/search/boolean-both-query.model.ts @@ -0,0 +1 @@ +export type BooleanBothQuery = 'true' | 'false' | 'both' diff --git a/shared/models/search/index.ts b/shared/models/search/index.ts index e2d0ab620..697ceccb1 100644 --- a/shared/models/search/index.ts +++ b/shared/models/search/index.ts @@ -1,4 +1,5 @@ -export * from './nsfw-query.model' +export * from './boolean-both-query.model' export * from './search-target-query.model' +export * from './videos-common-query.model' export * from './videos-search-query.model' export * from './video-channels-search-query.model' diff --git a/shared/models/search/nsfw-query.model.ts b/shared/models/search/nsfw-query.model.ts deleted file mode 100644 index 6b6ad1991..000000000 --- a/shared/models/search/nsfw-query.model.ts +++ /dev/null @@ -1 +0,0 @@ -export type NSFWQuery = 'true' | 'false' | 'both' diff --git a/shared/models/search/videos-common-query.model.ts b/shared/models/search/videos-common-query.model.ts new file mode 100644 index 000000000..bd02489ea --- /dev/null +++ b/shared/models/search/videos-common-query.model.ts @@ -0,0 +1,28 @@ +import { VideoFilter } from '../videos' +import { BooleanBothQuery } from './boolean-both-query.model' + +// These query parameters can be used with any endpoint that list videos +export interface VideosCommonQuery { + start?: number + count?: number + sort?: string + + nsfw?: BooleanBothQuery + + isLive?: boolean + + categoryOneOf?: number[] + + licenceOneOf?: number[] + + languageOneOf?: string[] + + tagsOneOf?: string[] + tagsAllOf?: string[] + + filter?: VideoFilter +} + +export interface VideosWithSearchCommonQuery extends VideosCommonQuery { + search?: string +} diff --git a/shared/models/search/videos-search-query.model.ts b/shared/models/search/videos-search-query.model.ts index 3ce4ff73e..406f6cab2 100644 --- a/shared/models/search/videos-search-query.model.ts +++ b/shared/models/search/videos-search-query.model.ts @@ -1,33 +1,15 @@ -import { VideoFilter } from '../videos' -import { NSFWQuery } from './nsfw-query.model' import { SearchTargetQuery } from './search-target-query.model' +import { VideosCommonQuery } from './videos-common-query.model' -export interface VideosSearchQuery extends SearchTargetQuery { +export interface VideosSearchQuery extends SearchTargetQuery, VideosCommonQuery { search?: string - start?: number - count?: number - sort?: string - startDate?: string // ISO 8601 endDate?: string // ISO 8601 originallyPublishedStartDate?: string // ISO 8601 originallyPublishedEndDate?: string // ISO 8601 - nsfw?: NSFWQuery - - categoryOneOf?: number[] - - licenceOneOf?: number[] - - languageOneOf?: string[] - - tagsOneOf?: string[] - tagsAllOf?: string[] - durationMin?: number // seconds durationMax?: number // seconds - - filter?: VideoFilter } -- cgit v1.2.3