Skip to content
Snippets Groups Projects
Select Git revision
  • c333bbebf728b93ab9b6d938903d6e5d0b7ba0aa
  • master default protected
  • L2SS-1914-fix_job_dispatch
  • TMSS-3170
  • TMSS-3167
  • TMSS-3161
  • TMSS-3158-Front-End-Only-Allow-Changing-Again
  • TMSS-3133
  • TMSS-3319-Fix-Templates
  • test-fix-deploy
  • TMSS-3134
  • TMSS-2872
  • defer-state
  • add-custom-monitoring-points
  • TMSS-3101-Front-End-Only
  • TMSS-984-choices
  • SDC-1400-Front-End-Only
  • TMSS-3079-PII
  • TMSS-2936
  • check-for-max-244-subbands
  • TMSS-2927---Front-End-Only-PXII
  • Before-Remove-TMSS
  • LOFAR-Release-4_4_318 protected
  • LOFAR-Release-4_4_317 protected
  • LOFAR-Release-4_4_316 protected
  • LOFAR-Release-4_4_315 protected
  • LOFAR-Release-4_4_314 protected
  • LOFAR-Release-4_4_313 protected
  • LOFAR-Release-4_4_312 protected
  • LOFAR-Release-4_4_311 protected
  • LOFAR-Release-4_4_310 protected
  • LOFAR-Release-4_4_309 protected
  • LOFAR-Release-4_4_308 protected
  • LOFAR-Release-4_4_307 protected
  • LOFAR-Release-4_4_306 protected
  • LOFAR-Release-4_4_304 protected
  • LOFAR-Release-4_4_303 protected
  • LOFAR-Release-4_4_302 protected
  • LOFAR-Release-4_4_301 protected
  • LOFAR-Release-4_4_300 protected
  • LOFAR-Release-4_4_299 protected
41 results

tmss_test_data_django_models.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    serializers.py 4.38 KiB
    from rest_framework import serializers
    from .models import Status, Task, Workflow, LogEntry, Configuration, Job
    
    
    
    class WorkflowSerializer(serializers.ModelSerializer):
    
        class Meta:
            model = Workflow
            fields = "__all__"
    
    
    class LogEntrySerializer(serializers.ModelSerializer):
    
        class Meta:
            model = LogEntry
            fields = "__all__"
    
    
    class TaskWriteSerializer(serializers.ModelSerializer):
    
        status_history = serializers.StringRelatedField(
            many=True,
            required=False,
        )
    
        log_entries = serializers.StringRelatedField(
            many=True,
            required=False
        )
    
        successors = serializers.StringRelatedField(
            many=True,
            required=False,
        )
    
        new_workflow_id = serializers.SerializerMethodField()  # no corresponding model property.
        new_workflow_uri = serializers.SerializerMethodField()  # no corresponding model property.
    
        class Meta:
            model = Task
            fields = ('id','task_type','filter','predecessor','successors',
                      'project','sas_id','priority','purge_policy','resume',
                      'new_workflow_id','new_workflow_uri','workflow',
                      'stage_request_id',
                      'status','new_status',
                      'inputs','outputs','metrics','status_history',
                      'size_to_process','size_processed','total_processing_time',
                      'log_entries'
                      )
    
        def get_new_workflow_id(self, instance):
            return instance.workflow.id
    
        def get_new_workflow_uri(self, instance):
            return instance.workflow.workflow_uri
    
        def create(self, validated_data):
            task = Task.objects.create(**validated_data)
    
            workflow_uri = self.initial_data['new_workflow_uri']
            if workflow_uri:
                #workflow_uri = validated_data['new_workflow_uri']
                workflow = Workflow.objects.get(workflow_uri=workflow_uri)
                task.workflow = workflow
                task.save()
                return task
    
            workflow_id = self.initial_data['new_workflow_id']
            if workflow_id:
                workflow = Workflow.objects.get(id=workflow_id)
                task.workflow = workflow
                task.save()
                return task
    
    class TaskReadSerializer(serializers.ModelSerializer):
    
        status_history = serializers.StringRelatedField(
            many=True,
            required=False,
        )
    
        log_entries = serializers.StringRelatedField(
            many=True,
            required=False
        )
    
        successors = serializers.StringRelatedField(
            many=True,
            required=False,
        )
    
        class Meta:
            model = Task
            fields = ['id','task_type','creationTime','filter','predecessor','successors',
                      'project','sas_id','priority','purge_policy','resume',
                      'workflow',
                      'stage_request_id',
                      'status','new_status',
                      'inputs','outputs','metrics','status_history',
                      'size_to_process', 'size_processed', 'total_processing_time',
                      'log_entries'
                      ]
            read_only_fields = fields
    
    
    class TaskReadSerializerFast(serializers.ModelSerializer):
        """
        status_history = serializers.StringRelatedField(
            many=True,
            required=False,
        )
    
        log_entries = serializers.StringRelatedField(
            many=True,
            required=False
        )
    
        successors = serializers.StringRelatedField(
            many=True,
            required=False,
        )
        """
        class Meta:
            model = Task
            fields = ['id','task_type','creationTime','filter','predecessor',
                      'project','sas_id','priority','purge_policy','resume',
                      'workflow',
                      'stage_request_id',
                      'status','new_status',
                      'inputs','outputs','metrics',
                      'size_to_process', 'size_processed', 'total_processing_time',
    
                      ]
            read_only_fields = fields
    
    
    class StatusSerializer(serializers.ModelSerializer):
    
        class Meta:
            model = Status
            fields = "__all__"
    
    
    class WorkflowSerializer(serializers.ModelSerializer):
    
        class Meta:
            model = Workflow
            fields = "__all__"
    
    
    class ConfigurationSerializer(serializers.ModelSerializer):
    
        class Meta:
            model = Configuration
            fields = "__all__"
    
    
    class JobSerializer(serializers.ModelSerializer):
    
        class Meta:
            model = Job
            fields = "__all__"