Skip to content

Commit 2a993aa

Browse files
committed
CLAP-294 Refactor: sse 알림 폼 및 전송을 담당하는 SendSseService 구현
<footer> - 관련: #350
1 parent 803c3d4 commit 2a993aa

File tree

3 files changed

+29
-12
lines changed

3 files changed

+29
-12
lines changed

src/main/java/clap/server/adapter/outbound/infrastructure/sse/SendSseService.java renamed to src/main/java/clap/server/adapter/outbound/infrastructure/sse/SseEventEmitter.java

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

1212
@InfrastructureAdapter
1313
@RequiredArgsConstructor
14-
public class SendSseService implements SendSsePort {
14+
public class SseEventEmitter implements SendSsePort {
1515

1616
private final EmitterRepository emitterRepository;
1717

src/main/java/clap/server/application/service/webhook/SendNotificationService.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package clap.server.application.service.webhook;
22

3-
import clap.server.adapter.inbound.web.dto.notification.request.SseRequest;
43
import clap.server.adapter.outbound.api.dto.PushNotificationTemplate;
54
import clap.server.adapter.outbound.persistense.entity.notification.constant.NotificationType;
65
import clap.server.application.port.outbound.notification.CommandNotificationPort;
7-
import clap.server.application.port.outbound.webhook.SendSsePort;
86
import clap.server.common.annotation.architecture.ApplicationService;
97
import clap.server.domain.model.member.Member;
108
import clap.server.domain.model.notification.Notification;
@@ -20,7 +18,7 @@
2018
@RequiredArgsConstructor
2119
public class SendNotificationService {
2220

23-
private final SendSsePort sendSsePort;
21+
private final SendSseService sendSseService;
2422
private final SendAgitService sendAgitService;
2523
private final SendWebhookEmailService sendWebhookEmailService;
2624
private final SendKaKaoWorkService sendKaKaoWorkService;
@@ -35,13 +33,6 @@ public void sendPushNotification(Member receiver, NotificationType notificationT
3533

3634
Notification notification = createTaskNotification(task, receiver, notificationType, message, taskTitle);
3735

38-
SseRequest sseRequest = new SseRequest(
39-
taskTitle,
40-
notificationType,
41-
receiver.getMemberId(),
42-
message
43-
);
44-
4536
PushNotificationTemplate pushNotificationTemplate = new PushNotificationTemplate(
4637
email, notificationType, taskTitle, requesterNickname, message, commenterName
4738
);
@@ -51,7 +42,7 @@ public void sendPushNotification(Member receiver, NotificationType notificationT
5142
});
5243

5344
CompletableFuture<Void> sendSseFuture = CompletableFuture.runAsync(() -> {
54-
sendSsePort.send(sseRequest);
45+
sendSseService.send(receiver, notificationType, task, message);
5546
});
5647

5748
CompletableFuture<Void> sendEmailFuture = CompletableFuture.runAsync(() -> {
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package clap.server.application.service.webhook;
2+
3+
import clap.server.adapter.inbound.web.dto.notification.request.SseRequest;
4+
import clap.server.adapter.outbound.persistense.entity.notification.constant.NotificationType;
5+
import clap.server.application.port.outbound.webhook.SendSsePort;
6+
import clap.server.domain.model.member.Member;
7+
import clap.server.domain.model.task.Task;
8+
import lombok.RequiredArgsConstructor;
9+
import org.springframework.stereotype.Service;
10+
11+
@Service
12+
@RequiredArgsConstructor
13+
public class SendSseService {
14+
private final SendSsePort sendSsePort;
15+
16+
public void send(Member receiver, NotificationType notificationType,
17+
Task task, String message) {
18+
SseRequest sseRequest = new SseRequest(
19+
task.getTitle(),
20+
notificationType,
21+
receiver.getMemberId(),
22+
message
23+
);
24+
sendSsePort.send(sseRequest);
25+
}
26+
}

0 commit comments

Comments
 (0)