# 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)