diff --git a/apiserver/apiserver/api/utils_stats.py b/apiserver/apiserver/api/utils_stats.py index 19290cb..fff9baf 100644 --- a/apiserver/apiserver/api/utils_stats.py +++ b/apiserver/apiserver/api/utils_stats.py @@ -23,6 +23,7 @@ DEFAULTS = { 'bay_110_temp': None, 'minecraft_players': [], 'card_scans': 0, + 'track': {}, } def changed_card(): diff --git a/apiserver/apiserver/api/views.py b/apiserver/apiserver/api/views.py index 17579fe..0ea8431 100644 --- a/apiserver/apiserver/api/views.py +++ b/apiserver/apiserver/api/views.py @@ -16,7 +16,7 @@ from rest_auth.views import PasswordChangeView, PasswordResetView, PasswordReset from rest_auth.registration.views import RegisterView from fuzzywuzzy import fuzz, process from collections import OrderedDict -import datetime +import datetime, time import requests @@ -421,6 +421,16 @@ class StatsViewSet(viewsets.ViewSet, List): except KeyError: raise exceptions.ValidationError(dict(data='This field is required.')) + @action(detail=False, methods=['post']) + def track(self, request): + if 'name' in request.data: + track = cache.get('track', {}) + track[request.data['name']] = time.time() + cache.set('track', track) + return Response(200) + else: + raise exceptions.ValidationError(dict(paste='This field is required.')) + class MemberCountViewSet(Base, List): pagination_class = None