From b3a429b3f20bd91762becd583b3e072d7bb5edcf Mon Sep 17 00:00:00 2001 From: Roman Hajnala Date: Thu, 13 Mar 2025 21:16:08 +0100 Subject: [PATCH] fix write times --- API.md | 3 ++- src/timer/urls.py | 11 +++++++---- src/timer/views.py | 14 ++++++++++++-- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/API.md b/API.md index 8df5cff..6393e37 100644 --- a/API.md +++ b/API.md @@ -20,4 +20,5 @@ zapisuje cas ako end. **Example Request:** ```bash -curl -X GET "http://your-domain/api/timer/write/12345/222-222-222-222/1741169316.149847/" \ No newline at end of file +curl -X GET "http://your-domain/api/timer/write/12345/222-222-222-222/1741169316.149847/" + diff --git a/src/timer/urls.py b/src/timer/urls.py index ad4a235..553af1a 100644 --- a/src/timer/urls.py +++ b/src/timer/urls.py @@ -1,14 +1,17 @@ from django.urls import path -from timer.views import WriteTimeApiView +from timer.views import WriteTimeApiView, HealthCheckApiView urlpatterns = [ + path( + "healthcheck/", + HealthCheckApiView.as_view(), + name="healthcheck", + ), + path( "write////", WriteTimeApiView.as_view(), name="write_time", ), - - - ] \ No newline at end of file diff --git a/src/timer/views.py b/src/timer/views.py index eecd8e4..16d237b 100644 --- a/src/timer/views.py +++ b/src/timer/views.py @@ -1,7 +1,7 @@ import http import logging from datetime import datetime - +from django.utils import timezone from django.views.generic import View from django.http import JsonResponse @@ -12,6 +12,16 @@ logger = logging.getLogger(__name__) from timer.models import TimeRecord +class HealthCheckApiView(View): + """ + View to check if the server is running + returns standard JsonResponse with status 'ok' + """ + @staticmethod + def get(request, *args, **kwargs): + return JsonResponse({"status": "ok"}, status=http.HTTPStatus.OK, safe=False) + + class WriteTimeApiView(View): """ View to write time records @@ -23,7 +33,7 @@ class WriteTimeApiView(View): try: # parse datetime from string of unix timestamp with milliseconds '1741169756.049847' - record_time = datetime.fromtimestamp(float(kwargs['time'])) + record_time = timezone.make_aware(datetime.fromtimestamp(float(kwargs['time']))) # create new TimeRecord object and save it to the database TimeRecord(