mirror of
https://github.com/TeamPiped/OpenAPI.git
synced 2024-08-14 23:56:55 +00:00
Add support for searching videos, channels and playlists.
This commit is contained in:
parent
2fdb965b71
commit
c03512f3ad
1 changed files with 169 additions and 0 deletions
169
swagger.yaml
169
swagger.yaml
|
@ -263,6 +263,82 @@ paths:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/ExceptionError"
|
$ref: "#/components/schemas/ExceptionError"
|
||||||
|
/search:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- unauthenticated
|
||||||
|
summary: Searches for videos, channels, and playlists.
|
||||||
|
operationId: search
|
||||||
|
description: |
|
||||||
|
Searches for videos, channels, and playlists.
|
||||||
|
parameters:
|
||||||
|
- in: query
|
||||||
|
name: q
|
||||||
|
description: The search query string.
|
||||||
|
required: true
|
||||||
|
example: "Techlore"
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
- in: query
|
||||||
|
name: filter
|
||||||
|
description: The filter parameter specifies a filter query that restricts the results to items that match the filter.
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/SearchFilter"
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: The first page of search results.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/SearchPage"
|
||||||
|
"500":
|
||||||
|
description: Server Side exception
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ExceptionError"
|
||||||
|
/nextpage/search:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- unauthenticated
|
||||||
|
summary: Gets more search results
|
||||||
|
operationId: searchNextPage
|
||||||
|
description: |
|
||||||
|
Gets more search results.
|
||||||
|
parameters:
|
||||||
|
- in: query
|
||||||
|
name: nextpage
|
||||||
|
description: The next page token to get more search results from.
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
- in: query
|
||||||
|
name: q
|
||||||
|
description: The search query string.
|
||||||
|
required: true
|
||||||
|
example: "Techlore"
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
- in: query
|
||||||
|
name: filter
|
||||||
|
description: The filter parameter specifies a filter query that restricts the results to items that match the filter.
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/SearchFilter"
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: The page of search results.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/SearchPage"
|
||||||
|
"500":
|
||||||
|
description: Server Side exception
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/ExceptionError"
|
||||||
components:
|
components:
|
||||||
schemas:
|
schemas:
|
||||||
Regions:
|
Regions:
|
||||||
|
@ -377,6 +453,19 @@ components:
|
||||||
"YE",
|
"YE",
|
||||||
"ZW",
|
"ZW",
|
||||||
]
|
]
|
||||||
|
SearchFilter:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
[
|
||||||
|
"all",
|
||||||
|
"videos",
|
||||||
|
"channels",
|
||||||
|
"playlists",
|
||||||
|
"music_songs",
|
||||||
|
"music_videos",
|
||||||
|
"music_albums",
|
||||||
|
"music_playlists",
|
||||||
|
]
|
||||||
VideoInfo:
|
VideoInfo:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -657,3 +746,83 @@ components:
|
||||||
disabled:
|
disabled:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: Whether or not comments are disabled on the video.
|
description: Whether or not comments are disabled on the video.
|
||||||
|
ChannelItem:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
description: The description of the channel.
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
description: The name of the channel.
|
||||||
|
subscribers:
|
||||||
|
type: integer
|
||||||
|
description: The number of subscribers the channel has.
|
||||||
|
thumbnail:
|
||||||
|
type: string
|
||||||
|
description: The thumbnail of the channel.
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
description: The relative URL of the channel.
|
||||||
|
verified:
|
||||||
|
type: boolean
|
||||||
|
description: Whether the channel is verified.
|
||||||
|
videos:
|
||||||
|
type: integer
|
||||||
|
description: The number of videos the channel has.
|
||||||
|
PlaylistItem:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
description: The name of the playlist.
|
||||||
|
thumbnail:
|
||||||
|
type: string
|
||||||
|
description: The thumbnail of the playlist.
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
description: The relative URL of the playlist.
|
||||||
|
videos:
|
||||||
|
type: integer
|
||||||
|
description: The number of videos in the playlist.
|
||||||
|
SearchPage:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
corrected:
|
||||||
|
type: boolean
|
||||||
|
description: Whether the search query was corrected.
|
||||||
|
items:
|
||||||
|
type: array
|
||||||
|
anyOf:
|
||||||
|
- $ref: "#/components/schemas/StreamItem"
|
||||||
|
- $ref: "#/components/schemas/ChannelItem"
|
||||||
|
- $ref: "#/components/schemas/PlaylistItem"
|
||||||
|
example:
|
||||||
|
- description: "Join us in spreading privacy and security to the masses. Home of: 🕵️♀️ Go Incognito | A Guide To Security, Privacy, ..."
|
||||||
|
name: "Techlore"
|
||||||
|
subscribers: 192000
|
||||||
|
thumbnail: "https://pipedproxy.kavin.rocks/lwHqZYuTM3v0oBB_RevOFbD_cHL7AWUfYID_iv8trv6_4u4r7Go_t4qFJplYiJNQVC-14Tb8=s88-c-k-c0x00ffffff-no-rw-mo?host=yt3.ggpht.com"
|
||||||
|
url: "/channel/UCs6KfncB4OV6Vug4o_bzijg"
|
||||||
|
verified: true
|
||||||
|
videos: 320
|
||||||
|
- duration: 527
|
||||||
|
shortDescription: "Top 10 best tools to boost privacy and security today. Most times, you need to put in a lot of effort to gain privacy, security, and ..."
|
||||||
|
thumbnail: "https://pipedproxy.kavin.rocks/vi/LLpLU317zfc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFbyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDZO4ZxHFoyHKmPQTZAVVVDTmB8FA&host=i.ytimg.com"
|
||||||
|
title: "Top 10 Tools To Boost Privacy & Security!"
|
||||||
|
uploaded: 1625590800000
|
||||||
|
uploadedDate: "1 year ago"
|
||||||
|
uploaderAvatar: "https://pipedproxy.kavin.rocks/lwHqZYuTM3v0oBB_RevOFbD_cHL7AWUfYID_iv8trv6_4u4r7Go_t4qFJplYiJNQVC-14Tb8=s68-c-k-c0x00ffffff-no-rw?host=yt3.ggpht.com"
|
||||||
|
uploaderName: "Techlore"
|
||||||
|
uploaderUrl: "/channel/UCs6KfncB4OV6Vug4o_bzijg"
|
||||||
|
uploaderVerified: true
|
||||||
|
url: "/watch?v=LLpLU317zfc"
|
||||||
|
views: 113599
|
||||||
|
nextpage:
|
||||||
|
type: string
|
||||||
|
nullable: true
|
||||||
|
description: The parameter used to get the next page of this page.
|
||||||
|
suggestion:
|
||||||
|
type: string
|
||||||
|
nullable: true
|
||||||
|
example: null
|
||||||
|
description: The suggested search query.
|
||||||
|
|
Loading…
Reference in a new issue