43 lines
1.2 KiB
Python
43 lines
1.2 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, SizeModel
|
|
from core.apps.api.serializers.common import (
|
|
CreateColorSerializer,
|
|
CreateSizeSerializer,
|
|
ListColorSerializer,
|
|
ListSizeSerializer,
|
|
RetrieveColorSerializer,
|
|
RetrieveSizeSerializer,
|
|
)
|
|
|
|
|
|
@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=["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,
|
|
}
|