Make MusicBrainz user agent configurable

This commit is contained in:
Claudio Ortolina
2024-12-04 10:44:31 +00:00
parent 7575e5978a
commit e1dc2bfc7f
5 changed files with 59 additions and 38 deletions
+6 -4
View File
@@ -1,12 +1,14 @@
defmodule MusicBrainz.APIBehaviour do
@type musicbrainz_id :: String.t()
@type config :: MusicBrainz.Config.t()
@callback get_release_group(musicbrainz_id) :: {:ok, map()} | {:error, String.t()}
@callback get_release_group(musicbrainz_id, config) :: {:ok, map()} | {:error, String.t()}
@callback get_release(musicbrainz_id) :: {:ok, map()} | {:error, String.t()}
@callback get_release(musicbrainz_id, config) :: {:ok, map()} | {:error, String.t()}
@callback search_release_group(String.t(), Keyword.t()) :: {:ok, [map()]} | {:error, String.t()}
@callback search_release_group(String.t(), Keyword.t(), config) ::
{:ok, [map()]} | {:error, String.t()}
@callback get_cover_art({:musicbrainz_id, musicbrainz_id()} | {:url, String.t()}) ::
@callback get_cover_art({:musicbrainz_id, musicbrainz_id()} | {:url, String.t()}, config) ::
{:ok, binary()} | {:error, String.t()}
end