Formalize search_release_by_barcode/2 callback

This commit is contained in:
Claudio Ortolina
2025-02-14 07:40:34 +00:00
parent 86a2d66aaf
commit 949fdb7138
2 changed files with 4 additions and 0 deletions
+3
View File
@@ -2,6 +2,7 @@ defmodule MusicBrainz.APIBehaviour do
@type musicbrainz_id :: String.t()
@type config :: MusicBrainz.Config.t()
@type limit :: pos_integer()
@type barcode :: String.t()
@callback get_release_group(musicbrainz_id, config) :: {:ok, map()} | {:error, String.t()}
@@ -12,6 +13,8 @@ defmodule MusicBrainz.APIBehaviour do
@callback search_release_group(String.t(), Keyword.t(), config) ::
{:ok, [map()]} | {:error, String.t()}
@callback search_release_by_barcode(barcode, config) :: {:ok, [map()]} | {:error, String.t()}
@callback get_cover_art({:musicbrainz_id, musicbrainz_id()} | {:url, String.t()}, config) ::
{:ok, binary()} | {:error, String.t()}
end
+1
View File
@@ -305,6 +305,7 @@ defmodule MusicBrainz.APIImpl do
json_get(url, config)
end
@impl true
def search_release_by_barcode(barcode, config) do
url =
@base_url <> "/release?query=barcode:#{barcode}&fmt=json"