[#394] Refactoring.
authorIvan Tashkinov <ivantashkinov@gmail.com>
Thu, 6 Dec 2018 17:23:16 +0000 (20:23 +0300)
committerIvan Tashkinov <ivantashkinov@gmail.com>
Thu, 6 Dec 2018 17:23:16 +0000 (20:23 +0300)
lib/pleroma/user.ex
lib/pleroma/web/mastodon_api/views/account_view.ex
lib/pleroma/web/twitter_api/views/user_view.ex

index 24bc808945d02c4619cc1771b5c3bed43604471d..3984e610ecb88eaf1ae0ed6c55df6265313a502f 100644 (file)
@@ -846,12 +846,7 @@ defmodule Pleroma.User do
 
     Repo.transaction(fn ->
       for user <- users do
-        new_tags =
-          if action == :tag do
-            Enum.uniq(user.tags ++ tags)
-          else
-            user.tags -- tags
-          end
+        new_tags = mutate_tags(user, tags, action)
 
         {:ok, updated_user} =
           user
@@ -862,4 +857,8 @@ defmodule Pleroma.User do
       end
     end)
   end
+
+  defp mutate_tags(user, tags, :tag), do: Enum.uniq(user.tags ++ tags)
+
+  defp mutate_tags(user, tags, :untag), do: user.tags -- tags
 end
index 0add1b6861fb095f1f777717e271f52fe4d570c3..2762813aeba75ddad75ec749b67069a4c6f1c59a 100644 (file)
@@ -59,7 +59,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
         privacy: user_info.default_scope,
         sensitive: false
       },
-      # Note: Mastodon does not return this field:
+      # Pleroma extension
       tags: user.tags
     }
   end
index dae6563726f52398d57bfe71b9be7cce411c21b1..f460ddd80bbec5790f5873b1c8a7147d166feca5 100644 (file)
@@ -78,7 +78,7 @@ defmodule Pleroma.Web.TwitterAPI.UserView do
       "default_scope" => user.info.default_scope,
       "no_rich_text" => user.info.no_rich_text,
       "fields" => fields,
-      # Note: twitter.com does not return this field:
+      # Pleroma extension
       "tags" => user.tags
     }