2018-08-28 16:48:03 -06:00
|
|
|
defmodule Pleroma.Uploaders.Uploader do
|
|
|
|
@moduledoc """
|
|
|
|
Defines the contract to put an uploaded file to any backend.
|
|
|
|
"""
|
|
|
|
|
|
|
|
@doc """
|
|
|
|
Put a file to the backend.
|
|
|
|
|
|
|
|
Returns a `String.t` containing the path of the uploaded file.
|
|
|
|
"""
|
|
|
|
@callback put_file(
|
|
|
|
name :: String.t(),
|
|
|
|
uuid :: String.t(),
|
|
|
|
file :: File.t(),
|
|
|
|
content_type :: String.t(),
|
|
|
|
should_dedupe :: Boolean.t()
|
2018-08-29 19:07:28 -06:00
|
|
|
) :: {:ok, String.t()} | {:error, String.t()}
|
2018-08-28 16:48:03 -06:00
|
|
|
end
|