aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/counter_cache.ex6
-rw-r--r--lib/pleroma/stats.ex15
-rw-r--r--lib/pleroma/web/admin_api/admin_api_controller.ex7
3 files changed, 14 insertions, 14 deletions
diff --git a/lib/pleroma/counter_cache.ex b/lib/pleroma/counter_cache.ex
index b469e7b50..a940b5e50 100644
--- a/lib/pleroma/counter_cache.ex
+++ b/lib/pleroma/counter_cache.ex
@@ -40,7 +40,7 @@ defmodule Pleroma.CounterCache do
end
end
- def get_as_map() do
+ def get_sum() do
CounterCache
|> select([c], %{
"public" => sum(c.public),
@@ -49,6 +49,10 @@ defmodule Pleroma.CounterCache do
"direct" => sum(c.direct)
})
|> Repo.one()
+ |> Enum.map(fn {visibility, dec_count} ->
+ {visibility, Decimal.to_integer(dec_count)}
+ end)
+ |> Enum.into(%{})
end
def set(instance, values) do
diff --git a/lib/pleroma/stats.ex b/lib/pleroma/stats.ex
index 4e355bd5c..9a03f01db 100644
--- a/lib/pleroma/stats.ex
+++ b/lib/pleroma/stats.ex
@@ -97,14 +97,11 @@ defmodule Pleroma.Stats do
}
end
- def get_status_visibility_count do
- counter_cache = CounterCache.get_as_map()
-
- %{
- public: counter_cache["status_visibility_public"] || 0,
- unlisted: counter_cache["status_visibility_unlisted"] || 0,
- private: counter_cache["status_visibility_private"] || 0,
- direct: counter_cache["status_visibility_direct"] || 0
- }
+ def get_status_visibility_count(instance \\ nil) do
+ if is_nil(instance) do
+ CounterCache.get_sum()
+ else
+ CounterCache.get_by_instance(instance)
+ end
end
end
diff --git a/lib/pleroma/web/admin_api/admin_api_controller.ex b/lib/pleroma/web/admin_api/admin_api_controller.ex
index 9f1fd3aeb..4db9f4cac 100644
--- a/lib/pleroma/web/admin_api/admin_api_controller.ex
+++ b/lib/pleroma/web/admin_api/admin_api_controller.ex
@@ -1122,11 +1122,10 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
end
end
- def stats(conn, _) do
- count = Stats.get_status_visibility_count()
+ def stats(conn, params) do
+ counters = Stats.get_status_visibility_count(params["instance"])
- conn
- |> json(%{"status_visibility" => count})
+ json(conn, %{"status_visibility" => counters})
end
defp errors(conn, {:error, :not_found}) do