diff --git a/api/v1/serializers/content.py b/api/v1/serializers/content.py index 2f05d704..975f299a 100644 --- a/api/v1/serializers/content.py +++ b/api/v1/serializers/content.py @@ -1,7 +1,7 @@ from rest_framework import serializers from apps.content.models import ( - Content, Image, Text, ImageText, Video, + Baner, Content, Image, Text, ImageText, Video, Gallery, GalleryImage, ImageObject, ) @@ -22,6 +22,28 @@ BASE_CONTENT_FIELDS = ( ) +class BanerSerializer(serializers.ModelSerializer): + + class Meta: + model = Baner + fields = ( + 'id', + 'text', + 'button_text', + 'url', + 'image', + 'use', + 'created_at', + 'update_at', + ) + + read_only_fields = ( + 'id', + 'created_at', + 'update_at', + ) + + class ContentCreateSerializer(serializers.Serializer): TYPE_CHOICES = ( 'text', diff --git a/api/v1/urls.py b/api/v1/urls.py index bcc0d0d8..455adb25 100644 --- a/api/v1/urls.py +++ b/api/v1/urls.py @@ -9,7 +9,7 @@ from drf_yasg import openapi from .auth import ObtainToken from .views import ( AuthorBalanceViewSet, AuthorRequestViewSet, - ConfigViewSet, CategoryViewSet, + BanerViewSet, ConfigViewSet, CategoryViewSet, CourseViewSet, CommentViewSet, MaterialViewSet, LikeViewSet, ImageViewSet, TextViewSet, @@ -22,6 +22,7 @@ from .views import ( router = DefaultRouter() router.register(r'author-requests', AuthorRequestViewSet, base_name='author-requests') router.register(r'author-balance', AuthorBalanceViewSet, base_name='author-balance') +router.register(r'baners', BanerViewSet, base_name='baners') router.register(r'categories', CategoryViewSet, base_name='categories') router.register(r'courses', CourseViewSet, base_name='courses') router.register(r'comments', CommentViewSet, base_name='comments') diff --git a/api/v1/views.py b/api/v1/views.py index ba6601ab..35b1e696 100644 --- a/api/v1/views.py +++ b/api/v1/views.py @@ -16,7 +16,7 @@ from .serializers.course import ( LessonSerializer, LessonCreateSerializer, ) from .serializers.content import ( - ImageSerializer, ImageCreateSerializer, + BanerSerializer, ImageSerializer, ImageCreateSerializer, TextSerializer, TextCreateSerializer, ImageTextSerializer, ImageTextCreateSerializer, VideoSerializer, VideoCreateSerializer, @@ -49,7 +49,7 @@ from apps.course.models import ( ) from apps.config.models import Config from apps.content.models import ( - Image, Text, ImageText, Video, + Baner, Image, Text, ImageText, Video, Gallery, GalleryImage, ImageObject, ) from apps.payment.models import AuthorBalance @@ -76,6 +76,15 @@ class AuthorBalanceViewSet(ExtendedModelViewSet): ) +class BanerViewSet(ExtendedModelViewSet): + queryset = Baner.objects.all() + serializer_class = BanerSerializer + permission_classes = (IsAdmin,) + filter_fields = ('use',) + ordering_fields = ('created_at', 'update_at',) + search_fields = ('text',) + + class ImageObjectViewSet(ExtendedModelViewSet): queryset = ImageObject.objects.all() serializer_class = ImageObjectSerializer