Update derived fields when updating musicbrainz data
This commit is contained in:
@@ -152,6 +152,7 @@ defmodule MusicLibrary.Records.Record do
|
|||||||
|> update_artists()
|
|> update_artists()
|
||||||
|> update_release_ids()
|
|> update_release_ids()
|
||||||
|> update_included_release_group_ids()
|
|> update_included_release_group_ids()
|
||||||
|
|> update_musicbrainz_data_derived_fields()
|
||||||
end
|
end
|
||||||
|
|
||||||
def rotate_dominant_colors(%__MODULE__{dominant_colors: dominant_colors} = record) do
|
def rotate_dominant_colors(%__MODULE__{dominant_colors: dominant_colors} = record) do
|
||||||
@@ -200,6 +201,22 @@ defmodule MusicLibrary.Records.Record do
|
|||||||
end
|
end
|
||||||
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
|
def attrs_from_release_group(release_group) do
|
||||||
musicbrainz_id = release_group["id"]
|
musicbrainz_id = release_group["id"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user