19 lines
461 B
Elixir
19 lines
461 B
Elixir
defmodule MusicLibrary.Records.Artist do
|
|
use Ecto.Schema
|
|
|
|
import Ecto.Changeset
|
|
|
|
@primary_key {:musicbrainz_id, :binary_id, autogenerate: false}
|
|
embedded_schema do
|
|
field :name, :string
|
|
field :sort_name, :string
|
|
field :disambiguation, :string
|
|
end
|
|
|
|
def changeset(artist, attrs) do
|
|
artist
|
|
|> cast(attrs, [:name, :sort_name, :disambiguation, :musicbrainz_id])
|
|
|> validate_required([:name, :sort_name, :musicbrainz_id])
|
|
end
|
|
end
|