Merge branch 'refactor/user' into 'develop'
authorkaniini <ariadne@dereferenced.org>
Thu, 26 Sep 2019 03:00:38 +0000 (03:00 +0000)
committerkaniini <ariadne@dereferenced.org>
Thu, 26 Sep 2019 03:00:38 +0000 (03:00 +0000)
Simplify updating user's `info`

See merge request pleroma/pleroma!1712

1  2 
lib/pleroma/user.ex
lib/pleroma/user/info.ex
lib/pleroma/web/admin_api/admin_api_controller.ex
lib/pleroma/web/common_api/common_api.ex
lib/pleroma/web/mastodon_api/controllers/mastodon_api_controller.ex

Simple merge
Simple merge
index 9ee7040220957a9a4e1c5f333f4309d32eef2fa7,40eebe2aa4352914e742a9a319cbf088b6224d7c..4a74dc16f128cd459cf04efdf63211666f073d24
@@@ -295,27 -300,16 +295,25 @@@ defmodule Pleroma.Web.CommonAPI d
      end
    end
  
 +  # parse and put emoji to object data
 +  defp put_emoji(map, text, emojis) do
 +    Map.put(
 +      map,
 +      "emoji",
 +      Map.merge(Emoji.Formatter.get_emoji_map(text), emojis)
 +    )
 +  end
 +
    # Updates the emojis for a user based on their profile
    def update(user) do
+     emoji = emoji_from_profile(user)
+     source_data = user.info |> Map.get(:source_data, {}) |> Map.put("tag", emoji)
      user =
-       with emoji <- emoji_from_profile(user),
-            source_data <- (user.info.source_data || %{}) |> Map.put("tag", emoji),
-            info_cng <- 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
+       with {:ok, user} <- User.update_info(user, &User.Info.set_source_data(&1, source_data)) do
          user
        else
-         _e ->
-           user
+         _e -> user
        end
  
      ActivityPub.update(%{