Revert "Disable post viewed and user activity notifications by default"

This reverts commit aea4f59af7.
This commit is contained in:
Tim
2025-08-12 17:31:01 +08:00
parent 4dedb70d54
commit bda4b24cf0
3 changed files with 2 additions and 85 deletions

View File

@@ -1,39 +0,0 @@
package com.openisle.config;
import com.openisle.model.NotificationType;
import com.openisle.model.User;
import com.openisle.repository.UserRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Set;
/**
* Ensure default notification preferences are applied to existing users.
*/
@Component
@RequiredArgsConstructor
public class NotificationPreferenceInitializer implements CommandLineRunner {
private final UserRepository userRepository;
@Override
public void run(String... args) {
List<User> users = userRepository.findAll();
for (User user : users) {
Set<NotificationType> disabled = user.getDisabledNotificationTypes();
boolean changed = false;
if (disabled.add(NotificationType.POST_VIEWED)) {
changed = true;
}
if (disabled.add(NotificationType.USER_ACTIVITY)) {
changed = true;
}
if (changed) {
userRepository.save(user);
}
}
}
}

View File

@@ -7,7 +7,7 @@ import lombok.Setter;
import org.hibernate.annotations.CreationTimestamp;
import java.time.LocalDateTime;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Set;
/**
@@ -68,10 +68,7 @@ public class User {
@CollectionTable(name = "user_disabled_notification_types", joinColumns = @JoinColumn(name = "user_id"))
@Column(name = "notification_type")
@Enumerated(EnumType.STRING)
private Set<NotificationType> disabledNotificationTypes = EnumSet.of(
NotificationType.POST_VIEWED,
NotificationType.USER_ACTIVITY
);
private Set<NotificationType> disabledNotificationTypes = new HashSet<>();
@CreationTimestamp
@Column(nullable = false, updatable = false,