File indexing completed on 2026-04-25 08:29:10
0001 from rest_framework import serializers
0002 from .models import SystemAgent, AppLog, Run, StfFile, Subscriber, FastMonFile, TFSlice, Worker, RunState, SystemStateEvent
0003 from .workflow_models import STFWorkflow, AgentWorkflowStage, WorkflowMessage, WorkflowDefinition, WorkflowExecution
0004
0005 class SystemAgentSerializer(serializers.ModelSerializer):
0006 class Meta:
0007 model = SystemAgent
0008 fields = [
0009 'id', 'instance_name', 'agent_type', 'description', 'status',
0010 'last_heartbeat', 'agent_url', 'workflow_enabled',
0011 'current_stf_count', 'total_stf_processed', 'last_stf_processed',
0012 'pid', 'hostname', 'operational_state', 'namespace',
0013 'metadata', 'created_at', 'updated_at'
0014 ]
0015 read_only_fields = ['created_at', 'updated_at']
0016
0017 class AppLogSerializer(serializers.ModelSerializer):
0018 class Meta:
0019 model = AppLog
0020 fields = '__all__'
0021
0022 class STFWorkflowSerializer(serializers.ModelSerializer):
0023 class Meta:
0024 model = STFWorkflow
0025 fields = '__all__'
0026
0027 class AgentWorkflowStageSerializer(serializers.ModelSerializer):
0028 class Meta:
0029 model = AgentWorkflowStage
0030 fields = '__all__'
0031
0032 class WorkflowMessageSerializer(serializers.ModelSerializer):
0033 class Meta:
0034 model = WorkflowMessage
0035 fields = '__all__'
0036
0037 class RunSerializer(serializers.ModelSerializer):
0038 class Meta:
0039 model = Run
0040 fields = '__all__'
0041
0042 class StfFileSerializer(serializers.ModelSerializer):
0043 class Meta:
0044 model = StfFile
0045 fields = '__all__'
0046
0047 class SubscriberSerializer(serializers.ModelSerializer):
0048 class Meta:
0049 model = Subscriber
0050 fields = '__all__'
0051
0052 class FastMonFileSerializer(serializers.ModelSerializer):
0053 stf_file = serializers.SlugRelatedField(
0054 slug_field='stf_filename',
0055 queryset=StfFile.objects.all(),
0056 )
0057
0058 class Meta:
0059 model = FastMonFile
0060 fields = '__all__'
0061
0062
0063 class WorkflowDefinitionSerializer(serializers.ModelSerializer):
0064 class Meta:
0065 model = WorkflowDefinition
0066 fields = '__all__'
0067
0068
0069 class WorkflowExecutionSerializer(serializers.ModelSerializer):
0070 class Meta:
0071 model = WorkflowExecution
0072 fields = '__all__'
0073
0074 class LogSummarySerializer(serializers.Serializer):
0075 error_counts = serializers.DictField(child=serializers.IntegerField())
0076 recent_errors = serializers.ListField(child=serializers.DictField())
0077
0078
0079
0080
0081 class TFSliceSerializer(serializers.ModelSerializer):
0082 class Meta:
0083 model = TFSlice
0084 fields = '__all__'
0085
0086
0087 class WorkerSerializer(serializers.ModelSerializer):
0088 class Meta:
0089 model = Worker
0090 fields = '__all__'
0091
0092
0093 class RunStateSerializer(serializers.ModelSerializer):
0094 class Meta:
0095 model = RunState
0096 fields = '__all__'
0097
0098
0099 class SystemStateEventSerializer(serializers.ModelSerializer):
0100 class Meta:
0101 model = SystemStateEvent
0102 fields = '__all__'