nulla/lib/nulla_web/controllers/activitypub/nodeinfo_controller.ex
2025-07-01 10:15:06 +02:00

29 lines
752 B
Elixir

defmodule NullaWeb.ActivityPub.NodeinfoController do
use NullaWeb, :controller
alias Nulla.ActivityPub
alias Nulla.Models.User
alias Nulla.Models.InstanceSettings
def index(conn, _params) do
domain = NullaWeb.Endpoint.host()
json(conn, ActivityPub.nodeinfo(domain))
end
def show(conn, _params) do
version = Application.spec(:nulla, :vsn) |> to_string()
total = User.get_total_users_count()
month = User.get_active_users_count(30)
halfyear = User.get_active_users_count(180)
users = %{
total: total,
month: month,
halfyear: halfyear
}
instance_settings = InstanceSettings.get_instance_settings!()
json(conn, ActivityPub.nodeinfo(version, users, instance_settings))
end
end