diff --git a/src/invidious/user/exports.cr b/src/invidious/user/exports.cr index b52503c93..1ff3eea16 100644 --- a/src/invidious/user/exports.cr +++ b/src/invidious/user/exports.cr @@ -4,6 +4,7 @@ struct Invidious::User def to_invidious(user : User) playlists = Invidious::Database::Playlists.select_like_iv(user.email) + youtube_playlists = Invidious::Database::Playlists.select_not_like_iv(user.email) return JSON.build do |json| json.object do @@ -28,6 +29,16 @@ struct Invidious::User end end end + json.field "youtube_playlists" do + json.array do + youtube_playlists.each do |playlist| + json.object do + json.field "title", playlist.title + json.field "id", playlist.id + end + end + end + end end end end diff --git a/src/invidious/user/imports.cr b/src/invidious/user/imports.cr index 20ae0d47c..00cf9a288 100644 --- a/src/invidious/user/imports.cr +++ b/src/invidious/user/imports.cr @@ -101,6 +101,16 @@ struct Invidious::User end end end + + if youtube_playlists = data["youtube_playlists"]?.try &.as_a? + playlists.each do |item| + begin + playlist = get_playlist(item["id"]) + subscribe_playlist(user, playlist) + rescue ex + end + end + end end # -------------------