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}", url: "/release/#{id}",
params: [ params: [
fmt: "json", fmt: "json",
inc: "release-groups" inc: "release-groups+recordings"
] ]
) )
|> get_request() |> get_request()
+2 -1
View File
@@ -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 ->
+3 -1
View File
@@ -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",