diff options
author | kaniini <nenolod@gmail.com> | 2018-12-01 22:11:52 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2018-12-01 22:11:52 +0000 |
commit | 371d96b1da85960dafea9665b8bc32ba553b1555 (patch) | |
tree | 43b665e9cb10ee18ba9f8bbe63803265e6582f7f /lib/pleroma/web/common_api/common_api.ex | |
parent | a836d7b93a1e00cac0f0ffa5aed0b71d0c715ecf (diff) | |
parent | f18b86fd5f01653dd6e860b2d67021bdce684d6d (diff) | |
download | pleroma-371d96b1da85960dafea9665b8bc32ba553b1555.tar.gz |
Merge branch 'validate-user-info' into 'develop'
Validate user info
See merge request pleroma/pleroma!465
Diffstat (limited to 'lib/pleroma/web/common_api/common_api.ex')
-rw-r--r-- | lib/pleroma/web/common_api/common_api.ex | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex index 77e4dbbd7..e3385310f 100644 --- a/lib/pleroma/web/common_api/common_api.ex +++ b/lib/pleroma/web/common_api/common_api.ex @@ -8,7 +8,7 @@ defmodule Pleroma.Web.CommonAPI do def delete(activity_id, user) do with %Activity{data: %{"object" => %{"id" => object_id}}} <- Repo.get(Activity, activity_id), %Object{} = object <- Object.normalize(object_id), - true <- user.info["is_moderator"] || user.ap_id == object.data["actor"], + true <- user.info.is_moderator || user.ap_id == object.data["actor"], {:ok, delete} <- ActivityPub.delete(object) do {:ok, delete} end @@ -135,12 +135,13 @@ defmodule Pleroma.Web.CommonAPI do end end + # Updates the emojis for a user based on their profile def update(user) do user = with emoji <- emoji_from_profile(user), - source_data <- (user.info["source_data"] || %{}) |> Map.put("tag", emoji), - new_info <- Map.put(user.info, "source_data", source_data), - change <- User.info_changeset(user, %{info: new_info}), + source_data <- (user.info.source_data || %{}) |> Map.put("tag", emoji), + info_cng <- Pleroma.User.Info.set_source_data(user.info, source_data), + change <- Ecto.Changeset.change(user) |> Ecto.Changeset.put_embed(:info, info_cng), {:ok, user} <- User.update_and_set_cache(change) do user else |