defmodule NullaWeb.NodeinfoController do use NullaWeb, :controller alias Nulla.Repo 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