aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/common_api/common_api.ex
diff options
context:
space:
mode:
authorkaniini <nenolod@gmail.com>2018-12-01 22:11:52 +0000
committerkaniini <nenolod@gmail.com>2018-12-01 22:11:52 +0000
commit371d96b1da85960dafea9665b8bc32ba553b1555 (patch)
tree43b665e9cb10ee18ba9f8bbe63803265e6582f7f /lib/pleroma/web/common_api/common_api.ex
parenta836d7b93a1e00cac0f0ffa5aed0b71d0c715ecf (diff)
parentf18b86fd5f01653dd6e860b2d67021bdce684d6d (diff)
downloadpleroma-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.ex9
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