lib/baz_venue_adapter_magic_eden.ex

defmodule BazVenueAdapterMagicEden do
  @moduledoc """
  Baz adapter for Magic Eden
  """

  @behaviour Baz.VenueAdapter

  @type venue :: Baz.VenueAdapter.venue()
  @type collection_slug :: Baz.VenueAdapter.collection_slug()

  @spec fetch_collection_by_slug(venue, collection_slug) ::
          Baz.VenueAdapter.fetch_collection_by_slug_result()
  def fetch_collection_by_slug(_venue, _slug) do
    {:error, :not_implemented}
  end

  @type token_ids :: Baz.VenueAdapter.token_ids()
  @type page_cursor :: Baz.Page.cursor()

  @spec fetch_collection_asset_page_by_slug(venue, collection_slug, token_ids, page_cursor) ::
          Baz.VenueAdapter.fetch_collection_asset_page_by_slug_result()
  def fetch_collection_asset_page_by_slug(_venue, _slug, _token_ids, _page_cursor) do
    {:error, :not_implemented}
  end

  @spec fetch_collection_event_page_by_slug(venue, collection_slug, token_ids, page_cursor) ::
          Baz.VenueAdapter.fetch_collection_event_page_by_slug_result()
  def fetch_collection_event_page_by_slug(_venue, _slug, _token_ids, _page_cursor) do
    {:error, :not_implemented}
  end

  @spec start_venue_web_socket(venue) :: Baz.VenueAdapter.start_venue_web_socket_result()
  def start_venue_web_socket(_venue) do
    {:error, :not_implemented}
  end

  @type slug_mask :: Baz.VenueAdapter.slug_mask()

  @spec subscribe_venue_web_socket(venue, slug_mask) ::
          Baz.VenueAdapter.subscribe_venue_web_socket_result()
  def subscribe_venue_web_socket(_venue, _slugs) do
    {:error, :not_implemented}
  end
end