Skip to content

Commit 79a2660

Browse files
authored
Revert "feat: 채팅 이미지 전송 구현 (#475)"
This reverts commit 6da42bd.
1 parent 6da42bd commit 79a2660

12 files changed

Lines changed: 11 additions & 254 deletions

File tree

src/main/java/com/example/solidconnection/chat/controller/ChatMessageController.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.example.solidconnection.chat.controller;
22

3-
import com.example.solidconnection.chat.dto.ChatImageSendRequest;
43
import com.example.solidconnection.chat.dto.ChatMessageSendRequest;
54
import com.example.solidconnection.chat.service.ChatService;
65
import com.example.solidconnection.security.authentication.TokenAuthentication;
@@ -30,16 +29,4 @@ public void sendChatMessage(
3029

3130
chatService.sendChatMessage(chatMessageSendRequest, siteUserDetails.getSiteUser().getId(), roomId);
3231
}
33-
34-
@MessageMapping("/chat/{roomId}/image")
35-
public void sendChatImage(
36-
@DestinationVariable Long roomId,
37-
@Valid @Payload ChatImageSendRequest chatImageSendRequest,
38-
Principal principal
39-
) {
40-
TokenAuthentication tokenAuthentication = (TokenAuthentication) principal;
41-
SiteUserDetails siteUserDetails = (SiteUserDetails) tokenAuthentication.getPrincipal();
42-
43-
chatService.sendChatImage(chatImageSendRequest, siteUserDetails.getSiteUser().getId(), roomId);
44-
}
4532
}

src/main/java/com/example/solidconnection/chat/domain/ChatAttachment.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import jakarta.persistence.GeneratedValue;
88
import jakarta.persistence.GenerationType;
99
import jakarta.persistence.Id;
10-
import jakarta.persistence.JoinColumn;
1110
import jakarta.persistence.ManyToOne;
1211
import lombok.AccessLevel;
1312
import lombok.Getter;
@@ -31,7 +30,7 @@ public class ChatAttachment extends BaseEntity {
3130
@Column(length = 500)
3231
private String thumbnailUrl;
3332

34-
@ManyToOne(fetch = FetchType.LAZY, optional = false)
33+
@ManyToOne(fetch = FetchType.LAZY)
3534
private ChatMessage chatMessage;
3635

3736
public ChatAttachment(boolean isImage, String url, String thumbnailUrl, ChatMessage chatMessage) {
@@ -43,17 +42,4 @@ public ChatAttachment(boolean isImage, String url, String thumbnailUrl, ChatMess
4342
chatMessage.getChatAttachments().add(this);
4443
}
4544
}
46-
47-
protected void setChatMessage(ChatMessage chatMessage) {
48-
if (this.chatMessage == chatMessage) return;
49-
50-
if (this.chatMessage != null) {
51-
this.chatMessage.getChatAttachments().remove(this);
52-
}
53-
54-
this.chatMessage = chatMessage;
55-
if (chatMessage != null && !chatMessage.getChatAttachments().contains(this)) {
56-
chatMessage.getChatAttachments().add(this);
57-
}
58-
}
5945
}

src/main/java/com/example/solidconnection/chat/domain/ChatMessage.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class ChatMessage extends BaseEntity {
3333
@ManyToOne(fetch = FetchType.LAZY)
3434
private ChatRoom chatRoom;
3535

36-
@OneToMany(mappedBy = "chatMessage", cascade = CascadeType.ALL, orphanRemoval = true)
36+
@OneToMany(mappedBy = "chatMessage", cascade = CascadeType.ALL)
3737
private final List<ChatAttachment> chatAttachments = new ArrayList<>();
3838

3939
public ChatMessage(String content, long senderId, ChatRoom chatRoom) {
@@ -44,9 +44,4 @@ public ChatMessage(String content, long senderId, ChatRoom chatRoom) {
4444
chatRoom.getChatMessages().add(this);
4545
}
4646
}
47-
48-
public void addAttachment(ChatAttachment attachment) {
49-
this.chatAttachments.add(attachment);
50-
attachment.setChatMessage(this);
51-
}
5247
}

