From 848b28df393734ce431bcecb0714e226f0797d35 Mon Sep 17 00:00:00 2001
From: Mattia Mancini <mancini@astron.nl>
Date: Thu, 11 Oct 2018 12:23:32 +0000
Subject: [PATCH] OSB-28: add urls and views for the ActionLog

---
 .gitattributes                                |  1 +
 .../DBInterface/monitoringdb/urls.py          | 39 +++++++------------
 .../monitoringdb/views/logs_view.py           |  8 ++++
 3 files changed, 24 insertions(+), 24 deletions(-)
 create mode 100644 LCU/Maintenance/DBInterface/monitoringdb/views/logs_view.py

diff --git a/.gitattributes b/.gitattributes
index e036eb59253..919b709a4cc 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1835,6 +1835,7 @@ LCU/Maintenance/DBInterface/monitoringdb/tests/test_multiple_tileerror_and_rcuer
 LCU/Maintenance/DBInterface/monitoringdb/urls.py -text
 LCU/Maintenance/DBInterface/monitoringdb/views/__init__.py -text
 LCU/Maintenance/DBInterface/monitoringdb/views/common.py -text
+LCU/Maintenance/DBInterface/monitoringdb/views/logs_view.py -text
 LCU/Maintenance/DBInterface/monitoringdb/views/rtsm_views.py -text
 LCU/Maintenance/DBInterface/monitoringdb/views/station_test_views.py -text
 LCU/Maintenance/MDB_WebView/CMakeLists.txt -text
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/urls.py b/LCU/Maintenance/DBInterface/monitoringdb/urls.py
index 44fc3e4b92c..d70138eb2df 100644
--- a/LCU/Maintenance/DBInterface/monitoringdb/urls.py
+++ b/LCU/Maintenance/DBInterface/monitoringdb/urls.py
@@ -2,51 +2,42 @@ from django.conf.urls import url, include
 from rest_framework import routers
 from .views.station_test_views import *
 from .views.rtsm_views import *
-from rest_framework.schemas import get_schema_view
-from rest_framework.renderers import CoreJSONRenderer
-from rest_framework import renderers
-from openapi_codec import OpenAPICodec
+from .views.logs_view import *
+from rest_framework.documentation import include_docs_urls
 
 
-class SwaggerRenderer(renderers.BaseRenderer):
-    media_type = 'application/openapi+json'
-    format = 'swagger'
-
-    def render(self, data, media_type=None, renderer_context=None):
-        codec = OpenAPICodec()
-        return codec.dump(data)
-
-
-schema_view = get_schema_view(title="Maintenance API", renderer_classes=[SwaggerRenderer, CoreJSONRenderer])
 
+log_router = routers.DefaultRouter()
+log_router.register(r'action_log', ActionLogViewSet)
 
 station_test_router = routers.DefaultRouter()
-#Station test
 
-station_test_router.register(r'error_details', ErrorDetailsViewSet)
+#Station test
 station_test_router.register(r'element_error', ElementErrorViewSet)
 station_test_router.register(r'element', ElementViewSet)
 station_test_router.register(r'component_error', ComponentErrorViewSet)
 station_test_router.register(r'component', ComponentViewSet)
 
 station_test_router.register(r'station', StationViewSet)
-station_test_router.register(r'station_test', StationTestViewSet)
+station_test_router.register(r'', StationTestViewSet)
 
 rtsm_router = routers.DefaultRouter()
-#RTSM
 
-rtsm_router.register(r'^/summary', RTSMObservationSummaryViewSet)
-rtsm_router.register(r'^/errors_detailed', RTSMErrorsDetailedViewSet)
-rtsm_router.register(r'^/errors', RTSMErrorsViewSet)
-rtsm_router.register(r'^', RTSMObservationViewSet)
+#RTSM
+rtsm_router.register(r'summary', RTSMObservationSummaryViewSet)
+rtsm_router.register(r'errors_detailed', RTSMErrorsDetailedViewSet)
+rtsm_router.register(r'errors', RTSMErrorsViewSet)
+rtsm_router.register(r'', RTSMObservationViewSet)
 
 
 urlpatterns = [
     url(r'^api/stationtests/', include(station_test_router.urls)),
-    url(r'^api/rtsm', include(rtsm_router.urls)),
+    url(r'^api/rtsm/', include(rtsm_router.urls)),
 
     url(r'^api/api-auth', include('rest_framework.urls', namespace='rest_framework')),
     url(r'^api/stationtests/insert_raw', insert_raw_station_test),
     url(r'^api/rtsm/insert_raw', insert_raw_rtsm_test),
-    url(r'^api/schema', schema_view)
+    url(r'^api/log/', include(log_router.urls)),
+
+    url(r'^api/docs', include_docs_urls(title='Monitoring DB API'))
 ]
diff --git a/LCU/Maintenance/DBInterface/monitoringdb/views/logs_view.py b/LCU/Maintenance/DBInterface/monitoringdb/views/logs_view.py
new file mode 100644
index 00000000000..22bab2f2aeb
--- /dev/null
+++ b/LCU/Maintenance/DBInterface/monitoringdb/views/logs_view.py
@@ -0,0 +1,8 @@
+from rest_framework.viewsets import ReadOnlyModelViewSet
+from lofar.maintenance.monitoringdb.serializers.log import ActionLogSerializer, ActionLog
+
+
+class ActionLogViewSet(ReadOnlyModelViewSet):
+    queryset = ActionLog.objects.all()
+    serializer_class = ActionLogSerializer
+    filter_fields = '__all__'
-- 
GitLab