Regc.Backend behaviour (regc v0.0.2)

View Source

Capability contract implemented by registry and local content backends.

High-level operations dispatch through this behaviour instead of constructing HTTP URLs directly.

Summary

Types

result(value)

@type result(value) :: {:ok, value} | {:error, Regc.Error.t()}

Callbacks

blob_delete(t, term, term, keyword)

@callback blob_delete(Regc.Client.t(), term(), term(), keyword()) ::
  :ok | {:error, Regc.Error.t()}

blob_get(t, term, term, keyword)

@callback blob_get(Regc.Client.t(), term(), term(), keyword()) :: result(term())

blob_head(t, term, term, keyword)

@callback blob_head(Regc.Client.t(), term(), term(), keyword()) :: result(term())

blob_mount(t, term, term, term, keyword)

@callback blob_mount(Regc.Client.t(), term(), term(), term(), keyword()) ::
  :ok | {:error, Regc.Error.t()}

blob_put(t, term, term, keyword)

@callback blob_put(Regc.Client.t(), term(), term(), keyword()) :: result(term())

blob_upload_cancel(t, term, keyword)

@callback blob_upload_cancel(Regc.Client.t(), term(), keyword()) ::
  :ok | {:error, Regc.Error.t()}

blob_upload_chunk(t, term, iodata, keyword)

@callback blob_upload_chunk(Regc.Client.t(), term(), iodata(), keyword()) ::
  result(term())

blob_upload_finalize(t, term, t, keyword)

@callback blob_upload_finalize(Regc.Client.t(), term(), String.t(), keyword()) ::
  result(term())

blob_upload_start(t, term, keyword)

@callback blob_upload_start(Regc.Client.t(), term(), keyword()) :: result(term())

blob_upload_status(t, term, keyword)

@callback blob_upload_status(Regc.Client.t(), term(), keyword()) :: result(term())

manifest_delete(t, term, keyword)

@callback manifest_delete(Regc.Client.t(), term(), keyword()) ::
  :ok | {:error, Regc.Error.t()}

manifest_get(t, term, keyword)

@callback manifest_get(Regc.Client.t(), term(), keyword()) :: result(term())

manifest_head(t, term, keyword)

@callback manifest_head(Regc.Client.t(), term(), keyword()) :: result(term())

manifest_put(t, term, term, keyword)

@callback manifest_put(Regc.Client.t(), term(), term(), keyword()) :: result(term())

page_next(t, t)

@callback page_next(Regc.Client.t(), Regc.Page.t()) :: result(Regc.Page.t()) | :done

ping(t, term, keyword)

@callback ping(Regc.Client.t(), term(), keyword()) :: result(term())

referrer_list(t, term, keyword)

@callback referrer_list(Regc.Client.t(), term(), keyword()) :: result(term())

repository_list(t, keyword)

@callback repository_list(
  Regc.Client.t(),
  keyword()
) :: result(term())

tag_delete(t, term, keyword)

@callback tag_delete(Regc.Client.t(), term(), keyword()) :: :ok | {:error, Regc.Error.t()}

tag_list(t, term, keyword)

@callback tag_list(Regc.Client.t(), term(), keyword()) :: result(term())