Track when user was last active

fixes #10
This commit is contained in:
Mouse Reeve
2020-11-01 09:16:49 -08:00
parent c334451216
commit 4e02a8df99
5 changed files with 55 additions and 3 deletions

View File

@ -1,4 +1,7 @@
''' responds to various requests to /.well-know '''
from datetime import datetime
from dateutil.relativedelta import relativedelta
from django.http import HttpResponseBadRequest, HttpResponseNotFound
from django.http import JsonResponse
@ -52,6 +55,16 @@ def nodeinfo(request):
status_count = models.Status.objects.filter(user__local=True).count()
user_count = models.User.objects.count()
month_ago = datetime.now() - relativedelta(months=1)
last_month_count = models.User.objects.filter(
last_active_date__gt=month_ago
).count()
six_months_ago = datetime.now() - relativedelta(months=6)
six_month_count = models.User.objects.filter(
last_active_date__gt=six_months_ago
).count()
return JsonResponse({
'version': '2.0',
'software': {
@ -64,8 +77,8 @@ def nodeinfo(request):
'usage': {
'users': {
'total': user_count,
'activeMonth': user_count, # TODO
'activeHalfyear': user_count, # TODO
'activeMonth': last_month_count,
'activeHalfyear': six_month_count,
},
'localPosts': status_count,
},