Dynavera/apps/mlstore/serializers.py

54 lines
1.5 KiB
Python

from rest_framework.serializers import ModelSerializer
from .models import AgentModel, Agent, AgentRun, AgentEvent
from apps.orgs.serializers import OrganizationSerializer
class AgentModelSerializer(ModelSerializer):
class Meta:
model = AgentModel
fields = ['id', 'uuid', 'name', 'version', 'path']
read_only_fields = ['id', 'uuid']
class AgentSerializer(ModelSerializer):
model = AgentModelSerializer(read_only=True)
organization = OrganizationSerializer(read_only=True)
class Meta:
model = Agent
fields = [
'id',
'uuid',
'model',
'organization',
'status',
'description',
'started_at',
'completed_at',
]
read_only_fields = ['id', 'uuid', 'started_at', 'completed_at']
class AgentRunSerializer(ModelSerializer):
class Meta:
model = AgentRun
fields = [
'id',
'uuid',
'agent',
'user',
'status',
'input_data',
'output_data',
'error_message',
'started_at',
'completed_at',
]
read_only_fields = ['id', 'uuid', 'started_at', 'completed_at']
class AgentEventSerializer(ModelSerializer):
class Meta:
model = AgentEvent
fields = ['id', 'uuid', 'execution', 'event_type', 'content', 'timestamp']
read_only_fields = ['id', 'uuid', 'timestamp']