Skip to content

Commit e4da2b3

Browse files
committed
added title & image address for list serializers in private & project chats
1 parent 9b784a0 commit e4da2b3

2 files changed

Lines changed: 21 additions & 7 deletions

File tree

chats/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def get_chat(cls, user1, user2) -> "DirectChat":
160160
def get_last_messages(self, message_count):
161161
return self.messages.order_by("-created_at")[:message_count]
162162

163-
def get_other_user(self, user):
163+
def get_other_user(self, user) -> User:
164164
return self.users.exclude(pk=user.pk).first()
165165

166166
@classmethod

chats/serializers.py

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,19 @@ def get_users(cls, chat: ProjectChat):
2222
def get_last_message(cls, chat: DirectChat):
2323
return DirectChatMessageListSerializer(chat.get_last_message()).data
2424

25+
def get_title(self, chat: DirectChat):
26+
request = self.context.get("request")
27+
user = request.user
28+
return chat.get_other_user(user).get_full_name()
29+
30+
def get_image_address(self, chat: DirectChat):
31+
request = self.context.get("request")
32+
user = request.user
33+
return chat.get_other_user(user).avatar
34+
2535
class Meta:
2636
model = DirectChat
27-
fields = [
28-
"id",
29-
"users",
30-
"last_message",
31-
]
37+
fields = ["id", "users", "last_message", "title", "image_address"]
3238

3339

3440
class DirectChatDetailSerializer(serializers.ModelSerializer):
@@ -53,9 +59,17 @@ class ProjectChatListSerializer(serializers.ModelSerializer):
5359
def get_last_message(cls, chat: ProjectChat):
5460
return ProjectChatMessageListSerializer(chat.get_last_message()).data
5561

62+
@classmethod
63+
def get_image_address(cls, chat: ProjectChat):
64+
return chat.project.image_address
65+
66+
@classmethod
67+
def get_name(cls, chat: ProjectChat):
68+
return chat.project.name
69+
5670
class Meta:
5771
model = ProjectChat
58-
fields = ["id", "project", "last_message"]
72+
fields = ["id", "project", "last_message", "name", "image_address"]
5973

6074

6175
class ProjectChatDetailSerializer(serializers.ModelSerializer):

0 commit comments

Comments
 (0)