diff --git a/lib/music_library/artists/artist_info.ex b/lib/music_library/artists/artist_info.ex index ef97cdd0..73d38aa3 100644 --- a/lib/music_library/artists/artist_info.ex +++ b/lib/music_library/artists/artist_info.ex @@ -4,6 +4,7 @@ defmodule MusicLibrary.Artists.ArtistInfo do import Ecto.Changeset alias MusicBrainz.ExternalLink + alias MusicLibrary.Notes.Note @primary_key {:id, :binary_id, autogenerate: true} schema "artist_infos" do @@ -11,6 +12,8 @@ defmodule MusicLibrary.Artists.ArtistInfo do field :discogs_data, :map, default: %{} field :image_data_hash, :string + has_one :note, Note, foreign_key: :musicbrainz_id + timestamps(type: :utc_datetime) end diff --git a/lib/music_library/records/artist_records.ex b/lib/music_library/records/artist_records.ex index 94e7d8b0..e3b423ed 100644 --- a/lib/music_library/records/artist_records.ex +++ b/lib/music_library/records/artist_records.ex @@ -5,12 +5,15 @@ defmodule MusicLibrary.Records.ArtistRecord do use Ecto.Schema alias MusicLibrary.Artists.Artist + alias MusicLibrary.Notes.Note @primary_key false schema "artist_records" do field :musicbrainz_id, Ecto.UUID field :record_id, Ecto.UUID + has_one :note, Note, foreign_key: :musicbrainz_id, references: :musicbrainz_id + embeds_one :artist, Artist end end diff --git a/lib/music_library/records/record.ex b/lib/music_library/records/record.ex index 208589b5..c9d40cfb 100644 --- a/lib/music_library/records/record.ex +++ b/lib/music_library/records/record.ex @@ -4,7 +4,7 @@ defmodule MusicLibrary.Records.Record do import Ecto.Changeset alias MusicBrainz.{Release, ReleaseGroup} - alias MusicLibrary.Artists.Artist + alias MusicLibrary.{Artists.Artist, Notes.Note} @formats [:cd, :backup, :vinyl, :blu_ray, :dvd, :multi] @types [:album, :ep, :live, :compilation, :single, :other] @@ -28,6 +28,7 @@ defmodule MusicLibrary.Records.Record do field :dominant_colors, {:array, :string}, default: [] embeds_many :artists, Artist, on_replace: :delete + has_one :note, Note, foreign_key: :musicbrainz_id, references: :musicbrainz_id timestamps(type: :utc_datetime) end