summaryrefslogtreecommitdiffstats
path: root/chat_api/serializers.py
diff options
context:
space:
mode:
authorjdlugosz963 <jdlugosz963@gmail.com>2021-11-29 10:50:24 +0100
committerjdlugosz963 <jdlugosz963@gmail.com>2021-11-29 10:50:24 +0100
commitff53fd490b02536733f6618908760b9e3d52eeb3 (patch)
treeecbc500ec8854bb693f0aa4341961a2fea74ecc4 /chat_api/serializers.py
parentb77b24cfae3ccafd4bbbd50c87107ebfd88bf282 (diff)
downloadlom_api-ff53fd490b02536733f6618908760b9e3d52eeb3.tar.gz
lom_api-ff53fd490b02536733f6618908760b9e3d52eeb3.zip
add group messages api
Diffstat (limited to 'chat_api/serializers.py')
-rw-r--r--chat_api/serializers.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/chat_api/serializers.py b/chat_api/serializers.py
index 585bb36..15828be 100644
--- a/chat_api/serializers.py
+++ b/chat_api/serializers.py
@@ -15,3 +15,41 @@ class GroupSerializer(serializers.ModelSerializer):
15 model = Group 15 model = Group
16 fields = '__all__' 16 fields = '__all__'
17 extra_fields = ('is_mine', ) 17 extra_fields = ('is_mine', )
18
19class DmSerializer(serializers.ModelSerializer):
20 is_mine = serializers.SerializerMethodField('_is_mine')
21
22 def _is_mine(self, obj):
23 request = self.context.get('request')
24 if request:
25 return request.user == obj.sender
26 return False
27 class Meta:
28 model = Dm
29 fields = '__all__'
30
31class GmSerializer(serializers.ModelSerializer):
32 is_mine = serializers.SerializerMethodField('_is_mine')
33
34 def _is_mine(self, obj):
35 request = self.context.get('request')
36 if request:
37 return request.user == obj.sender
38 return False
39 class Meta:
40 model = Gm
41 fields = '__all__'
42
43class GroupMessagesSerializer(serializers.ModelSerializer):
44 messages = serializers.SerializerMethodField('_messages')
45
46 def _messages(self, obj):
47 request = self.context.get('request')
48 if request:
49 gms = GmSerializer(obj.receiver_gm.all(), many=True, read_only=True, context={"request": request})
50 return gms.data
51 return []
52
53 class Meta:
54 model=Group
55 fields=('messages', )