mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-11-04 14:41:59 +00:00 
			
		
		
		
	Simplify resolveUrl api call
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
This commit is contained in:
		@@ -24,12 +24,12 @@ def fetch_channel_community(ucid, cursor, locale, format, thin_mode)
 | 
			
		||||
  return extract_channel_community(items, ucid: ucid, locale: locale, format: format, thin_mode: thin_mode)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
def fetch_channel_community_post(ucid, postId, locale, format, thin_mode, params : String | Nil = nil)
 | 
			
		||||
def fetch_channel_community_post(ucid, post_id, locale, format, thin_mode, params : String | Nil = nil)
 | 
			
		||||
  if params.nil?
 | 
			
		||||
    object = {
 | 
			
		||||
      "2:string"    => "community",
 | 
			
		||||
      "25:embedded" => {
 | 
			
		||||
        "22:string" => postId.to_s,
 | 
			
		||||
        "22:string" => post_id.to_s,
 | 
			
		||||
      },
 | 
			
		||||
      "45:embedded" => {
 | 
			
		||||
        "2:varint" => 1_i64,
 | 
			
		||||
 
 | 
			
		||||
@@ -16,11 +16,11 @@ module Invidious::Comments
 | 
			
		||||
    return parse_youtube(id, response, format, locale, thin_mode, sort_by)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def fetch_community_post_comments(ucid, postId)
 | 
			
		||||
  def fetch_community_post_comments(ucid, post_id)
 | 
			
		||||
    object = {
 | 
			
		||||
      "2:string"    => "community",
 | 
			
		||||
      "25:embedded" => {
 | 
			
		||||
        "22:string" => postId,
 | 
			
		||||
        "22:string" => post_id,
 | 
			
		||||
      },
 | 
			
		||||
      "45:embedded" => {
 | 
			
		||||
        "2:varint" => 1_i64,
 | 
			
		||||
@@ -30,7 +30,7 @@ module Invidious::Comments
 | 
			
		||||
        "4:embedded" => {
 | 
			
		||||
          "6:varint"  => 0_i64,
 | 
			
		||||
          "27:varint" => 1_i64,
 | 
			
		||||
          "29:string" => postId,
 | 
			
		||||
          "29:string" => post_id,
 | 
			
		||||
          "30:string" => ucid,
 | 
			
		||||
        },
 | 
			
		||||
        "8:string" => "comments-section",
 | 
			
		||||
 
 | 
			
		||||
@@ -162,16 +162,15 @@ module Invidious::Routes::API::V1::Misc
 | 
			
		||||
      resolved_url = YoutubeAPI.resolve_url(url.as(String))
 | 
			
		||||
      endpoint = resolved_url["endpoint"]
 | 
			
		||||
      pageType = endpoint.dig?("commandMetadata", "webCommandMetadata", "webPageType").try &.as_s || ""
 | 
			
		||||
      if sub_endpoint = endpoint.dig?("watchEndpoint")
 | 
			
		||||
        resolved_ucid = sub_endpoint.dig?("videoId")
 | 
			
		||||
      elsif sub_endpoint = endpoint.dig?("browseEndpoint")
 | 
			
		||||
        resolved_ucid = sub_endpoint.dig?("browseId")
 | 
			
		||||
      if sub_endpoint = endpoint["watchEndpoint"]?
 | 
			
		||||
        resolved_ucid = sub_endpoint["videoId"]?
 | 
			
		||||
      elsif sub_endpoint = endpoint["browseEndpoint"]?
 | 
			
		||||
        resolved_ucid = sub_endpoint["browseId"]?
 | 
			
		||||
      elsif pageType == "WEB_PAGE_TYPE_UNKNOWN"
 | 
			
		||||
        return error_json(400, "Unknown url")
 | 
			
		||||
      end
 | 
			
		||||
      if !sub_endpoint.nil?
 | 
			
		||||
        params = sub_endpoint.dig?("params")
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      params = sub_endpoint.try &.dig?("params")
 | 
			
		||||
    rescue ex
 | 
			
		||||
      return error_json(500, ex)
 | 
			
		||||
    end
 | 
			
		||||
 
 | 
			
		||||
@@ -161,7 +161,7 @@ module Invidious::Routes::Channels
 | 
			
		||||
 | 
			
		||||
    # redirect to post page
 | 
			
		||||
    if lb = env.params.query["lb"]?
 | 
			
		||||
      env.redirect "/post/#{lb}?ucid=#{ucid}"
 | 
			
		||||
      env.redirect "/post/#{URI.encode_www_form(lb)}?ucid=#{URI.encode_www_form(ucid)}"
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    thin_mode = env.params.query["thin_mode"]? || env.get("preferences").as(Preferences).thin_mode
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user