From d990a64efb9fb6f5e40964fbd52eedfa796af6e3 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Tue, 17 Nov 2020 20:25:25 +0000 Subject: [PATCH] Return alarm light value over /stats/ API --- apiserver/apiserver/api/utils_stats.py | 1 + apiserver/apiserver/api/views.py | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apiserver/apiserver/api/utils_stats.py b/apiserver/apiserver/api/utils_stats.py index 67c4b7b..e81eeec 100644 --- a/apiserver/apiserver/api/utils_stats.py +++ b/apiserver/apiserver/api/utils_stats.py @@ -25,6 +25,7 @@ DEFAULTS = { 'mumble_users': [], 'card_scans': 0, 'track': {}, + 'alarm': {}, } def changed_card(): diff --git a/apiserver/apiserver/api/views.py b/apiserver/apiserver/api/views.py index 6e016b1..efac0d0 100644 --- a/apiserver/apiserver/api/views.py +++ b/apiserver/apiserver/api/views.py @@ -462,6 +462,11 @@ class StatsViewSet(viewsets.ViewSet, List): cached_stats = cache.get_many(stats_keys) stats = utils_stats.DEFAULTS.copy() stats.update(cached_stats) + + user = self.request.user + if not user.is_authenticated or not user.member.vetted_date: + stats.pop('alarm', None) + return Response(stats) @action(detail=False, methods=['post']) @@ -487,8 +492,8 @@ class StatsViewSet(viewsets.ViewSet, List): @action(detail=False, methods=['post']) def alarm(self, request): try: - logging.info('Alarm value: ' + str(request.data['data'])) - #cache.set('alarm', int(request.data['data'])) + alarm = dict(time=time.time(), data=int(request.data['data'])) + cache.set('alarm', alarm) return Response(200) except ValueError: raise exceptions.ValidationError(dict(data='Invalid integer.'))