summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/invidious/database/playlists.cr18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/invidious/database/playlists.cr b/src/invidious/database/playlists.cr
index 950d5f4b..7a5f61dc 100644
--- a/src/invidious/database/playlists.cr
+++ b/src/invidious/database/playlists.cr
@@ -21,13 +21,12 @@ module Invidious::Database::Playlists
PG_DB.exec(request, args: playlist_array)
end
- # this function is a bit special: it will also remove all videos
- # related to the given playlist ID in the "playlist_videos" table,
- # in addition to deleting said ID from "playlists".
+ # deletes the given playlist and connected playlist videos
def delete(id : String)
+ PlaylistVideos.delete_by_playlist(id)
request = <<-SQL
- DELETE FROM playlist_videos * WHERE plid = $1;
- DELETE FROM playlists * WHERE id = $1
+ DELETE FROM playlists *
+ WHERE id = $1
SQL
PG_DB.exec(request, id)
@@ -207,6 +206,15 @@ module Invidious::Database::PlaylistVideos
PG_DB.exec(request, index)
end
+ def delete_by_playlist(plid : String)
+ request = <<-SQL
+ DELETE FROM playlist_videos *
+ WHERE plid = $1
+ SQL
+
+ PG_DB.exec(request, plid)
+ end
+
# -------------------
# Salect
# -------------------