LIL-179. Add serializer, viewset, route for User model

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 9c319c45a0
commit e5c948e1b1
  1. 42
      api/v1/serializers.py
  2. 2
      api/v1/urls.py
  3. 10
      api/v1/views.py

@ -1,3 +1,4 @@
from django.contrib.auth import get_user_model
from rest_framework import serializers
from apps.course.models import Category, Course, Material, Like
@ -6,6 +7,8 @@ from apps.content.models import (
Gallery, GalleryImage,
)
User = get_user_model()
class MaterialSerializer(serializers.ModelSerializer):
@ -211,3 +214,42 @@ class GalleryImageSerializer(serializers.ModelSerializer):
'created_at',
'update_at',
)
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = (
'id',
'username',
'email',
'first_name',
'last_name',
'is_staff',
'is_active',
'date_joined',
'role',
'gender',
'country',
'city',
'about',
'instagram',
'facebook',
'twitter',
'pinterest',
'youtube',
'vkontakte',
'fb_id',
'fb_data',
'is_email_proved',
'photo',
)
read_only_fields = (
'id',
'date_joined',
'is_staff',
'fb_id',
'fb_data',
)

@ -12,6 +12,7 @@ from .views import (
ImageViewSet, TextViewSet,
ImageTextViewSet, VideoViewSet,
GalleryViewSet, GalleryImageViewSet,
UserViewSet,
)
router = DefaultRouter()
@ -26,6 +27,7 @@ router.register(r'image-texts', ImageTextViewSet, base_name='image-texts')
router.register(r'videos', VideoViewSet, base_name='videos')
router.register(r'galleries', GalleryViewSet, base_name='galleries')
router.register(r'gallery-images', GalleryImageViewSet, base_name='gallery-images')
router.register(r'users', UserViewSet, base_name='users')
schema_view = get_schema_view(

@ -1,3 +1,5 @@
from django.contrib.auth import get_user_model
from rest_framework import viewsets
from . import ExtendedModelViewSet
@ -7,6 +9,7 @@ from .serializers import (
ImageSerializer, TextSerializer,
ImageTextSerializer, VideoSerializer,
GallerySerializer, GalleryImageSerializer,
UserSerializer,
)
from apps.course.models import Category, Course, Material, Like
@ -15,6 +18,8 @@ from apps.content.models import (
Gallery, GalleryImage,
)
User = get_user_model()
class MaterialViewSet(ExtendedModelViewSet):
queryset = Material.objects.all()
@ -77,3 +82,8 @@ class GalleryViewSet(ExtendedModelViewSet):
class GalleryImageViewSet(ExtendedModelViewSet):
queryset = GalleryImage.objects.select_related('gallery').all()
serializer_class = GalleryImageSerializer
class UserViewSet(ExtendedModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer

Loading…
Cancel
Save