shortnr/lib/url/repo/repo.ex

11 lines
367 B
Elixir

defmodule Shortnr.URL.Repo do
alias Shortnr.URL
alias Shortnr.Transport
@callback put(URL.t()) :: :ok | Transport.error()
@callback get(String.t()) :: {:ok, URL.t()} | Transport.error()
@callback delete(String.t()) :: :ok | Transport.error()
@callback list() :: {:ok, list(URL.t())} | Transport.error()
@callback reset() :: :ok | Transport.error()
end