Merge pull request #2771 from matthewmcgarvey/delete-playlists

Fix playlist deletion
This commit is contained in:
Samantaz Fox 2022-01-06 14:17:10 +01:00 committed by GitHub
commit 37f38dbf6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 5 deletions

View File

@ -21,13 +21,12 @@ module Invidious::Database::Playlists
PG_DB.exec(request, args: playlist_array) PG_DB.exec(request, args: playlist_array)
end end
# this function is a bit special: it will also remove all videos # deletes the given playlist and connected playlist videos
# related to the given playlist ID in the "playlist_videos" table,
# in addition to deleting said ID from "playlists".
def delete(id : String) def delete(id : String)
PlaylistVideos.delete_by_playlist(id)
request = <<-SQL request = <<-SQL
DELETE FROM playlist_videos * WHERE plid = $1; DELETE FROM playlists *
DELETE FROM playlists * WHERE id = $1 WHERE id = $1
SQL SQL
PG_DB.exec(request, id) PG_DB.exec(request, id)
@ -207,6 +206,15 @@ module Invidious::Database::PlaylistVideos
PG_DB.exec(request, index) PG_DB.exec(request, index)
end end
def delete_by_playlist(plid : String)
request = <<-SQL
DELETE FROM playlist_videos *
WHERE plid = $1
SQL
PG_DB.exec(request, plid)
end
# ------------------- # -------------------
# Salect # Salect
# ------------------- # -------------------