@@ -20,22 +20,21 @@ public class NotificationSetting {
2020 @ Column (name = "user_id" , unique = true , nullable = false )
2121 private UUID userId ;
2222
23- @ Column (name = "email_enabled" )
24- private Boolean emailEnabled = true ;
23+ @ Getter
24+ @ Column (name = "email_enabled" , nullable = false )
25+ private boolean emailEnabled = false ;
2526
26- @ Column (name = "schedule_reminder" )
27- private Boolean scheduleReminder = true ;
27+ @ Column (name = "schedule_reminder" , nullable = false )
28+ private boolean scheduleReminder = false ;
2829
29- @ Column (name = "payment_reminder" )
30- private Boolean paymentReminder = true ;
30+ @ Column (name = "payment_reminder" , nullable = false )
31+ private boolean paymentReminder = false ;
3132
32- @ Column (name = "checklist_reminder" )
33- private Boolean checklistReminder = true ;
33+ @ Column (name = "checklist_reminder" , nullable = false )
34+ private boolean checklistReminder = false ;
3435
35- // SSE 연결 상태
36- @ Column (name = "sse_enabled" )
37- private Boolean sseEnabled = true ;
38-
36+ @ Column (name = "sse_enabled" , nullable = false )
37+ private boolean sseEnabled = false ;
3938
4039 @ Column (name = "created_at" )
4140 private LocalDateTime createdAt = LocalDateTime .now ();
@@ -47,52 +46,34 @@ public class NotificationSetting {
4746 @ Builder
4847 public NotificationSetting (@ NonNull UUID userId ) {
4948 this .userId = userId ;
50- this .emailEnabled = true ;
51- this .scheduleReminder = true ;
52- this .paymentReminder = true ;
53- this .checklistReminder = true ;
5449 }
5550
56- public void updateEmailEnabled (Boolean emailEnabled ) {
51+ public void updateEmailEnabled (boolean emailEnabled ) {
5752 this .emailEnabled = emailEnabled ;
5853 }
5954
60- public void updateScheduleReminder (Boolean scheduleReminder ) {
55+ public void updateScheduleReminder (boolean scheduleReminder ) {
6156 this .scheduleReminder = scheduleReminder ;
6257 }
6358
64- public void updatePaymentReminder (Boolean paymentReminder ) {
59+ public void updatePaymentReminder (boolean paymentReminder ) {
6560 this .paymentReminder = paymentReminder ;
6661 }
6762
68- public void updateChecklistReminder (Boolean checklistReminder ) {
63+ public void updateChecklistReminder (boolean checklistReminder ) {
6964 this .checklistReminder = checklistReminder ;
7065 }
7166
72-
67+ public void updateSSEEnabled ( boolean sseEnabled ) { this . sseEnabled = sseEnabled ; }
7368
74- public void updateSSEEnabled (Boolean sseEnabled ) {
75- this .sseEnabled = sseEnabled ;
76- // SSE 비활성화시 연결 상태도 초기화
77- // 이 곳에 오프라인 처리가 필요하다면, 이벤트를 발행하거나
78- // ApplicationContext를 통해 OnlineStatusService를 직접 호출해야 합니다.
79- // 현재 구조에서는 엔티티가 서비스에 직접 의존하지 않는 것이 좋으므로,
80- // 이 로직은 서비스를 사용하는 상위 계층으로 이동하는 것을 권장합니다.
81- }
82-
83- // 유틸리티 메서드들
8469 public boolean isNotificationEnabled (NotificationType type ) {
8570 return switch (type ) {
86- case SCHEDULE -> scheduleReminder != null && scheduleReminder ;
87- case PAYMENT -> paymentReminder != null && paymentReminder ;
88- case CHECKLIST -> checklistReminder != null && checklistReminder ;
71+ case SCHEDULE -> scheduleReminder ;
72+ case PAYMENT -> paymentReminder ;
73+ case CHECKLIST -> checklistReminder ;
8974 };
9075 }
9176
92- public boolean isEmailEnabled () {
93- return emailEnabled != null && emailEnabled ;
94- }
95-
9677 public boolean isEmailEnabledForType (NotificationType type ) {
9778 return isEmailEnabled () && isNotificationEnabled (type );
9879 }
0 commit comments