diff options
author | feld <feld@feld.me> | 2020-01-12 18:48:59 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2020-01-12 18:48:59 +0000 |
commit | a431e8c9f7033c739e10b0e8b34c75f2cc1d38d4 (patch) | |
tree | b03a833986d9cbdadc7e807ff3ae6054a36842e5 /lib/pleroma/uploaders/local.ex | |
parent | 8b4d81609d5627d62b826bcd3e87290cb513495f (diff) | |
parent | 88f0eed0f24cb05949edcea49215ee939babac58 (diff) | |
download | pleroma-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.ex | 13 |
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 |