Files
backend-v1/core/apps/api/views/attributes.py
Abdulaziz Axmadaliyev d7c12eada3 Attributes model added.
2026-03-09 13:21:12 +05:00

60 lines
1.8 KiB
Python

from django_core.mixins import BaseViewSetMixin
from drf_spectacular.utils import extend_schema
from rest_framework.permissions import AllowAny
from rest_framework.viewsets import ReadOnlyModelViewSet
from core.apps.api.models import ColorModel, ProductlikeModel, SizeModel
from core.apps.api.serializers.attributes import (
CreateColorSerializer,
CreateProductlikeSerializer,
CreateSizeSerializer,
ListColorSerializer,
ListProductlikeSerializer,
ListSizeSerializer,
RetrieveColorSerializer,
RetrieveProductlikeSerializer,
RetrieveSizeSerializer,
)
@extend_schema(tags=["size"])
class SizeView(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = SizeModel.objects.all()
serializer_class = ListSizeSerializer
permission_classes = [AllowAny]
action_permission_classes = {}
action_serializer_class = {
"list": ListSizeSerializer,
"retrieve": RetrieveSizeSerializer,
"create": CreateSizeSerializer,
}
@extend_schema(tags=["color"])
class ColorView(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = ColorModel.objects.all()
serializer_class = ListColorSerializer
permission_classes = [AllowAny]
action_permission_classes = {}
action_serializer_class = {
"list": ListColorSerializer,
"retrieve": RetrieveColorSerializer,
"create": CreateColorSerializer,
}
@extend_schema(tags=["productlike"])
class ProductlikeView(BaseViewSetMixin, ReadOnlyModelViewSet):
queryset = ProductlikeModel.objects.all()
serializer_class = ListProductlikeSerializer
permission_classes = [AllowAny]
action_permission_classes = {}
action_serializer_class = {
"list": ListProductlikeSerializer,
"retrieve": RetrieveProductlikeSerializer,
"create": CreateProductlikeSerializer,
}