Validate before constructing a complete record
This commit is contained in:
@@ -29,7 +29,6 @@ defmodule MusicLibrary.Records.Record do
|
|||||||
timestamps(type: :utc_datetime)
|
timestamps(type: :utc_datetime)
|
||||||
end
|
end
|
||||||
|
|
||||||
@doc false
|
|
||||||
def changeset(record, attrs) do
|
def changeset(record, attrs) do
|
||||||
record
|
record
|
||||||
|> cast(attrs, [
|
|> cast(attrs, [
|
||||||
@@ -46,12 +45,12 @@ defmodule MusicLibrary.Records.Record do
|
|||||||
:cover_data,
|
:cover_data,
|
||||||
:purchased_at
|
:purchased_at
|
||||||
])
|
])
|
||||||
|> cast_embed(:artists, with: &artist_changeset/2)
|
|> cast_embed(:artists)
|
||||||
|
|> validate_required([:type, :title, :musicbrainz_id, :release, :genres])
|
||||||
|
|> unique_constraint(:musicbrainz_id, name: "records_musicbrainz_id_format_index")
|
||||||
|> generate_cover_hash()
|
|> generate_cover_hash()
|
||||||
|> update_release_ids()
|
|> update_release_ids()
|
||||||
|> update_included_release_group_ids()
|
|> update_included_release_group_ids()
|
||||||
|> validate_required([:type, :title, :musicbrainz_id, :release, :genres])
|
|
||||||
|> unique_constraint(:musicbrainz_id, name: "records_musicbrainz_id_format_index")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def child_release_groups(record) do
|
def child_release_groups(record) do
|
||||||
|
|||||||
Reference in New Issue
Block a user