Files
music_library/lib/music_brainz/api_behaviour.ex
T
2024-11-10 14:27:25 +00:00

13 lines
486 B
Elixir

defmodule MusicBrainz.APIBehaviour do
@type musicbrainz_id :: String.t()
@callback get_release_group(musicbrainz_id) :: {:ok, map()} | {:error, String.t()}
@callback get_release(musicbrainz_id) :: {:ok, map()} | {:error, String.t()}
@callback search_release_group(String.t(), Keyword.t()) :: {:ok, [map()]} | {:error, String.t()}
@callback get_cover_art({:musicbrainz_id, musicbrainz_id()} | {:url, String.t()}) ::
{:ok, binary()} | {:error, String.t()}
end