11package ita .tinybite .domain .chat .dto .res ;
22
3+ import com .fasterxml .jackson .annotation .JsonInclude ;
34import ita .tinybite .domain .chat .entity .ChatMessage ;
45import ita .tinybite .domain .chat .enums .MessageType ;
56import lombok .Builder ;
67
78import java .time .LocalDateTime ;
89
910@ Builder
11+ @ JsonInclude (JsonInclude .Include .NON_NULL )
1012public record ChatMessageResDto (
1113 Long messageId ,
1214 MessageType messageType ,
@@ -22,16 +24,28 @@ public record ChatMessageResDto(
2224 String systemMessage
2325) {
2426 public static ChatMessageResDto of (ChatMessage chatMessage , Long senderId ) {
25- return ChatMessageResDto .builder ()
26- .messageId (chatMessage .getId ())
27- .messageType (chatMessage .getMessageType ())
28- .createdAt (chatMessage .getCreatedAt ())
29- .senderId (chatMessage .getSenderId ())
30- .isMine (senderId .equals (chatMessage .getSenderId ()))
31- .nickname (chatMessage .getSenderName ())
32- .text (chatMessage .getText ())
33- .imageUrl (chatMessage .getImageUrl ())
34- .systemMessage (chatMessage .getSystemMessage ())
35- .build ();
27+ switch (chatMessage .getMessageType ()) {
28+ case DATE -> {
29+ return ChatMessageResDto .builder ()
30+ .messageId (chatMessage .getId ())
31+ .messageType (chatMessage .getMessageType ())
32+ .createdAt (chatMessage .getCreatedAt ())
33+ .systemMessage (chatMessage .getSystemMessage ())
34+ .build ();
35+ }
36+ default -> {
37+ return ChatMessageResDto .builder ()
38+ .messageId (chatMessage .getId ())
39+ .messageType (chatMessage .getMessageType ())
40+ .createdAt (chatMessage .getCreatedAt ())
41+ .senderId (chatMessage .getSenderId ())
42+ .isMine (senderId .equals (chatMessage .getSenderId ()))
43+ .nickname (chatMessage .getSenderName ())
44+ .text (chatMessage .getText ())
45+ .imageUrl (chatMessage .getImageUrl ())
46+ .systemMessage (chatMessage .getSystemMessage ())
47+ .build ();
48+ }
49+ }
3650 }
3751}
0 commit comments