akkoma/lib/pleroma/uploaders/uploader.ex

27 lines
721 B
Elixir

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()
) :: String.t()
@callback put_file(
name :: String.t(),
uuid :: String.t(),
image_data :: String.t(),
content_type :: String.t(),
should_dedupe :: String.t()
) :: String.t()
end