refac: hardening pass with multiple overhauls

This commit is contained in:
fsylvain committed 2026-09-29 10:55:23 +02:00
1 parent b0f7b7892b
commit da36c78bc0
28 files changed
+1375 -39

No files matched your search

@@ -34,6 +34,9 @@ func (a *AcceptInviteUseCase) AcceptInvite(command AcceptInviteCommand) (user.Us
}
if a.emailHasAccount(pending.Email) {
if _, err := findUsableInvite(a.inviteRepository, a.hasher, command.Code, now); err != nil {
return user.User{}, err
}
return user.User{}, invite.ErrEmailHasAccount
}
@@ -46,20 +49,16 @@ func (a *AcceptInviteUseCase) AcceptInvite(command AcceptInviteCommand) (user.Us
return user.User{}, err
}
createdUser, err := a.userRepository.Create(user.User{
createdUser, err := a.inviteRepository.AcceptWithUser(pending.ID, now, user.User{
Username: command.Username,
Password: hashedPassword,
Email: pending.Email,
IsVerified: true,
})
if err != nil {
return user.User{}, err
if errors.Is(err, invite.ErrInviteNotFound) {
return user.User{}, invite.ErrInviteInvalid
}
if err := a.inviteRepository.MarkAccepted(pending.ID, now); err != nil {
if deleteErr := a.userRepository.Delete(createdUser.ID); deleteErr != nil {
return user.User{}, errors.Join(err, deleteErr)
}
if err != nil {
return user.User{}, err
}