Skip to content

Commit e80de50

Browse files
author
Jon
committed
Add a simple serializer to describe the params of the availability history endpoint, but also remove it from schema generation since its not working
1 parent 7ffcc83 commit e80de50

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

configdb/hardware/serializers.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,3 +310,14 @@ class Meta:
310310
'__str__',
311311
)
312312
model = Site
313+
314+
315+
class AvailabilityHistorySerializer(serializers.Serializer):
316+
instrument_id = serializers.CharField(required=True, write_only=True)
317+
telescope_id = serializers.CharField(required=True, write_only=True)
318+
site_id = serializers.CharField(required=True, write_only=True)
319+
enclosure_id = serializers.CharField(required=True, write_only=True)
320+
# Start/end are optional parameters to cap what is returned
321+
start = serializers.DateTimeField(required=False, write_only=True)
322+
end = serializers.DateTimeField(required=False, write_only=True)
323+
availability_intervals = serializers.DictField(read_only=True)

configdb/hardware/views.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from django.http import JsonResponse, HttpResponseBadRequest, HttpResponseNotFound
66
from rest_framework.generics import RetrieveAPIView
77

8+
from configdb.hardware.serializers import AvailabilityHistorySerializer
89
from configdb.hardware.models import Site, Telescope, Camera, Instrument, OpticalElementGroup, GenericModeGroup
910
from configdb.hardware.availability import build_instrument_availability_history, build_telescope_availability_history
1011

@@ -26,6 +27,9 @@ class AvailabilityHistoryView(RetrieveAPIView):
2627
""" Use django-reversion models to build a set of timestamps for when an instrument or telescope has availability
2728
Meaning it has at least one schedulable instrument
2829
"""
30+
serializer_class = AvailabilityHistorySerializer
31+
schema = None
32+
2933
def get(self, request):
3034
instrument_id = request.GET.get('instrument_id')
3135
telescope_id = request.GET.get('telescope_id')

0 commit comments

Comments
 (0)