ConversationDto.java
package com.nonononoki.alovoa.model;
import com.nonononoki.alovoa.Tools;
import com.nonononoki.alovoa.entity.User;
import com.nonononoki.alovoa.entity.user.Conversation;
import com.nonononoki.alovoa.entity.user.UserProfilePicture;
import com.nonononoki.alovoa.service.UserService;
import lombok.Data;
import java.util.Date;
import java.util.UUID;
@Data
public class ConversationDto {
private long id;
private Date lastUpdated;
private String userName;
private String userProfilePicture;
private MessageDto lastMessage;
private UUID uuid;
private boolean read;
public static ConversationDto conversationToDto(Conversation c, User currentUser, UserService userService) {
ConversationDto dto = new ConversationDto();
dto.setId(c.getId());
dto.setLastUpdated(c.getLastUpdated());
if (c.getMessages() != null && !c.getMessages().isEmpty()) {
MessageDto msg = MessageDto.messageToDto(c.getMessages().get(c.getMessages().size() - 1), currentUser);
dto.setLastMessage(msg);
}
User u = c.getPartner(currentUser);
dto.setUserName(u.getFirstName());
if (u.getProfilePicture() != null) {
dto.setUserProfilePicture(UserProfilePicture.getPublicUrl(userService.getDomain(),
Tools.getProfilePictureUUID(u.getProfilePicture(), userService)));
}
dto.setUuid(Tools.getUserUUID(u, userService));
return dto;
}
}