22 lines
891 B
Python
22 lines
891 B
Python
from rest_framework.viewsets import ReadOnlyModelViewSet
|
|
|
|
from apps.common.api import TeamScopedViewSetMixin
|
|
|
|
from .models import AITask, ModelConfig
|
|
from .serializers import AITaskSerializer, ModelConfigSerializer
|
|
|
|
|
|
class AITaskViewSet(TeamScopedViewSetMixin, ReadOnlyModelViewSet):
|
|
queryset = AITask.objects.select_related("team", "project", "model_config", "model_config__provider").all()
|
|
serializer_class = AITaskSerializer
|
|
search_fields = ["idempotency_key", "provider_task_id", "project__name"]
|
|
ordering_fields = ["created_at", "updated_at", "completed_at"]
|
|
|
|
|
|
class ModelConfigViewSet(ReadOnlyModelViewSet):
|
|
queryset = ModelConfig.objects.select_related("provider").filter(status=ModelConfig.Status.ACTIVE)
|
|
serializer_class = ModelConfigSerializer
|
|
search_fields = ["name", "display_name", "capability"]
|
|
ordering_fields = ["created_at", "display_name"]
|
|
|