diff --git a/src/invidious/user/exports.cr b/src/invidious/user/exports.cr index b52503c9..1c5aa2ec 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,18 @@ 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 + json.field "video_count", playlist.video_count + json.field "updated", playlist.updated + end + end + end + end end end end diff --git a/src/invidious/user/imports.cr b/src/invidious/user/imports.cr index 108f2ccc..220bf84f 100644 --- a/src/invidious/user/imports.cr +++ b/src/invidious/user/imports.cr @@ -155,6 +155,15 @@ struct Invidious::User end end end + + if youtube_playlists = data["youtube_playlists"]?.try &.as_a? + playlists.each do |item| + begin + subscribe_playlist(user, item) + rescue ex + end + end + end end # -------------------