Make sure create record returns updated record

This commit is contained in:
Claudio Ortolina
2026-04-01 07:06:33 +01:00
parent f2def32571
commit 7d65a7d4ab
+9 -5
View File
@@ -406,16 +406,20 @@ defmodule MusicLibrary.Records do
@spec create_record(map()) :: {:ok, Record.t()} | {:error, Ecto.Changeset.t()}
def create_record(attrs \\ %{}) do
with {:ok, record} <- do_create_record(attrs) do
with {:ok, record} <- do_create_record(attrs),
record = best_effort_extract_colors(record),
:ok <- refresh_artist_info_async(record) do
{:ok, record}
end
end
@spec refresh_artist_info_async(Record.t()) :: :ok
def refresh_artist_info_async(record) do
record
|> best_effort_extract_colors()
|> Record.artist_ids()
|> Enum.each(fn artist_id ->
Artists.refresh_artist_info_async(artist_id)
end)
{:ok, record}
end
end
defp do_create_record(attrs) do