Source code for smarter.apps.prompt.api.v1.views.history

# pylint: disable=W0707,W0718,C0115,W0613
"""Account views for smarter api."""

from django.shortcuts import get_object_or_404
from rest_framework.response import Response

from smarter.apps.prompt.api.v1.serializers import (
    ChatHistorySerializer,
    ChatPluginUsageSerializer,
    ChatSerializer,
    ChatToolCallSerializer,
)
from smarter.apps.prompt.models import Chat, ChatHistory, ChatPluginUsage, ChatToolCall
from smarter.lib.drf.views.token_authentication_helpers import (
    SmarterAuthenticatedAPIView,
    SmarterAuthenticatedListAPIView,
)


[docs] class ChatToolCallHistoryListView(SmarterAuthenticatedListAPIView): queryset = ChatToolCall.objects.all() serializer_class = ChatToolCallSerializer
[docs] class ChatToolCallHistoryView(SmarterAuthenticatedAPIView):
[docs] def get(self, request, *args, **kwargs): instance = get_object_or_404(ChatToolCall, pk=kwargs["pk"]) serializer = ChatToolCallSerializer(instance) return Response(serializer.data)
[docs] class PluginUsageHistoryListView(SmarterAuthenticatedListAPIView): queryset = ChatPluginUsage.objects.all() serializer_class = ChatPluginUsageSerializer
[docs] class PluginUsageHistoryView(SmarterAuthenticatedAPIView):
[docs] def get(self, request, *args, **kwargs): instance = get_object_or_404(PluginUsageHistoryView, pk=kwargs["pk"]) serializer = ChatPluginUsageSerializer(instance) return Response(serializer.data)
[docs] class ChatHistoryListView(SmarterAuthenticatedListAPIView): queryset = Chat.objects.all() serializer_class = ChatSerializer
[docs] class ChatHistoryView(SmarterAuthenticatedAPIView):
[docs] def get(self, request, *args, **kwargs): instance = get_object_or_404(ChatHistory, pk=kwargs["pk"]) serializer = ChatHistorySerializer(instance) return Response(serializer.data)