1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import {
- HttpStatusCode,
- ResultList,
- Video,
- VideoChannel,
- VideoChannelsSearchQuery,
- VideoPlaylist,
- VideoPlaylistsSearchQuery,
- VideosSearchQuery
- } from '@shared/models'
- import { AbstractCommand, OverrideCommandOptions } from '../shared'
- export class SearchCommand extends AbstractCommand {
- searchChannels (options: OverrideCommandOptions & {
- search: string
- }) {
- return this.advancedChannelSearch({
- ...options,
- search: { search: options.search }
- })
- }
- advancedChannelSearch (options: OverrideCommandOptions & {
- search: VideoChannelsSearchQuery
- }) {
- const { search } = options
- const path = '/api/v1/search/video-channels'
- return this.getRequestBody<ResultList<VideoChannel>>({
- ...options,
- path,
- query: search,
- implicitToken: false,
- defaultExpectedStatus: HttpStatusCode.OK_200
- })
- }
- searchPlaylists (options: OverrideCommandOptions & {
- search: string
- }) {
- return this.advancedPlaylistSearch({
- ...options,
- search: { search: options.search }
- })
- }
- advancedPlaylistSearch (options: OverrideCommandOptions & {
- search: VideoPlaylistsSearchQuery
- }) {
- const { search } = options
- const path = '/api/v1/search/video-playlists'
- return this.getRequestBody<ResultList<VideoPlaylist>>({
- ...options,
- path,
- query: search,
- implicitToken: false,
- defaultExpectedStatus: HttpStatusCode.OK_200
- })
- }
- searchVideos (options: OverrideCommandOptions & {
- search: string
- sort?: string
- }) {
- const { search, sort } = options
- return this.advancedVideoSearch({
- ...options,
- search: {
- search,
- sort: sort ?? '-publishedAt'
- }
- })
- }
- advancedVideoSearch (options: OverrideCommandOptions & {
- search: VideosSearchQuery
- }) {
- const { search } = options
- const path = '/api/v1/search/videos'
- return this.getRequestBody<ResultList<Video>>({
- ...options,
- path,
- query: search,
- implicitToken: false,
- defaultExpectedStatus: HttpStatusCode.OK_200
- })
- }
- }
|