Assorted fixes.
[akkoma] / lib / pleroma / uploaders / local.ex
index b089c8f14d8ba706f98b29a4158a2746716c4e26..d96481c8d48707cc7afd808c01bbf5a2df737a1f 100644 (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,12 +12,12 @@ 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
+    {:ok, url_path}
   end
 
   def upload_path do
@@ -42,6 +42,10 @@ defmodule Pleroma.Uploaders.Local do
   end
 
   defp url_for(file) do
-    "#{Web.base_url()}/media/#{file}"
+    settings = Application.get_env(:pleroma, Pleroma.Uploaders.Local)
+
+    Keyword.get(settings, :uploads_url)
+    |> String.replace("{{file}}", file)
+    |> String.replace("{{base_url}}", Web.base_url())
   end
 end