Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import com.haru.api.domain.userWorkspace.entity.enums.Auth;
import com.haru.api.domain.userWorkspace.repository.UserWorkspaceRepository;
import com.haru.api.domain.workspace.entity.Workspace;
import com.haru.api.domain.workspace.repository.WorkspaceRepository;
import com.haru.api.global.annotation.DeleteDocument;
import com.haru.api.global.annotation.UpdateDocumentTitle;
import com.haru.api.global.apiPayload.code.status.ErrorStatus;
Expand Down Expand Up @@ -55,6 +56,7 @@ public class MoodTrackerCommandServiceImpl implements MoodTrackerCommandService
private final HashIdUtil hashIdUtil;

private final UserDocumentLastOpenedService userDocumentLastOpenedService;
private final WorkspaceRepository workspaceRepository;

/**
* λΆ„μœ„κΈ° 트래컀 생성
Expand All @@ -67,8 +69,11 @@ public MoodTrackerResponseDTO.CreateResult create(
MoodTrackerRequestDTO.CreateRequest request
) {

Workspace foundWorkspace = workspaceRepository.findById(workspace.getId())
.orElseThrow(() -> new WorkspaceHandler(ErrorStatus.WORKSPACE_NOT_FOUND));

// λΆ„μœ„κΈ° 트래컀 생성 및 μ €μž₯
MoodTracker moodTracker = MoodTrackerConverter.toMoodTracker(request, user, workspace);
MoodTracker moodTracker = MoodTrackerConverter.toMoodTracker(request, user, foundWorkspace);
MoodTracker savedMoodTracker = moodTrackerRepository.save(moodTracker);

// 선택지 생성 및 μ €μž₯
Expand All @@ -90,7 +95,7 @@ public MoodTrackerResponseDTO.CreateResult create(

// mood tracker 생성 μ‹œ μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ— μ†ν•΄μžˆλŠ” λͺ¨λ“  μœ μ €μ— λŒ€ν•΄
// last opened ν…Œμ΄λΈ”μ— λ§ˆμ§€λ§‰μœΌλ‘œ μ—° μ‹œκ°„μ€ nullλ‘œν•˜μ—¬ μΆ”κ°€
List<User> usersInWorkspace = userWorkspaceRepository.findUsersByWorkspaceId(workspace.getId());
List<User> usersInWorkspace = userWorkspaceRepository.findUsersByWorkspaceId(foundWorkspace.getId());
userDocumentLastOpenedService.createInitialRecordsForWorkspaceUsers(usersInWorkspace, savedMoodTracker);

return MoodTrackerConverter.toCreateResultDTO(moodTracker, hashIdUtil);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,16 @@ public SnsEventResponseDTO.CreateSnsEventResponse createSnsEvent(
Workspace workspace,
SnsEventRequestDTO.CreateSnsRequest request
) {

Workspace foundWorkspace = workspaceRepository.findById(workspace.getId())
.orElseThrow(() -> new WorkspaceHandler(WORKSPACE_NOT_FOUND));

// SNS 이벀트 생성 및 μ €μž₯
SnsEvent createdSnsEvent = SnsEventConverter.toSnsEvent(request, user);
createdSnsEvent.setWorkspace(workspace);
createdSnsEvent.setWorkspace(foundWorkspace);

// Instagram API 호좜 ν›„ μ°Έμ—¬μž 리슀트, λ‹Ήμ²¨μž 리슀트 생성 및 μ €μž₯
String accessToken = workspace.getInstagramAccessToken();
String accessToken = foundWorkspace.getInstagramAccessToken();
if (accessToken == null || accessToken.isEmpty()) {
throw new SnsEventHandler(SNS_EVENT_NO_ACCESS_TOKEN);
}
Expand Down Expand Up @@ -153,7 +157,7 @@ public SnsEventResponseDTO.CreateSnsEventResponse createSnsEvent(

// sns event 생성 μ‹œ μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ— μ†ν•΄μžˆλŠ” λͺ¨λ“  μœ μ €μ— λŒ€ν•΄
// last opened ν…Œμ΄λΈ”μ— λ§ˆμ§€λ§‰μœΌλ‘œ μ—° μ‹œκ°„μ€ nullλ‘œν•˜μ—¬ μΆ”κ°€
List<User> usersInWorkspace = userWorkspaceRepository.findUsersByWorkspaceId(workspace.getId());
List<User> usersInWorkspace = userWorkspaceRepository.findUsersByWorkspaceId(foundWorkspace.getId());
userDocumentLastOpenedService.createInitialRecordsForWorkspaceUsers(usersInWorkspace, savedSnsEvent);

return SnsEventResponseDTO.CreateSnsEventResponse.builder()
Expand Down Expand Up @@ -237,9 +241,12 @@ public void deleteSnsEvent(
if (!foundUserWorkspace.getUser().getId().equals(user.getId()) || !snsEvent.getCreator().getId().equals(user.getId())) {
throw new SnsEventHandler(SNS_EVENT_NO_AUTHORITY);
}
snsEventRepository.delete(snsEvent);

// S3의 λ¬Έμ„œ 및 썸넀일 이미지 μ‚­μ œ
deleteS3FileAndThumnailImage(snsEvent);

snsEventRepository.delete(snsEvent);

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ public class Workspace extends BaseEntity {
@Column(length = 50)
private String instagramAccountName;

@OneToMany(mappedBy = "workspace", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(mappedBy = "workspace", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<Meeting> meetingList = new ArrayList<>();

@OneToMany(mappedBy = "workspace", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(mappedBy = "workspace", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<SnsEvent> snsEventList = new ArrayList<>();

@OneToMany(mappedBy = "workspace", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@OneToMany(mappedBy = "workspace", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<MoodTracker> moodTrackerList = new ArrayList<>();

public void updateTitle(String title) {
Expand Down