You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
enchant_server/chat/serializers.py

36 lines
1005 B

from django.contrib.auth.models import User
from rest_framework import serializers
from .models import App, Room, Message
class UserSerializer(serializers.HyperlinkedModelSerializer):
password = serializers.CharField(write_only=True)
def create(self, validated_data):
user = User.objects.create_user(
username=validated_data['username'],
password=validated_data['password'],
)
return user
class Meta:
model = User
fields = ['id', 'username', 'password']
class AppSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = App
fields = ['id', 'name']
class RoomSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Room
fields = ['id', 'name', 'app']
class MessageSerializer(serializers.HyperlinkedModelSerializer):
user = UserSerializer()
class Meta:
model = Message
fields = ['id', 'text', 'date', 'user', 'room', 'parent']