Class AccountMergingService

java.lang.Object
org.localify.auth.AccountMergingService

@Service @Transactional public class AccountMergingService extends Object
Service for handling account merging operations.
  • Constructor Details

    • AccountMergingService

      @Autowired public AccountMergingService(AccountMergeTokenRepository accountMergeTokenRepository, UserRepository userRepository, UserSeedRepository userSeedRepository, UserCityRepository userCityRepository, UserFavoriteArtistRepository userFavoriteArtistRepository, UserFavoriteEventRepository userFavoriteEventRepository, UserFavoriteVenueRepository userFavoriteVenueRepository)
      Constructs a new AccountMergingService.
      Parameters:
      accountMergeTokenRepository - The repository for account merge tokens.
      userRepository - The repository for users.
      userSeedRepository - The repository for user seed artists.
      userCityRepository - The repository for user cities.
      userFavoriteArtistRepository - The repository for user favorite artists.
      userFavoriteEventRepository - The repository for user favorite events.
      userFavoriteVenueRepository - The repository for user favorite venues.
  • Method Details

    • createToken

      public AccountMergeToken createToken(User fromUser, User toUser)
      Creates a new account merge token.
      Parameters:
      fromUser - The user account to merge from.
      toUser - The user account to merge to.
      Returns:
      The created account merge token.
    • doMergeUsers

      @Transactional public User doMergeUsers(User fromUser, User toUser, boolean changeEmail)
      Merges two user accounts.
      Parameters:
      fromUser - The user account to merge from.
      toUser - The user account to merge to.
      changeEmail - Whether to change the email of the target account.
      Returns:
      The merged user account.
    • mergeAccounts

      public User mergeAccounts(UUID toUserId, AccountMergeRequest mergeRequest)
      Merges two user accounts based on a merge request.
      Parameters:
      toUserId - The ID of the user account to merge to.
      mergeRequest - The account merge request.
      Returns:
      The merged user account.
    • getMergeableAccount

      public MergeableAccount getMergeableAccount(UUID userId, String authToken)
      Gets a mergeable account based on an auth token.
      Parameters:
      userId - The ID of the user.
      authToken - The auth token.
      Returns:
      The mergeable account.