add remote user count for the heck of it
[akkoma] / lib / pleroma / stats.ex
index 77505bb042ca4aebc7cba21d86ddf1d28d27bf1c..cda1fb9a65ddb744ff9e0e705fc264b81ab4ea69 100644 (file)
@@ -23,7 +23,11 @@ defmodule Pleroma.Stats do
 
   @impl true
   def init(_args) do
-    {:ok, nil, {:continue, :calculate_stats}}
+    if Pleroma.Config.get(:env) != :test do
+      {:ok, nil, {:continue, :calculate_stats}}
+    else
+      {:ok, calculate_stat_data()}
+    end
   end
 
   @doc "Performs update stats"
@@ -75,20 +79,30 @@ defmodule Pleroma.Stats do
 
     users_query =
       from(u in User,
-        where: u.deactivated != true,
+        where: u.is_active == true,
         where: u.local == true,
         where: not is_nil(u.nickname),
         where: not u.invisible
       )
 
+    remote_users_query =
+      from(u in User,
+        where: u.is_active == true,
+        where: u.local == false,
+        where: not is_nil(u.nickname),
+        where: not u.invisible
+      )
+
     user_count = Repo.aggregate(users_query, :count, :id)
+    remote_user_count = Repo.aggregate(remote_users_query, :count, :id)
 
     %{
       peers: peers,
       stats: %{
         domain_count: domain_count,
         status_count: status_count || 0,
-        user_count: user_count
+        user_count: user_count,
+        remote_user_count: remote_user_count
       }
     }
   end