src/main/java/com/example/solidconnection/chat/domain/MessageType.java

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/main/java/com/example/solidconnection/chat/dto/ChatImageSendRequest.java

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,19 @@
11
package com.example.solidconnection.chat.dto;
22

33
import com.example.solidconnection.chat.domain.ChatMessage;
4-
import com.example.solidconnection.chat.domain.MessageType;
5-
import java.util.List;
64

75
public record ChatMessageSendResponse(
86
long messageId,
97
String content,
10-
long senderId,
11-
MessageType messageType,
12-
List<ChatAttachmentResponse> attachments
8+
long senderId
139
) {
1410

1511
public static ChatMessageSendResponse from(ChatMessage chatMessage) {
16-
MessageType messageType = chatMessage.getChatAttachments().isEmpty()
17-
? MessageType.TEXT
18-
: MessageType.IMAGE;
19-
20-
List<ChatAttachmentResponse> attachments = chatMessage.getChatAttachments().stream()
21-
.map(attachment -> ChatAttachmentResponse.of(
22-
attachment.getId(),
23-
attachment.getIsImage(),
24-
attachment.getUrl(),
25-
attachment.getThumbnailUrl(),
26-
attachment.getCreatedAt()
27-
))
28-
.toList();
29-
3012
return new ChatMessageSendResponse(
3113
chatMessage.getId(),
3214
chatMessage.getContent(),
33-
chatMessage.getSenderId(),
34-
messageType,
35-
attachments
15+
chatMessage.getSenderId()
3616
);
3717
}
18+
3819
}

src/main/java/com/example/solidconnection/chat/service/ChatService.java

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@
55
import static com.example.solidconnection.common.exception.ErrorCode.INVALID_CHAT_ROOM_STATE;
66
import static com.example.solidconnection.common.exception.ErrorCode.USER_NOT_FOUND;
77

8-
import com.example.solidconnection.chat.domain.ChatAttachment;
98
import com.example.solidconnection.chat.domain.ChatMessage;
109
import com.example.solidconnection.chat.domain.ChatParticipant;
1110
import com.example.solidconnection.chat.domain.ChatRoom;
1211
import com.example.solidconnection.chat.dto.ChatAttachmentResponse;
13-
import com.example.solidconnection.chat.dto.ChatImageSendRequest;
1412
import com.example.solidconnection.chat.dto.ChatMessageResponse;
1513
import com.example.solidconnection.chat.dto.ChatMessageSendRequest;
1614
import com.example.solidconnection.chat.dto.ChatMessageSendResponse;
@@ -197,53 +195,6 @@ public void sendChatMessage(ChatMessageSendRequest chatMessageSendRequest, long
197195
simpMessageSendingOperations.convertAndSend("/topic/chat/" + roomId, chatMessageResponse);
198196
}
199197

