Fix nil-index crash in move_record_in_set

This commit is contained in:
Claudio Ortolina
2026-04-21 12:47:57 +01:00
parent 53348a328e
commit 9840690af1
+6 -2
View File
@@ -165,15 +165,18 @@ defmodule MusicLibrary.RecordSets do
) )
|> Repo.all() |> Repo.all()
index = Enum.find_index(items, fn i -> i.record_id == record_id end) case Enum.find_index(items, fn i -> i.record_id == record_id end) do
nil ->
:ok
index ->
swap_index = swap_index =
case direction do case direction do
:up -> index - 1 :up -> index - 1
:down -> index + 1 :down -> index + 1
end end
if index && swap_index >= 0 && swap_index < length(items) do if swap_index >= 0 and swap_index < length(items) do
item_a = Enum.at(items, index) item_a = Enum.at(items, index)
item_b = Enum.at(items, swap_index) item_b = Enum.at(items, swap_index)
@@ -187,6 +190,7 @@ defmodule MusicLibrary.RecordSets do
|> Repo.update!() |> Repo.update!()
end) end)
end end
end
{:ok, get_record_set!(record_set.id)} {:ok, get_record_set!(record_set.id)}
end end