Regc.Backend behaviour (regc v0.0.2)
View SourceCapability contract implemented by registry and local content backends.
High-level operations dispatch through this behaviour instead of constructing HTTP URLs directly.
Summary
Types
@type result(value) :: {:ok, value} | {:error, Regc.Error.t()}
Callbacks
@callback blob_delete(Regc.Client.t(), term(), term(), keyword()) :: :ok | {:error, Regc.Error.t()}
@callback blob_mount(Regc.Client.t(), term(), term(), term(), keyword()) :: :ok | {:error, Regc.Error.t()}
@callback blob_upload_cancel(Regc.Client.t(), term(), keyword()) :: :ok | {:error, Regc.Error.t()}
@callback blob_upload_start(Regc.Client.t(), term(), keyword()) :: result(term())
@callback blob_upload_status(Regc.Client.t(), term(), keyword()) :: result(term())
@callback manifest_delete(Regc.Client.t(), term(), keyword()) :: :ok | {:error, Regc.Error.t()}
@callback manifest_get(Regc.Client.t(), term(), keyword()) :: result(term())
@callback manifest_head(Regc.Client.t(), term(), keyword()) :: result(term())
@callback page_next(Regc.Client.t(), Regc.Page.t()) :: result(Regc.Page.t()) | :done
@callback ping(Regc.Client.t(), term(), keyword()) :: result(term())
@callback referrer_list(Regc.Client.t(), term(), keyword()) :: result(term())
@callback repository_list( Regc.Client.t(), keyword() ) :: result(term())
@callback tag_delete(Regc.Client.t(), term(), keyword()) :: :ok | {:error, Regc.Error.t()}
@callback tag_list(Regc.Client.t(), term(), keyword()) :: result(term())