Files
backend/core/apps/api/views/search/search.py
2025-11-25 12:45:13 +05:00

30 lines
1.1 KiB
Python

from rest_framework import mixins
from rest_framework.viewsets import GenericViewSet
from django_core.mixins.base import BaseViewSetMixin
from drf_spectacular.utils import extend_schema
from rest_framework.permissions import IsAuthenticated
from core.apps.accounts.models import SearchHistory
from core.apps.api.serializers.search import (
ListSearchHistorySerializer,
RetrieveSearchHistorySerializer,
CreateSearchHistorySerializer,
)
@extend_schema(tags=['Search'])
class SearchHistoryViewSet(BaseViewSetMixin, mixins.ListModelMixin, mixins.CreateModelMixin,
mixins.DestroyModelMixin, GenericViewSet):
serializer_class = ListSearchHistorySerializer
permission_classes = [IsAuthenticated]
http_method_names = ['get', 'post', 'delete']
action_permission_classes = {}
action_serializer_class = {
'list': ListSearchHistorySerializer,
'create': CreateSearchHistorySerializer,
}
def get_queryset(self):
queryset = SearchHistory.objects.filter(user=self.request.user)
return queryset