Store selected release id when scanning a record

This commit is contained in:
Claudio Ortolina
2025-05-01 19:36:47 +01:00
parent 3e7341d4ca
commit bc213caa45
4 changed files with 7 additions and 3 deletions
+1 -1
View File
@@ -289,7 +289,7 @@ defmodule MusicBrainz.API do
url: "/release/#{id}",
params: [
fmt: "json",
inc: "release-groups"
inc: "release-groups+recordings"
]
)
|> get_request()
+2 -1
View File
@@ -43,7 +43,8 @@ defmodule MusicLibrary.BarcodeScan do
:new ->
Records.import_from_musicbrainz_release(scan_result.release.id,
format: MusicBrainz.ReleaseSearchResult.format(scan_result.release),
purchased_at: current_time
purchased_at: current_time,
selected_release_id: scan_result.release.id
)
:wishlisted ->
+3 -1
View File
@@ -148,6 +148,7 @@ defmodule MusicLibrary.Records do
def import_from_musicbrainz_release_group(musicbrainz_id, opts \\ []) do
format = Keyword.get(opts, :format, "cd")
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),
{:ok, release_group_with_releases} <- merge_releases(musicbrainz_id, release_group),
@@ -156,7 +157,8 @@ defmodule MusicLibrary.Records do
|> build_record_attrs(%{
"cover_data" => cover_data,
"format" => format,
"purchased_at" => purchased_at
"purchased_at" => purchased_at,
"selected_release_id" => selected_release_id
})
|> create_record()
else
@@ -395,6 +395,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
assert record.release_date == "2004-05-03"
assert record.format == :cd
assert record.musicbrainz_data == release_group
assert record.selected_release_id == "d3f9b9e2-73f5-4b47-a2a7-2c2199aad608"
assert record.genres == [
"alternative rock",