Rename MusicbrainzData -> ReleaseGroup

This commit is contained in:
Claudio Ortolina
2025-02-10 16:40:31 +00:00
parent 027b3af547
commit 86db563bd4
2 changed files with 17 additions and 14 deletions
@@ -1,26 +1,28 @@
defmodule MusicLibrary.Records.MusicbrainzData do defmodule MusicBrainz.ReleaseGroup do
def included_release_groups(musicbrainz_data) do alias MusicBrainz.ReleaseGroupSearchResult
musicbrainz_data
def included_release_groups(release_group) do
release_group
|> get_release_groups() |> get_release_groups()
|> Enum.map(fn relation -> |> Enum.map(fn relation ->
MusicBrainz.ReleaseGroupSearchResult.from_api_response(relation["release_group"]) ReleaseGroupSearchResult.from_api_response(relation["release_group"])
end) end)
end end
def release_ids(musicbrainz_data) do def release_ids(release_group) do
musicbrainz_data release_group
|> Map.get("releases", []) |> Map.get("releases", [])
|> Enum.map(fn release -> release["id"] end) |> Enum.map(fn release -> release["id"] end)
end end
def included_release_group_ids(musicbrainz_data) do def included_release_group_ids(release_group) do
musicbrainz_data release_group
|> included_release_groups() |> included_release_groups()
|> Enum.map(fn rg -> rg.id end) |> Enum.map(fn rg -> rg.id end)
end end
defp get_release_groups(musicbrainz_data) do defp get_release_groups(release_group) do
musicbrainz_data release_group
|> Map.get("relations", []) |> Map.get("relations", [])
|> Enum.filter(fn relation -> |> Enum.filter(fn relation ->
relation["target-type"] == "release_group" and relation["target-type"] == "release_group" and
+5 -4
View File
@@ -2,7 +2,8 @@ defmodule MusicLibrary.Records.Record do
use Ecto.Schema use Ecto.Schema
import Ecto.Changeset import Ecto.Changeset
alias MusicLibrary.Records.{Artist, Cover, MusicbrainzData} alias MusicLibrary.Records.{Artist, Cover}
alias MusicBrainz.ReleaseGroup
@formats [:cd, :backup, :vinyl, :blu_ray, :dvd, :multi] @formats [:cd, :backup, :vinyl, :blu_ray, :dvd, :multi]
@types [:album, :ep, :live, :compilation, :single, :other] @types [:album, :ep, :live, :compilation, :single, :other]
@@ -34,7 +35,7 @@ defmodule MusicLibrary.Records.Record do
def included_release_groups(record) do def included_release_groups(record) do
record.musicbrainz_data record.musicbrainz_data
|> MusicbrainzData.included_release_groups() |> ReleaseGroup.included_release_groups()
|> Enum.filter(fn rg -> rg.id in record.included_release_group_ids end) |> Enum.filter(fn rg -> rg.id in record.included_release_group_ids end)
end end
@@ -120,7 +121,7 @@ defmodule MusicLibrary.Records.Record do
changeset changeset
musicbrainz_data -> musicbrainz_data ->
put_change(changeset, :release_ids, MusicbrainzData.release_ids(musicbrainz_data)) put_change(changeset, :release_ids, ReleaseGroup.release_ids(musicbrainz_data))
end end
end end
@@ -133,7 +134,7 @@ defmodule MusicLibrary.Records.Record do
put_change( put_change(
changeset, changeset,
:included_release_group_ids, :included_release_group_ids,
MusicbrainzData.included_release_group_ids(musicbrainz_data) ReleaseGroup.included_release_group_ids(musicbrainz_data)
) )
end end
end end