-
Nico Vermaas authoredNico Vermaas authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
serializers.py 2.06 KiB
from rest_framework import serializers
from .models import DataProduct, Observation, Status, TaskObject
import logging
logger = logging.getLogger(__name__)
class StatusSerializer(serializers.ModelSerializer):
class Meta:
model = Status
fields = ('id','name','timestamp','property_taskID','property_task_type')
class DataProductSerializer(serializers.ModelSerializer):
# this adds a 'parent_observation' list with hyperlinks to the DataProduct API.
# note that 'generatedByObservation' is not defined in the DataProduct model, but in the Observation model.
parent = serializers.PrimaryKeyRelatedField(
many=False,
queryset=Observation.objects.all(),
required=False,
)
status_history = serializers.StringRelatedField(
many=True,
required=False,
)
class Meta:
model = DataProduct
fields = ('id','task_type','name','filename','description',
'taskID','creationTime','size','quality',
'my_status','new_status','status_history','parent',
'data_location','node')
class ObservationSerializer(serializers.ModelSerializer):
# this adds a 'generated_dataproducts' list with hyperlinks to the Observation API.
# note that 'generated_dataproducts' is not defined in the DataProduct model, but comes from the related_field in Observation.parent.
generated_dataproducts = serializers.StringRelatedField(
many=True,
required=False,
)
status_history = serializers.StringRelatedField(
many=True,
required=False,
)
class Meta:
model = Observation
fields = ('id','task_type', 'name','taskID',
'field_name','field_ra','field_dec',
'creationTime','starttime','endtime', 'duration', 'size',
'my_status','new_status','status_history',
'generated_dataproducts',
'data_location', 'node',
'skip_auto_ingest','observing_mode',
'quality','metadata','progress')