Store selected release id when scanning a record
This commit is contained in:
@@ -289,7 +289,7 @@ defmodule MusicBrainz.API do
|
|||||||
url: "/release/#{id}",
|
url: "/release/#{id}",
|
||||||
params: [
|
params: [
|
||||||
fmt: "json",
|
fmt: "json",
|
||||||
inc: "release-groups"
|
inc: "release-groups+recordings"
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|> get_request()
|
|> get_request()
|
||||||
|
|||||||
@@ -43,7 +43,8 @@ defmodule MusicLibrary.BarcodeScan do
|
|||||||
:new ->
|
:new ->
|
||||||
Records.import_from_musicbrainz_release(scan_result.release.id,
|
Records.import_from_musicbrainz_release(scan_result.release.id,
|
||||||
format: MusicBrainz.ReleaseSearchResult.format(scan_result.release),
|
format: MusicBrainz.ReleaseSearchResult.format(scan_result.release),
|
||||||
purchased_at: current_time
|
purchased_at: current_time,
|
||||||
|
selected_release_id: scan_result.release.id
|
||||||
)
|
)
|
||||||
|
|
||||||
:wishlisted ->
|
:wishlisted ->
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ defmodule MusicLibrary.Records do
|
|||||||
def import_from_musicbrainz_release_group(musicbrainz_id, opts \\ []) do
|
def import_from_musicbrainz_release_group(musicbrainz_id, opts \\ []) do
|
||||||
format = Keyword.get(opts, :format, "cd")
|
format = Keyword.get(opts, :format, "cd")
|
||||||
purchased_at = Keyword.get(opts, :purchased_at)
|
purchased_at = Keyword.get(opts, :purchased_at)
|
||||||
|
selected_release_id = Keyword.get(opts, :selected_release_id, nil)
|
||||||
|
|
||||||
with {:ok, release_group} <- MusicBrainz.get_release_group(musicbrainz_id),
|
with {:ok, release_group} <- MusicBrainz.get_release_group(musicbrainz_id),
|
||||||
{:ok, release_group_with_releases} <- merge_releases(musicbrainz_id, release_group),
|
{:ok, release_group_with_releases} <- merge_releases(musicbrainz_id, release_group),
|
||||||
@@ -156,7 +157,8 @@ defmodule MusicLibrary.Records do
|
|||||||
|> build_record_attrs(%{
|
|> build_record_attrs(%{
|
||||||
"cover_data" => cover_data,
|
"cover_data" => cover_data,
|
||||||
"format" => format,
|
"format" => format,
|
||||||
"purchased_at" => purchased_at
|
"purchased_at" => purchased_at,
|
||||||
|
"selected_release_id" => selected_release_id
|
||||||
})
|
})
|
||||||
|> create_record()
|
|> create_record()
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -395,6 +395,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
|
|||||||
assert record.release_date == "2004-05-03"
|
assert record.release_date == "2004-05-03"
|
||||||
assert record.format == :cd
|
assert record.format == :cd
|
||||||
assert record.musicbrainz_data == release_group
|
assert record.musicbrainz_data == release_group
|
||||||
|
assert record.selected_release_id == "d3f9b9e2-73f5-4b47-a2a7-2c2199aad608"
|
||||||
|
|
||||||
assert record.genres == [
|
assert record.genres == [
|
||||||
"alternative rock",
|
"alternative rock",
|
||||||
|
|||||||
Reference in New Issue
Block a user