Upload filter: anonymize filename
[akkoma] / lib / pleroma / upload / filter / anonymize_filename.ex
1 defmodule Pleroma.Upload.Filter.AnonymizeFilename do
2 @moduledoc "Replaces the original filename with a randomly generated string."
3 @behaviour Pleroma.Upload.Filter
4
5 def filter(upload) do
6 extension = List.last(String.split(upload.name, "."))
7 string = Base.url_encode64(:crypto.strong_rand_bytes(10), padding: false)
8 {:ok, %Pleroma.Upload{upload | name: string <> "." <> extension}}
9 end
10 end