add the behaviour, work on actually making it work.

This commit is contained in:
Thurloat 2018-08-28 19:48:03 -03:00
commit dad39b24a1
3 changed files with 45 additions and 37 deletions

View file

@ -3,7 +3,7 @@ defmodule Pleroma.Uploaders.Local do
alias Pleroma.Web
def put_file(name, uuid, file, _content_type, should_dedupe) do
def put_file(name, uuid, tmpfile, _content_type, should_dedupe) do
upload_folder = get_upload_path(uuid, should_dedupe)
url_path = get_url(name, uuid, should_dedupe)
@ -12,9 +12,9 @@ defmodule Pleroma.Uploaders.Local do
result_file = Path.join(upload_folder, name)
if File.exists?(result_file) do
File.rm!(file.path)
File.rm!(tmpfile)
else
File.cp!(file.path, result_file)
File.cp!(tmpfile, result_file)
end
url_path

View file

@ -0,0 +1,26 @@
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