improving logical flow of transactions & onboarding

This commit is contained in:
2025-10-27 23:18:47 +02:00
parent b5e891afed
commit 506d8a8e41
9 changed files with 61 additions and 25 deletions

View File

@@ -22,6 +22,7 @@ public class UserService implements UserDetailsService {
private final UserRepository userRepository;
private final PasswordEncoder passwordEncoder;
private final JwtUtils jwtUtils;
private final TransactionService transactionService;
public User fetchUserByUsername(String username) {
return userRepository.findByUsername(username)
@@ -52,10 +53,19 @@ public class UserService implements UserDetailsService {
user.setPhone(request.getPhone());
user.setWorkflowId(request.getWorkflowId());
user.setPhotoUrl(request.getPhotoUrl());
user.setDeleted(false);
User savedUser = userRepository.save(user);
String token = jwtUtils.generateToken(savedUser);
// reassign anonymous transactions to the new user
// if we fail we move on, not a critical step
try {
transactionService.reassignTransactions(request.getTempUid(), savedUser.getId().toString());
}catch (Exception e) {
e.printStackTrace();
}
return new AuthResponse(token, "Bearer", savedUser.getUsername(),
savedUser.getEmail(), savedUser.getPhone(), savedUser.getFirstName(), savedUser.getLastName(), savedUser.getId());
}