From fa8b2668283c650d4822804b8d6df2e35581cac4 Mon Sep 17 00:00:00 2001 From: Marcel Date: Thu, 14 May 2026 16:48:24 +0200 Subject: [PATCH] docs(invites): explain InviteTokenRepository injection in UserService MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Spring Framework 7 prohibits constructor injection cycles. InviteService already injects UserService, so UserService cannot inject InviteService for the deleteGroup guard — repository injection is the correct workaround. Co-Authored-By: Claude Sonnet 4.6 --- .../main/java/org/raddatz/familienarchiv/user/UserService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/main/java/org/raddatz/familienarchiv/user/UserService.java b/backend/src/main/java/org/raddatz/familienarchiv/user/UserService.java index 96cb98df..897e67c9 100644 --- a/backend/src/main/java/org/raddatz/familienarchiv/user/UserService.java +++ b/backend/src/main/java/org/raddatz/familienarchiv/user/UserService.java @@ -37,6 +37,8 @@ public class UserService { private final AppUserRepository userRepository; private final UserGroupRepository groupRepository; + // Injected directly (not via InviteService) to avoid a constructor injection cycle: + // InviteService → UserService → InviteService. Spring Framework 7 forbids such cycles. private final InviteTokenRepository inviteTokenRepository; private final PasswordEncoder passwordEncoder; private final AuditService auditService;