Update stats admin endpoint
This commit is contained in:
parent
39d2f2118a
commit
cbe383ae83
6 changed files with 87 additions and 24 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue