refactor(notification): move notification domain to package org.raddatz.familienarchiv.notification

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-05 11:24:20 +02:00
parent 0ad3f3e58d
commit a39fd9928c
12 changed files with 38 additions and 28 deletions

View File

@@ -1,10 +1,11 @@
package org.raddatz.familienarchiv.model;
package org.raddatz.familienarchiv.notification;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.annotations.CreationTimestamp;
import org.raddatz.familienarchiv.model.AppUser;
import java.time.LocalDateTime;
import java.util.UUID;

View File

@@ -1,16 +1,16 @@
package org.raddatz.familienarchiv.controller;
package org.raddatz.familienarchiv.notification;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import lombok.RequiredArgsConstructor;
import io.swagger.v3.oas.annotations.Parameter;
import org.raddatz.familienarchiv.dto.NotificationDTO;
import org.raddatz.familienarchiv.dto.NotificationPreferenceDTO;
import org.raddatz.familienarchiv.notification.NotificationDTO;
import org.raddatz.familienarchiv.notification.NotificationPreferenceDTO;
import org.raddatz.familienarchiv.model.AppUser;
import org.raddatz.familienarchiv.model.NotificationType;
import org.raddatz.familienarchiv.notification.NotificationType;
import org.raddatz.familienarchiv.security.Permission;
import org.raddatz.familienarchiv.security.RequirePermission;
import org.raddatz.familienarchiv.service.NotificationService;
import org.raddatz.familienarchiv.notification.NotificationService;
import org.raddatz.familienarchiv.service.SseEmitterRegistry;
import org.raddatz.familienarchiv.service.UserService;
import org.springframework.data.domain.Page;

View File

@@ -1,7 +1,7 @@
package org.raddatz.familienarchiv.dto;
package org.raddatz.familienarchiv.notification;
import io.swagger.v3.oas.annotations.media.Schema;
import org.raddatz.familienarchiv.model.NotificationType;
import org.raddatz.familienarchiv.notification.NotificationType;
import java.time.LocalDateTime;
import java.util.UUID;

View File

@@ -1,3 +1,3 @@
package org.raddatz.familienarchiv.dto;
package org.raddatz.familienarchiv.notification;
public record NotificationPreferenceDTO(boolean notifyOnReply, boolean notifyOnMention) {}

View File

@@ -1,7 +1,7 @@
package org.raddatz.familienarchiv.repository;
package org.raddatz.familienarchiv.notification;
import org.raddatz.familienarchiv.model.Notification;
import org.raddatz.familienarchiv.model.NotificationType;
import org.raddatz.familienarchiv.notification.Notification;
import org.raddatz.familienarchiv.notification.NotificationType;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

View File

@@ -1,15 +1,18 @@
package org.raddatz.familienarchiv.service;
package org.raddatz.familienarchiv.notification;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.raddatz.familienarchiv.dto.NotificationDTO;
import org.raddatz.familienarchiv.notification.NotificationDTO;
import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.AppUser;
import org.raddatz.familienarchiv.model.DocumentComment;
import org.raddatz.familienarchiv.model.Notification;
import org.raddatz.familienarchiv.model.NotificationType;
import org.raddatz.familienarchiv.repository.NotificationRepository;
import org.raddatz.familienarchiv.service.DocumentService;
import org.raddatz.familienarchiv.service.SseEmitterRegistry;
import org.raddatz.familienarchiv.service.UserService;
import org.raddatz.familienarchiv.notification.Notification;
import org.raddatz.familienarchiv.notification.NotificationType;
import org.raddatz.familienarchiv.notification.NotificationRepository;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model;
package org.raddatz.familienarchiv.notification;
public enum NotificationType {
REPLY,

View File

@@ -10,6 +10,7 @@ import org.raddatz.familienarchiv.model.AppUser;
import org.raddatz.familienarchiv.model.DocumentComment;
import org.raddatz.familienarchiv.model.TranscriptionBlock;
import org.raddatz.familienarchiv.repository.CommentRepository;
import org.raddatz.familienarchiv.notification.NotificationService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,15 +1,15 @@
package org.raddatz.familienarchiv.controller;
package org.raddatz.familienarchiv.notification;
import org.junit.jupiter.api.Test;
import org.raddatz.familienarchiv.config.SecurityConfig;
import org.raddatz.familienarchiv.dto.NotificationDTO;
import org.raddatz.familienarchiv.notification.NotificationDTO;
import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.AppUser;
import org.raddatz.familienarchiv.model.NotificationType;
import org.raddatz.familienarchiv.notification.NotificationType;
import org.raddatz.familienarchiv.security.PermissionAspect;
import org.raddatz.familienarchiv.service.CustomUserDetailsService;
import org.raddatz.familienarchiv.service.NotificationService;
import org.raddatz.familienarchiv.notification.NotificationService;
import org.raddatz.familienarchiv.service.SseEmitterRegistry;
import org.raddatz.familienarchiv.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,12 +1,13 @@
package org.raddatz.familienarchiv.repository;
package org.raddatz.familienarchiv.notification;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.raddatz.familienarchiv.PostgresContainerConfig;
import org.raddatz.familienarchiv.config.FlywayConfig;
import org.raddatz.familienarchiv.model.AppUser;
import org.raddatz.familienarchiv.model.Notification;
import org.raddatz.familienarchiv.model.NotificationType;
import org.raddatz.familienarchiv.notification.Notification;
import org.raddatz.familienarchiv.notification.NotificationType;
import org.raddatz.familienarchiv.repository.AppUserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase;
import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service;
package org.raddatz.familienarchiv.notification;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -6,10 +6,13 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.raddatz.familienarchiv.dto.NotificationDTO;
import org.raddatz.familienarchiv.notification.NotificationDTO;
import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.repository.NotificationRepository;
import org.raddatz.familienarchiv.notification.NotificationRepository;
import org.raddatz.familienarchiv.service.DocumentService;
import org.raddatz.familienarchiv.service.SseEmitterRegistry;
import org.raddatz.familienarchiv.service.UserService;
import org.springframework.data.domain.PageImpl;
import org.springframework.mail.MailException;
import org.springframework.mail.MailSendException;

View File

@@ -13,6 +13,7 @@ import org.raddatz.familienarchiv.model.DocumentComment;
import org.raddatz.familienarchiv.model.TranscriptionBlock;
import org.raddatz.familienarchiv.model.UserGroup;
import org.raddatz.familienarchiv.repository.CommentRepository;
import org.raddatz.familienarchiv.notification.NotificationService;
import java.time.LocalDateTime;
import java.util.List;