summaryrefslogtreecommitdiffstats
path: root/src/invidious.cr
diff options
context:
space:
mode:
Diffstat (limited to 'src/invidious.cr')
-rw-r--r--src/invidious.cr15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index 07f135d0..5d1b1797 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -1002,6 +1002,21 @@ post "/data_control" do |env|
end
end
end
+ when "import_freetube"
+ body.scan(/"channelId":"(?<channel_id>[a-zA-Z0-9_-]{24})"/).each do |md|
+ ucid = md["channel_id"]
+
+ if !user.subscriptions.includes? ucid
+ PG_DB.exec("UPDATE users SET subscriptions = array_append(subscriptions,$1) WHERE id = $2", ucid, user.id)
+
+ begin
+ client = make_client(YT_URL)
+ get_channel(ucid, client, PG_DB, false, false)
+ rescue ex
+ next
+ end
+ end
+ end
when "import_newpipe_subscriptions"
body = JSON.parse(body)
body["subscriptions"].as_a.each do |channel|