Merge remote-tracking branch 'origin/develop' into benchmark-finishing
[akkoma] / lib / pleroma / user / welcome_message.ex
index 6a0ec084f3081bfa19a5792fd437ec2bc72ac35c..99fba729e272fe7b17adced17eebac2f868648c2 100644 (file)
@@ -1,7 +1,10 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
 defmodule Pleroma.User.WelcomeMessage do
   alias Pleroma.User
   alias Pleroma.Web.CommonAPI
-  import Ecto.Query
 
   def post_welcome_message_to_user(user) do
     with %User{} = sender_user <- welcome_user(),
@@ -15,19 +18,17 @@ defmodule Pleroma.User.WelcomeMessage do
     end
   end
 
-  defp welcome_user() do
-    if nickname = Pleroma.Config.get([:instance, :welcome_user_nickname]) do
-      from(u in User,
-        where: u.local == true,
-        where: u.nickname == ^nickname
-      )
-      |> Pleroma.Repo.one()
+  defp welcome_user do
+    with nickname when is_binary(nickname) <-
+           Pleroma.Config.get([:instance, :welcome_user_nickname]),
+         %User{local: true} = user <- User.get_cached_by_nickname(nickname) do
+      user
     else
-      nil
+      _ -> nil
     end
   end
 
-  defp welcome_message() do
+  defp welcome_message do
     Pleroma.Config.get([:instance, :welcome_message])
   end
 end