diff options
| author | Perflyst <mail@perflyst.de> | 2020-11-03 17:39:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-03 17:39:34 +0100 |
| commit | cda322e311337539f864138983d7d1fead6be89b (patch) | |
| tree | 619e90b08ff4cfe9fac74e2ffcee25270dee8d14 /src | |
| parent | 934d3178a217c67b1f33ea3735a311882e74a7cf (diff) | |
| parent | babe0c31adccaefeaccff5b098b3b57f5fbbd704 (diff) | |
| download | invidious-cda322e311337539f864138983d7d1fead6be89b.tar.gz invidious-cda322e311337539f864138983d7d1fead6be89b.tar.bz2 invidious-cda322e311337539f864138983d7d1fead6be89b.zip | |
Merge pull request #1449 from raycheung/master
Fix stale playlist video counting on add/drop (#1448)
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious.cr | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/invidious.cr b/src/invidious.cr index 315bb3f3..4855eecf 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -941,11 +941,11 @@ post "/playlist_ajax" do |env| args = arg_array(video_array) PG_DB.exec("INSERT INTO playlist_videos VALUES (#{args})", args: video_array) - PG_DB.exec("UPDATE playlists SET index = array_append(index, $1), video_count = cardinality(index), updated = $2 WHERE id = $3", playlist_video.index, Time.utc, playlist_id) + PG_DB.exec("UPDATE playlists SET index = array_append(index, $1), video_count = cardinality(index) + 1, updated = $2 WHERE id = $3", playlist_video.index, Time.utc, playlist_id) when "action_remove_video" index = env.params.query["set_video_id"] PG_DB.exec("DELETE FROM playlist_videos * WHERE index = $1", index) - PG_DB.exec("UPDATE playlists SET index = array_remove(index, $1), video_count = cardinality(index), updated = $2 WHERE id = $3", index, Time.utc, playlist_id) + PG_DB.exec("UPDATE playlists SET index = array_remove(index, $1), video_count = cardinality(index) - 1, updated = $2 WHERE id = $3", index, Time.utc, playlist_id) when "action_move_video_before" # TODO: Playlist stub else @@ -2313,7 +2313,7 @@ post "/data_control" do |env| args = arg_array(video_array) PG_DB.exec("INSERT INTO playlist_videos VALUES (#{args})", args: video_array) - PG_DB.exec("UPDATE playlists SET index = array_append(index, $1), video_count = cardinality(index), updated = $2 WHERE id = $3", playlist_video.index, Time.utc, playlist.id) + PG_DB.exec("UPDATE playlists SET index = array_append(index, $1), video_count = cardinality(index) + 1, updated = $2 WHERE id = $3", playlist_video.index, Time.utc, playlist.id) end end end @@ -4654,7 +4654,7 @@ post "/api/v1/auth/playlists/:plid/videos" do |env| args = arg_array(video_array) PG_DB.exec("INSERT INTO playlist_videos VALUES (#{args})", args: video_array) - PG_DB.exec("UPDATE playlists SET index = array_append(index, $1), video_count = video_count + 1, updated = $2 WHERE id = $3", playlist_video.index, Time.utc, plid) + PG_DB.exec("UPDATE playlists SET index = array_append(index, $1), video_count = cardinality(index) + 1, updated = $2 WHERE id = $3", playlist_video.index, Time.utc, plid) env.response.headers["Location"] = "#{HOST_URL}/api/v1/auth/playlists/#{plid}/videos/#{playlist_video.index.to_u64.to_s(16).upcase}" env.response.status_code = 201 @@ -4688,7 +4688,7 @@ delete "/api/v1/auth/playlists/:plid/videos/:index" do |env| end PG_DB.exec("DELETE FROM playlist_videos * WHERE index = $1", index) - PG_DB.exec("UPDATE playlists SET index = array_remove(index, $1), video_count = video_count - 1, updated = $2 WHERE id = $3", index, Time.utc, plid) + PG_DB.exec("UPDATE playlists SET index = array_remove(index, $1), video_count = cardinality(index) - 1, updated = $2 WHERE id = $3", index, Time.utc, plid) env.response.status_code = 204 end |
