From 7e038969aa9ac3efa2d6566166794612258437a4 Mon Sep 17 00:00:00 2001
From: Mario Raciti <mario.raciti@inaf.it>
Date: Tue, 4 May 2021 17:51:19 +0200
Subject: [PATCH] TMSS-610: Add parameters to get_cycles_report view

---
 SAS/TMSS/backend/src/tmss/tmssapp/views.py | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/views.py b/SAS/TMSS/backend/src/tmss/tmssapp/views.py
index 59b4c16e99c..5d0f20c0650 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/views.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/views.py
@@ -280,18 +280,19 @@ def get_target_rise_and_set(request):
     return JsonResponse(rise_set_dict)
 
 
-# TODO: Add other responses and change parameter to array.
+# TODO: Change method to POST, add other responses and change 'in_=body'.
 @swagger_auto_schema(method='GET', responses={200: 'A JSON object with cycles information for reporting.'},
-                     manual_parameters=[Parameter(name='cycles', required=True, type='string', in_='query',
-                                                  description="Cycles' primary keys.")])
+                     manual_parameters=[Parameter(name='cycles', required=True, type='array', in_='query',
+                                                  items={'type': 'string'}, description="Cycles' primary keys.")])
 @api_view(['GET'])
 def get_cycles_report(request):
-    cycles = [get_object_or_404(models.Cycle, pk='Cycle 00'), get_object_or_404(models.Cycle, pk='Cycle 01'),
-              get_object_or_404(models.Cycle, pk='Cycle 02')]#request.GET.get('cycles')
+    # TODO: Sanitise inputs
+    cycles = str(request.GET.get('cycles')).split(',')
 
     results = {}
-    for c in cycles:    # TODO: Cycles will be a list of pks
-        # c = get_object_or_404(models.Cycle, pk=c_pk)
+    for c_pk in cycles:
+        c = get_object_or_404(models.Cycle, pk=c_pk)
         info = create_cycle_report(request, c)
-        results[c.pk] = info
+        results[c_pk] = info
+
     return JsonResponse(results)
-- 
GitLab