aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/uploaders/local.ex
diff options
context:
space:
mode:
authorfeld <feld@feld.me>2020-01-12 18:48:59 +0000
committerfeld <feld@feld.me>2020-01-12 18:48:59 +0000
commita431e8c9f7033c739e10b0e8b34c75f2cc1d38d4 (patch)
treeb03a833986d9cbdadc7e807ff3ae6054a36842e5 /lib/pleroma/uploaders/local.ex
parent8b4d81609d5627d62b826bcd3e87290cb513495f (diff)
parent88f0eed0f24cb05949edcea49215ee939babac58 (diff)
downloadpleroma-a431e8c9f7033c739e10b0e8b34c75f2cc1d38d4.tar.gz
Merge branch 'feature/attachments-cleanup' into 'develop'
Delete attachments when status is deleted See merge request pleroma/pleroma!2036
Diffstat (limited to 'lib/pleroma/uploaders/local.ex')
-rw-r--r--lib/pleroma/uploaders/local.ex13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/pleroma/uploaders/local.ex b/lib/pleroma/uploaders/local.ex
index 36b3c35ec..2e6fe3292 100644
--- a/lib/pleroma/uploaders/local.ex
+++ b/lib/pleroma/uploaders/local.ex
@@ -5,10 +5,12 @@
defmodule Pleroma.Uploaders.Local do
@behaviour Pleroma.Uploaders.Uploader
+ @impl true
def get_file(_) do
{:ok, {:static_dir, upload_path()}}
end
+ @impl true
def put_file(upload) do
{local_path, file} =
case Enum.reverse(Path.split(upload.path)) do
@@ -33,4 +35,15 @@ defmodule Pleroma.Uploaders.Local do
def upload_path do
Pleroma.Config.get!([__MODULE__, :uploads])
end
+
+ @impl true
+ def delete_file(path) do
+ upload_path()
+ |> Path.join(path)
+ |> File.rm()
+ |> case do
+ :ok -> :ok
+ {:error, posix_error} -> {:error, to_string(posix_error)}
+ end
+ end
end