Update derived fields when updating musicbrainz data

This commit is contained in:
Claudio Ortolina
2025-11-22 18:22:30 +00:00
parent f297c49097
commit e1b73c300f
+17
View File
@@ -152,6 +152,7 @@ defmodule MusicLibrary.Records.Record do
|> update_artists()
|> update_release_ids()
|> update_included_release_group_ids()
|> update_musicbrainz_data_derived_fields()
end
def rotate_dominant_colors(%__MODULE__{dominant_colors: dominant_colors} = record) do
@@ -200,6 +201,22 @@ defmodule MusicLibrary.Records.Record do
end
end
defp update_musicbrainz_data_derived_fields(changeset) do
case get_change(changeset, :musicbrainz_data) do
nil ->
changeset
musicbrainz_data ->
changeset
|> put_change(:title, musicbrainz_data["title"])
|> put_change(:release_date, musicbrainz_data["first-release-date"])
|> put_change(
:cover_url,
"https://coverartarchive.org/release-group/#{musicbrainz_data["id"]}/front"
)
end
end
def attrs_from_release_group(release_group) do
musicbrainz_id = release_group["id"]