Dynavera/apps/mlstore/viewsets.py
2026-01-20 17:21:28 +00:00

29 lines
1.1 KiB
Python

from rest_framework.viewsets import ModelViewSet
from rest_framework.permissions import IsAuthenticated
from .models import Agent, AgentRun, AgentEvent
from .serializers import AgentSerializer, AgentRunSerializer, AgentEventSerializer
from rest_framework.decorators import action
from rest_framework.response import Response
class AgentViewSet(ModelViewSet):
queryset = Agent.objects.all()
serializer_class = AgentSerializer
permission_classes = [IsAuthenticated]
lookup_field = 'uuid'
class AgentRunViewSet(ModelViewSet):
queryset = AgentRun.objects.all()
serializer_class = AgentRunSerializer
permission_classes = [IsAuthenticated]
lookup_field = 'uuid'
def get_queryset(self):
return AgentRun.objects.filter(user=self.request.user)
@action(detail=True, methods=['get'], url_path='events')
def events(self, request, uuid=None):
run = self.get_object()
events = AgentEvent.objects.filter(execution=run).order_by('timestamp')
serializer = AgentEventSerializer(events, many=True)
return Response(serializer.data)