Add API endpoint for observation jobs.
parent
d1caac11dc
commit
900953b26b
|
@ -49,3 +49,27 @@ class DataSerializer(serializers.ModelSerializer):
|
|||
class Meta:
|
||||
model = Data
|
||||
fields = ('id', 'start', 'end', 'observation', 'ground_station', 'payload')
|
||||
|
||||
|
||||
class JobSerializer(serializers.ModelSerializer):
|
||||
frequency = serializers.SerializerMethodField()
|
||||
tle0 = serializers.SerializerMethodField()
|
||||
tle1 = serializers.SerializerMethodField()
|
||||
tle2 = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Data
|
||||
fields = ('id', 'start', 'end', 'ground_station', 'tle0', 'tle1', 'tle2',
|
||||
'frequency')
|
||||
|
||||
def get_frequency(self, obj):
|
||||
return obj.observation.transponder.downlink_low
|
||||
|
||||
def get_tle0(self, obj):
|
||||
return obj.observation.satellite.tle0
|
||||
|
||||
def get_tle1(self, obj):
|
||||
return obj.observation.satellite.tle1
|
||||
|
||||
def get_tle2(self, obj):
|
||||
return obj.observation.satellite.tle2
|
||||
|
|
|
@ -12,6 +12,7 @@ router.register(r'observations', views.ObservationView)
|
|||
router.register(r'satellites', views.SatelliteView)
|
||||
router.register(r'stations', views.StationView)
|
||||
router.register(r'transponders', views.TransponderView)
|
||||
router.register(r'jobs', views.JobView)
|
||||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
|
|
|
@ -51,3 +51,10 @@ class DataView(viewsets.ReadOnlyModelViewSet, mixins.UpdateModelMixin):
|
|||
if payload == '':
|
||||
return self.queryset.filter(payload='')
|
||||
return super(DataView, self).get_queryset()
|
||||
|
||||
|
||||
class JobView(viewsets.ReadOnlyModelViewSet):
|
||||
queryset = Data.objects.filter(payload='')
|
||||
serializer_class = serializers.JobSerializer
|
||||
filter_class = DataFilter
|
||||
filter_fields = ('ground_station')
|
||||
|
|
Loading…
Reference in New Issue