nulla/lib/nulla_web/controllers/nodeinfo_controller.ex
2025-06-17 12:06:36 +02:00

32 lines
932 B
Elixir

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