mirror of
https://github.com/iv-org/invidious.git
synced 2025-10-25 08:48:10 +00:00
Add popular-enabled option
This is similar to the removed `top-enabled` option but for the Popular feed. The instance needs to be restarted if the feed was enabled. Editing admin options on the preferences page is also fixed. The handling of the feed pages now only happens in a single place. Instead of redirecting: - The Top feed now displays a message that it was removed from Invidious. - The Popular feed now displays a message that it was disabled if it was.
This commit is contained in:
@@ -162,13 +162,16 @@ end
|
||||
Invidious::Jobs.register Invidious::Jobs::RefreshChannelsJob.new(PG_DB, logger, config)
|
||||
Invidious::Jobs.register Invidious::Jobs::RefreshFeedsJob.new(PG_DB, logger, config)
|
||||
Invidious::Jobs.register Invidious::Jobs::SubscribeToFeedsJob.new(PG_DB, logger, config, HMAC_KEY)
|
||||
Invidious::Jobs.register Invidious::Jobs::PullPopularVideosJob.new(PG_DB)
|
||||
Invidious::Jobs.register Invidious::Jobs::UpdateDecryptFunctionJob.new
|
||||
|
||||
if config.statistics_enabled
|
||||
Invidious::Jobs.register Invidious::Jobs::StatisticsRefreshJob.new(PG_DB, config, SOFTWARE)
|
||||
end
|
||||
|
||||
if config.popular_enabled
|
||||
Invidious::Jobs.register Invidious::Jobs::PullPopularVideosJob.new(PG_DB)
|
||||
end
|
||||
|
||||
if config.captcha_key
|
||||
Invidious::Jobs.register Invidious::Jobs::BypassCaptchaJob.new(logger, config)
|
||||
end
|
||||
@@ -1140,13 +1143,20 @@ end
|
||||
|
||||
get "/feed/top" do |env|
|
||||
locale = LOCALES[env.get("preferences").as(Preferences).locale]?
|
||||
env.redirect "/"
|
||||
|
||||
message = translate(locale, "The Top feed has been removed from Invidious.")
|
||||
templated "message"
|
||||
end
|
||||
|
||||
get "/feed/popular" do |env|
|
||||
locale = LOCALES[env.get("preferences").as(Preferences).locale]?
|
||||
|
||||
templated "popular"
|
||||
if config.popular_enabled
|
||||
templated "popular"
|
||||
else
|
||||
message = translate(locale, "The Popular feed has been disabled by the administrator.")
|
||||
templated "message"
|
||||
end
|
||||
end
|
||||
|
||||
get "/feed/trending" do |env|
|
||||
@@ -2210,6 +2220,12 @@ get "/api/v1/popular" do |env|
|
||||
|
||||
env.response.content_type = "application/json"
|
||||
|
||||
if !config.popular_enabled
|
||||
error_message = {"error" => "Administrator has disabled this endpoint."}.to_json
|
||||
env.response.status_code = 400
|
||||
next error_message
|
||||
end
|
||||
|
||||
JSON.build do |json|
|
||||
json.array do
|
||||
popular_videos.each do |video|
|
||||
@@ -2223,7 +2239,8 @@ get "/api/v1/top" do |env|
|
||||
locale = LOCALES[env.get("preferences").as(Preferences).locale]?
|
||||
|
||||
env.response.content_type = "application/json"
|
||||
"[]"
|
||||
env.response.status_code = 400
|
||||
{"error" => "The Top feed has been removed from Invidious."}.to_json
|
||||
end
|
||||
|
||||
get "/api/v1/channels/:ucid" do |env|
|
||||
|
||||
Reference in New Issue
Block a user