Make nodeinfo do metadata based on domain requested (#628)

This commit is contained in:
Henri Dickson 2023-08-11 11:34:25 -04:00 committed by GitHub
parent 0c72327ab7
commit 1262c619bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -72,8 +72,19 @@ class NodeInfo2(View):
def get(self, request):
# Fetch some user stats
local_identities = Identity.objects.filter(local=True).count()
local_posts = Post.objects.filter(local=True).count()
if request.domain:
domain_config = Config.load_domain(request.domain)
local_identities = Identity.objects.filter(
local=True, domain=request.domain
).count()
local_posts = Post.objects.filter(
local=True, author__domain=request.domain
).count()
metadata = {"nodeName": domain_config.site_name}
else:
local_identities = Identity.objects.filter(local=True).count()
local_posts = Post.objects.filter(local=True).count()
metadata = {}
return JsonResponse(
{
"version": "2.0",
@ -85,7 +96,7 @@ class NodeInfo2(View):
"localPosts": local_posts,
},
"openRegistrations": Config.system.signup_allowed,
"metadata": {},
"metadata": metadata,
}
)