Rename MusicbrainzData -> ReleaseGroup
This commit is contained in:
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user