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…
	
	Add table
		Add a link
		
	
		Reference in a new issue