66 lines
1.3 KiB
Python
66 lines
1.3 KiB
Python
from django.contrib.auth import get_user_model, authenticate, login, logout
|
|
from django.contrib.auth.models import User
|
|
from django.db.models import Q
|
|
from django.urls import reverse
|
|
from django.utils import timezone
|
|
from rest_framework import serializers
|
|
from .models import (
|
|
UserData,
|
|
Category,
|
|
Blog
|
|
)
|
|
|
|
class UserDataSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
model = UserData
|
|
fields = [
|
|
'name',
|
|
'intro_content',
|
|
'profile_photo',
|
|
]
|
|
|
|
class ThemeDataSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
model = UserData
|
|
fields = [
|
|
'default_theme',
|
|
'dark_theme',
|
|
'light_theme'
|
|
]
|
|
|
|
class CategorySerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
model = Category
|
|
fields = [
|
|
'category_id',
|
|
'featured_id',
|
|
'name',
|
|
'description',
|
|
'tagline',
|
|
'cover_image'
|
|
]
|
|
|
|
class BlogSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
model = Blog
|
|
fields = [
|
|
'blog_id',
|
|
'name',
|
|
'description',
|
|
'tagline',
|
|
'cover_image',
|
|
'content_body',
|
|
'parent_category'
|
|
]
|
|
|
|
|
|
class MediaSerializer(serializers.Serializer):
|
|
media = serializers.ListField(
|
|
child=serializers.FileField(max_length=100000, allow_empty_file=False, use_url=False)
|
|
)
|
|
resource_type = serializers.CharField(allow_blank=False)
|
|
resource_id = serializers.CharField(allow_blank=False) |