Unify the logic of updating objects

This commit is contained in:
Tusooa Zhu 2022-06-25 00:32:22 -04:00
commit 99a6f50316
No known key found for this signature in database
GPG key ID: 7B467EDE43A08224
6 changed files with 183 additions and 101 deletions

View file

@ -422,15 +422,7 @@ defmodule Pleroma.Web.CommonAPI do
with {:ok, draft} <- ActivityDraft.create(user, params) do
change =
Pleroma.Constants.status_updatable_fields()
|> Enum.reduce(orig_object.data, fn key, acc ->
if Map.has_key?(draft.object, key) do
acc |> Map.put(key, Map.get(draft.object, key))
else
acc |> Map.drop([key])
end
end)
|> Map.put("updated", Utils.make_date())
Object.Updater.make_update_object_data(orig_object.data, draft.object, Utils.make_date())
{:ok, change}
else