Behaviour for storage adapters in Plato CMS.
Allows pluggable storage backends (S3, local filesystem, etc.)
Summary
Callbacks
Delete a file from storage
Check if a file exists in storage
Get a URL for accessing the stored file
Upload a file to storage
Types
Callbacks
@callback delete(storage_path(), config()) :: :ok | {:error, term()}
Delete a file from storage
@callback exists?(storage_path(), config()) :: boolean()
Check if a file exists in storage
@callback get_url(storage_path(), config()) :: {:ok, url()} | {:error, term()}
Get a URL for accessing the stored file
@callback put(upload(), storage_path(), config()) :: {:ok, storage_path()} | {:error, term()}
Upload a file to storage