digitaleagenturnc/api/serializers.py

54 lines
1.6 KiB
Python

from django.contrib.auth.models import User
from rest_framework import serializers
from rest_framework.validators import UniqueTogetherValidator
from standards.models import Standards
from chat.models import ChatRoom, ChatMessage
class StandardsSerializer(serializers.ModelSerializer):
username = serializers.SerializerMethodField('getCreatedByUser')
last_modified_on = serializers.SerializerMethodField('getFormatedLastModified')
class Meta:
model = Standards
fields = ["id", "name", "last_modified_on", "username", "content"]
def getCreatedByUser(self, standard):
return standard.created_standard_by.first_name + " " + standard.created_standard_by.first_name
def getFormatedLastModified(self, standard):
return standard.last_modified_on.strftime("%d.%m.%Y %H:%M")
class ChatRoomSerializer(serializers.ModelSerializer):
class Meta:
model = ChatRoom
fields = ["id", "roomname", "roomname_channel"]
class ChatMessageSerializer(serializers.ModelSerializer):
sendtime = serializers.SerializerMethodField('getFormatedMessageTimeStarted')
class Meta:
model = ChatMessage
fields = ["author", "content", "sendtime"]
class ChatRoomFullSerializer(serializers.ModelSerializer):
chatroom_createddate = serializers.SerializerMethodField('getFormatedChatStarted')
#messages = ChatMessageSerializer(many=True)
class Meta:
model = ChatRoom
fields = ["id", "roomname", "roomname_channel", "chatroom_createddate", "chatmembers", "chatmember_single","messages", "creator"]
depth = 2
def getFormatedChatStarted(self, chatroom):
return chatroom.chatroom_createddate.strftime("%d.%m.%Y %H:%M")