ML-10: break compile cycle via Artists → Collection edge
This commit is contained in:
@@ -7,7 +7,6 @@ defmodule MusicLibrary.Artists do
|
||||
|
||||
alias MusicLibrary.Artists.ArtistInfo
|
||||
alias MusicLibrary.Assets
|
||||
alias MusicLibrary.Collection
|
||||
alias MusicLibrary.Records.ArtistRecord
|
||||
alias MusicLibrary.{Repo, Worker}
|
||||
|
||||
@@ -22,12 +21,10 @@ defmodule MusicLibrary.Artists do
|
||||
Repo.one!(q)
|
||||
end
|
||||
|
||||
@spec get_similar_artists(map()) :: {:ok, [map()]} | {:error, term()}
|
||||
def get_similar_artists(artist) do
|
||||
@spec get_similar_artists(map(), MapSet.t(String.t())) :: {:ok, [map()]} | {:error, term()}
|
||||
def get_similar_artists(artist, collected_artist_ids) do
|
||||
case LastFm.get_similar_artists(artist.musicbrainz_id, artist.name) do
|
||||
{:ok, artists} ->
|
||||
collected_artist_ids = Collection.collected_artist_ids()
|
||||
|
||||
{:ok,
|
||||
Enum.filter(artists, fn a ->
|
||||
MapSet.member?(collected_artist_ids, a.musicbrainz_id)
|
||||
|
||||
@@ -4,7 +4,7 @@ defmodule MusicLibraryWeb.ArtistLive.Show do
|
||||
import MusicLibraryWeb.RecordComponents,
|
||||
only: [record_grid: 1, country_label: 1, artist_image: 1]
|
||||
|
||||
alias MusicLibrary.{Artists, Chats, ListeningStats, Records}
|
||||
alias MusicLibrary.{Artists, Chats, Collection, ListeningStats, Records}
|
||||
alias MusicLibrary.Artists.ArtistInfo
|
||||
alias MusicLibraryWeb.ArtistLive.Biography
|
||||
alias MusicLibraryWeb.ErrorMessages
|
||||
@@ -659,7 +659,9 @@ defmodule MusicLibraryWeb.ArtistLive.Show do
|
||||
|> assign(:country, ArtistInfo.country(artist_info))
|
||||
|> maybe_assign_lastfm_artist_info(artist)
|
||||
|> assign_async(:similar_artists, fn ->
|
||||
with {:ok, similar_artists} <- Artists.get_similar_artists(artist) do
|
||||
collected_artist_ids = Collection.collected_artist_ids()
|
||||
|
||||
with {:ok, similar_artists} <- Artists.get_similar_artists(artist, collected_artist_ids) do
|
||||
artist_image_hashes = Artists.get_image_hashes(similar_artists)
|
||||
|
||||
similar_artists =
|
||||
|
||||
Reference in New Issue
Block a user