Merge branch '2018-12-10-update-frontend' into 'develop'
[akkoma] / lib / pleroma / user.ex
index 5d05dddfa2bc2de120879c6c81fac2e4c7901d0b..bcc34b38f89717f1bf3bf60eb799842c7764ad08 100644 (file)
@@ -2,7 +2,6 @@ defmodule Pleroma.User do
   use Ecto.Schema
 
   import Ecto.{Changeset, Query}
-  alias Ecto.Multi
   alias Pleroma.{Repo, User, Object, Web, Activity, Notification}
   alias Comeonin.Pbkdf2
   alias Pleroma.Formatter
@@ -10,6 +9,8 @@ defmodule Pleroma.User do
   alias Pleroma.Web.{OStatus, Websub, OAuth}
   alias Pleroma.Web.ActivityPub.{Utils, ActivityPub}
 
+  @type t :: %__MODULE__{}
+
   schema "users" do
     field(:bio, :string)
     field(:email, :string)
@@ -218,7 +219,7 @@ defmodule Pleroma.User do
     end
   end
 
-  def maybe_follow(%User{} = follower, %User{info: info} = followed) do
+  def maybe_follow(%User{} = follower, %User{info: _info} = followed) do
     if not following?(follower, followed) do
       follow(follower, followed)
     else
@@ -280,6 +281,7 @@ defmodule Pleroma.User do
     end
   end
 
+  @spec following?(User.t(), User.t()) :: boolean
   def following?(%User{} = follower, %User{} = followed) do
     Enum.member?(follower.following, followed.follower_address)
   end
@@ -805,8 +807,8 @@ defmodule Pleroma.User do
   end
 
   def parse_bio(bio, user \\ %User{info: %{source_data: %{}}})
-  def parse_bio(nil, user), do: ""
-  def parse_bio(bio, user) when bio == "", do: bio
+  def parse_bio(nil, _user), do: ""
+  def parse_bio(bio, _user) when bio == "", do: bio
 
   def parse_bio(bio, user) do
     mentions = Formatter.parse_mentions(bio)
@@ -828,20 +830,21 @@ defmodule Pleroma.User do
     end)
   end
 
+  def tag(nickname, tags) when is_binary(nickname),
+    do: tag(User.get_by_nickname(nickname), tags)
+
+  def tag(%User{} = user, tags),
+    do: update_tags(user, Enum.uniq(user.tags ++ normalize_tags(tags)))
+
   def untag(user_identifiers, tags) when is_list(user_identifiers) do
     Repo.transaction(fn ->
       for user_identifier <- user_identifiers, do: untag(user_identifier, tags)
     end)
   end
 
-  def tag(nickname, tags) when is_binary(nickname), do: tag(User.get_by_nickname(nickname), tags)
-
   def untag(nickname, tags) when is_binary(nickname),
     do: untag(User.get_by_nickname(nickname), tags)
 
-  def tag(%User{} = user, tags),
-    do: update_tags(user, Enum.uniq(user.tags ++ normalize_tags(tags)))
-
   def untag(%User{} = user, tags), do: update_tags(user, user.tags -- normalize_tags(tags))
 
   defp update_tags(%User{} = user, new_tags) do