Extract Records.Artist

This commit is contained in:
Claudio Ortolina
2024-12-02 10:54:22 +00:00
parent eda0245c2c
commit 963b3c826f
3 changed files with 14 additions and 6 deletions
+10
View File
@@ -0,0 +1,10 @@
defmodule MusicLibrary.Records.Artist do
use Ecto.Schema
@primary_key {:musicbrainz_id, :binary_id, autogenerate: false}
embedded_schema do
field :name, :string
field :sort_name, :string
field :disambiguation, :string
end
end
+3 -5
View File
@@ -2,6 +2,8 @@ defmodule MusicLibrary.Records.Record do
use Ecto.Schema
import Ecto.Changeset
alias MusicLibrary.Records.Artist
@formats [:cd, :vinyl, :blu_ray, :dvd, :multi]
@types [:album, :ep, :live, :compilation, :single, :other]
@@ -22,11 +24,7 @@ defmodule MusicLibrary.Records.Record do
field :release_ids, {:array, :string}, default: []
field :included_release_group_ids, {:array, :string}, default: []
embeds_many :artists, Artist, primary_key: {:musicbrainz_id, :binary_id, autogenerate: false} do
field :name, :string
field :sort_name, :string
field :disambiguation, :string
end
embeds_many :artists, Artist
timestamps(type: :utc_datetime)
end
@@ -342,7 +342,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
[marillion] = record.artists
assert %MusicLibrary.Records.Record.Artist{
assert %MusicLibrary.Records.Artist{
name: "Marillion",
sort_name: "Marillion",
disambiguation: "British progressive rock band",