200-
@Transactional
201-
public void sendChatImage(ChatImageSendRequest chatImageSendRequest, long siteUserId, long roomId) {
202-
long senderId = chatParticipantRepository.findByChatRoomIdAndSiteUserId(roomId, siteUserId)
203-
.orElseThrow(() -> new CustomException(CHAT_PARTICIPANT_NOT_FOUND))
204-
.getId();
205-
206-
ChatRoom chatRoom = chatRoomRepository.findById(roomId)
207-
.orElseThrow(() -> new CustomException(INVALID_CHAT_ROOM_STATE));
208-
209-
ChatMessage chatMessage = new ChatMessage(
210-
"",
211-
senderId,
212-
chatRoom
213-
);
214-
215-
for (String imageUrl : chatImageSendRequest.imageUrls()) {
216-
String thumbnailUrl = generateThumbnailUrl(imageUrl);
217-
218-
ChatAttachment attachment = new ChatAttachment(true, imageUrl, thumbnailUrl, null);
219-
chatMessage.addAttachment(attachment);
220-
}
221-
222-
chatMessageRepository.save(chatMessage);
223-
224-
ChatMessageSendResponse chatMessageResponse = ChatMessageSendResponse.from(chatMessage);
225-
simpMessageSendingOperations.convertAndSend("/topic/chat/" + roomId, chatMessageResponse);
226-
}
227-
228-
private String generateThumbnailUrl(String originalUrl) {
229-
try {
230-
String fileName = originalUrl.substring(originalUrl.lastIndexOf('/') + 1);
231-
232-
String nameWithoutExt = fileName.substring(0, fileName.lastIndexOf('.'));
233-
String extension = fileName.substring(fileName.lastIndexOf('.'));
234-
235-
String thumbnailFileName = nameWithoutExt + "_thumb" + extension;
236-
237-
String thumbnailUrl = originalUrl.replace("chat/images/", "chat/thumbnails/")
238-
.replace(fileName, thumbnailFileName);
239-
240-
return thumbnailUrl;
241-
242-
} catch (Exception e) {
243-
return originalUrl;
244-
}
245-
}
246-
247198
@Transactional
248199
public Long createMentoringChatRoom(Long mentoringId, Long mentorId, Long menteeId) {
249200
ChatRoom existingChatRoom = chatRoomRepository.findByMentoringId(mentoringId);

src/main/java/com/example/solidconnection/s3/controller/S3Controller.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import com.example.solidconnection.s3.dto.UploadedFileUrlResponse;
66
import com.example.solidconnection.s3.dto.urlPrefixResponse;
77
import com.example.solidconnection.s3.service.S3Service;
8-
import java.util.List;
98
import lombok.RequiredArgsConstructor;
109
import org.springframework.beans.factory.annotation.Value;
1110
import org.springframework.http.ResponseEntity;
@@ -69,14 +68,6 @@ public ResponseEntity<UploadedFileUrlResponse> uploadLanguageImage(
6968
return ResponseEntity.ok(profileImageUrl);
7069
}
7170

72-
@PostMapping("/chat")
73-
public ResponseEntity<List<UploadedFileUrlResponse>> uploadChatImage(
74-
@RequestParam("files") List<MultipartFile> imageFiles
75-
) {
76-
List<UploadedFileUrlResponse> chatImageUrls = s3Service.uploadFiles(imageFiles, ImgType.CHAT);
77-
return ResponseEntity.ok(chatImageUrls);
78-
}
79-
8071
@GetMapping("/s3-url-prefix")
8172
public ResponseEntity<urlPrefixResponse> getS3UrlPrefix() {
8273
return ResponseEntity.ok(new urlPrefixResponse(s3Default, s3Uploaded, cloudFrontDefault, cloudFrontUploaded));

src/main/java/com/example/solidconnection/s3/domain/ImgType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
@Getter
66
public enum ImgType {
7-
PROFILE("profile"), GPA("gpa"), LANGUAGE_TEST("language"), COMMUNITY("community"), NEWS("news"), CHAT("chat");
7+
PROFILE("profile"), GPA("gpa"), LANGUAGE_TEST("language"), COMMUNITY("community"), NEWS("news");
88

99
private final String type;
1010

src/main/java/com/example/solidconnection/s3/service/S3Service.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
public class S3Service {
3636

3737
private static final Logger log = LoggerFactory.getLogger(S3Service.class);
38-
private static final long MAX_FILE_SIZE_MB = 1024 * 1024 * 5;
38+
private static final long MAX_FILE_SIZE_MB = 1024 * 1024 * 3;
3939

4040
private final AmazonS3Client amazonS3;
4141
private final SiteUserRepository siteUserRepository;
@@ -52,8 +52,8 @@ public class S3Service {
5252
* - 파일에 대한 메타 데이터를 생성한다.
5353
* - 임의의 랜덤한 문자열로 파일 이름을 생성한다.
5454
* - S3에 파일을 업로드한다.
55-
* - 5mb 이상의 파일은 /origin/ 경로로 업로드하여 lambda 함수로 리사이징 진행한다.
56-
* - 5mb 미만의 파일은 바로 업로드한다.
55+
* - 3mb 이상의 파일은 /origin/ 경로로 업로드하여 lambda 함수로 리사이징 진행한다.
56+
* - 3mb 미만의 파일은 바로 업로드한다.
5757
* */
5858
public UploadedFileUrlResponse uploadFile(MultipartFile multipartFile, ImgType imageFile) {
5959
// 파일 검증

0 commit comments

Comments
 (0)