Commit 5637d163 authored by lain's avatar lain

MastodonAPI: Add proper user count.

parent 9d1c0ec1
......@@ -329,4 +329,9 @@ def blocks?(user, %{ap_id: ap_id}) do
Enum.member?(blocks, ap_id)
end
def local_user_query() do
from u in User,
where: u.local == true
end
end
......@@ -93,6 +93,7 @@ def user(conn, %{"id" => id}) do
@instance Application.get_env(:pleroma, :instance)
def masto_instance(conn, _params) do
user_count = Repo.aggregate(User.local_user_query, :count, :id)
response = %{
uri: Web.base_url,
title: Keyword.get(@instance, :name),
......@@ -103,8 +104,8 @@ def masto_instance(conn, _params) do
streaming_api: String.replace(Web.base_url, ["http","https"], "wss")
},
stats: %{
user_count: 1,
status_count: 2,
user_count: user_count,
domain_count: 3
},
max_toot_chars: Keyword.get(@instance, :limit)
......
......@@ -573,4 +573,19 @@ test "updates the user's banner" do
assert user["header"] != "https://placehold.it/700x335"
end
end
test "get instance information" do
insert(:user, %{local: true})
user = insert(:user, %{local: true})
insert(:user, %{local: false})
{:ok, _} = TwitterAPI.create_status(user, %{"status" => "cofe"})
conn = conn
|> get("/api/v1/instance")
assert result = json_response(conn, 200)
assert result["stats"]["user_count"] == 2
end
end
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment