Files
music_library/lib/music_brainz/release_group_search_result.ex
T
2025-02-10 19:02:58 +00:00

20 lines
528 B
Elixir

defmodule MusicBrainz.ReleaseGroupSearchResult do
@enforce_keys [:id, :type, :title, :artists, :release]
defstruct [:id, :type, :title, :artists, :release]
alias MusicBrainz.ReleaseGroup
def from_api_response(rg) do
%__MODULE__{
id: rg["id"],
type: ReleaseGroup.parse_type(rg["primary-type"]),
title: rg["title"],
artists:
rg["artist-credit"]
|> Enum.map(fn ac -> ac["artist"]["name"] end)
|> Enum.join(", "),
release: rg["first-release-date"]
}
end
end