Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -163,22 +163,41 @@ public void deleteMeeting(User user, Meeting meeting) {
markdownFileUploader.deleteS3File(foundMeeting.getProceedingWordKeyName());
markdownFileUploader.deleteS3File(foundMeeting.getAudioFileKey());


List<SpeechSegment> segmentsToDelete = speechSegmentRepository.findByMeeting(foundMeeting);

speechSegmentRepository.deleteAll(segmentsToDelete);

meetingRepository.delete(foundMeeting);
}

@Override
@Transactional
public void adjustProceeding(User user, Meeting meeting, MeetingRequestDTO.meetingProceedingRequest newProceeding){
Meeting foundMeeting = meetingRepository.findById(meeting.getId())
.orElseThrow(() -> new MeetingHandler(ErrorStatus.MEETING_NOT_FOUND));

UserWorkspace foundUserWorkspace = userWorkspaceRepository.findByUserIdAndWorkspaceId(user.getId(), meeting.getWorkspace().getId())
UserWorkspace foundUserWorkspace = userWorkspaceRepository.findByUserIdAndWorkspaceId(user.getId(), foundMeeting.getWorkspace().getId())
.orElseThrow(() -> new UserWorkspaceHandler(ErrorStatus.USER_WORKSPACE_NOT_FOUND));

if (!meeting.getCreator().getId().equals(user.getId()) && !foundUserWorkspace.getAuth().equals(Auth.ADMIN)) {
if (!foundMeeting.getCreator().getId().equals(user.getId()) && !foundUserWorkspace.getAuth().equals(Auth.ADMIN)) {
throw new MemberHandler(ErrorStatus.MEMBER_NO_AUTHORITY);
}
String editedProceeding = newProceeding.getProceeding();
foundMeeting.updateProceeding(editedProceeding);
try {
// ์ƒ์„ฑ๋œ PDF๋ฅผ S3์— ์—…๋กœ๋“œ
String pdfKey = markdownFileUploader.createOrUpdatePdf(editedProceeding, "meeting/pdf", meeting.getProceedingPdfKeyName(), meeting.getTitle());
String wordKey = markdownFileUploader.createOrUpdateWord(editedProceeding, "meeting/word", meeting.getProceedingWordKeyName(), meeting.getTitle());

meeting.updateProceeding(newProceeding.getProceeding());
meetingRepository.save(meeting);
// ์ธ๋„ค์ผ ์ƒ์„ฑ ๋ฐ ์—…๋ฐ์ดํŠธ
String newThumbnailKey = markdownFileUploader.createOrUpdateThumbnail(pdfKey, "meeting" + meeting.getId(), meeting.getThumbnailKeyName());
log.info("ํšŒ์˜๋ก ์ธ๋„ค์ผ ์ƒ์„ฑ/์—…๋ฐ์ดํŠธ ์™„๋ฃŒ. Key: {}", newThumbnailKey);

} catch (Exception e) {
log.error("meetingId: {}์˜ PDF ๋˜๋Š” ์ธ๋„ค์ผ ์ƒ์„ฑ/์—…๋กœ๋“œ ์ค‘ ์—๋Ÿฌ ๋ฐœ์ƒ", meeting.getId(), e);
throw new RuntimeException("ํŒŒ์ผ ๊ฐฑ์‹  ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.", e);
}

}

Expand Down