This commit is contained in:
A'zamov Samandar
2025-12-06 21:50:28 +05:00
parent 3aa20fdaa1
commit f5766aa319
140 changed files with 2376 additions and 1582 deletions

View File

@@ -1 +1 @@
from .ad_like import * # noqa
from .like import *

View File

@@ -1,28 +0,0 @@
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 UserLike
from core.apps.api.serializers.user.ad_like import (
ListUserLikeSerializer,
CreateUserLikeSerializer,
)
@extend_schema(tags=['User Like'])
class UserLikeViewSet(BaseViewSetMixin, mixins.ListModelMixin, mixins.CreateModelMixin,
mixins.DestroyModelMixin, GenericViewSet):
serializer_class = ListUserLikeSerializer
permission_classes = [IsAuthenticated]
http_method_names = ['get', 'post', 'delete']
action_permission_classes = {}
action_serializer_class = {
'list': ListUserLikeSerializer,
'create': CreateUserLikeSerializer,
}
def get_queryset(self):
queryset = UserLike.objects.filter(user=self.request.user).order_by('-id')
return queryset

View File

@@ -0,0 +1,40 @@
from rest_framework import mixins
from rest_framework.response import Response
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 UserLike
from core.apps.api.serializers.user.like import (
ListUserLikeSerializer,
CreateUserLikeSerializer,
)
@extend_schema(tags=["User Like"])
class UserLikeViewSet(BaseViewSetMixin, mixins.ListModelMixin, GenericViewSet):
serializer_class = ListUserLikeSerializer
permission_classes = [IsAuthenticated]
http_method_names = ["get", "post", "delete"]
action_serializer_class = {
"list": ListUserLikeSerializer,
"create": CreateUserLikeSerializer,
}
def create(self, request):
ser = self.get_serializer(data=request.data)
ser.is_valid(raise_exception=True)
instance = UserLike.objects.filter(user=request.user, ad=ser.validated_data.get("ad")).first()
if instance is not None:
instance.delete()
return Response(data={"detail": "deleted"})
self.perform_create(ser)
return Response(data={"detail": "created"})
def get_queryset(self):
queryset = UserLike.objects.filter(user=self.request.user).order_by("-id")
return queryset
def perform_create(self, serializer):
serializer.save(user=self.request.user)