mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 20:51:56 +00:00 
			
		
		
		
	api: Add support for the "featured channels" endpoint
This commit is contained in:
		| @@ -283,6 +283,37 @@ module Invidious::Routes::API::V1::Channels | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   def self.channels(env) | ||||
|     locale = env.get("preferences").as(Preferences).locale | ||||
|     ucid = env.params.url["ucid"] | ||||
|  | ||||
|     env.response.content_type = "application/json" | ||||
|  | ||||
|     # Use the macro defined above | ||||
|     channel = nil # Make the compiler happy | ||||
|     get_channel() | ||||
|  | ||||
|     continuation = env.params.query["continuation"]? | ||||
|  | ||||
|     begin | ||||
|       items, next_continuation = fetch_related_channels(channel, continuation) | ||||
|     rescue ex | ||||
|       return error_json(500, ex) | ||||
|     end | ||||
|  | ||||
|     JSON.build do |json| | ||||
|       json.object do | ||||
|         json.field "relatedChannels" do | ||||
|           json.array do | ||||
|             items.each &.to_json(locale, json) | ||||
|           end | ||||
|         end | ||||
|  | ||||
|         json.field "continuation", next_continuation if next_continuation | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   def self.search(env) | ||||
|     locale = env.get("preferences").as(Preferences).locale | ||||
|     region = env.params.query["region"]? | ||||
|   | ||||
| @@ -225,6 +225,7 @@ module Invidious::Routing | ||||
|       get "/api/v1/channels/:ucid", {{namespace}}::Channels, :home | ||||
|       get "/api/v1/channels/:ucid/shorts", {{namespace}}::Channels, :shorts | ||||
|       get "/api/v1/channels/:ucid/streams", {{namespace}}::Channels, :streams | ||||
|       get "/api/v1/channels/:ucid/channels", {{namespace}}::Channels, :channels | ||||
|  | ||||
|       {% for route in {"videos", "latest", "playlists", "community", "search"} %} | ||||
|         get "/api/v1/channels/#{{{route}}}/:ucid", {{namespace}}::Channels, :{{route}} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Samantaz Fox
					Samantaz Fox