refactored UserService to reuse functionality
This commit is contained in:
parent
28a15296f7
commit
9ba71056ce
@ -90,16 +90,10 @@ public class DefaultUserService extends AbstractTbEntityService implements TbUse
|
||||
public UserActivationLink getActivationLink(TenantId tenantId, CustomerId customerId, UserId userId, HttpServletRequest request) throws ThingsboardException {
|
||||
UserCredentials userCredentials = userService.findUserCredentialsByUserId(tenantId, userId);
|
||||
if (!userCredentials.isEnabled() && userCredentials.getActivateToken() != null) {
|
||||
long ttl = userCredentials.getActivationTokenTtl();
|
||||
if (ttl < TimeUnit.MINUTES.toMillis(15)) { // renew link if less than 15 minutes before expiration
|
||||
userCredentials = userService.generateUserActivationToken(userCredentials);
|
||||
userCredentials = userService.saveUserCredentials(tenantId, userCredentials);
|
||||
ttl = userCredentials.getActivationTokenTtl();
|
||||
log.debug("[{}][{}] Regenerated expired user activation token", tenantId, userId);
|
||||
}
|
||||
userCredentials = userService.refreshUserActivationToken(tenantId, userCredentials);
|
||||
String baseUrl = systemSecurityService.getBaseUrl(tenantId, customerId, request);
|
||||
String link = baseUrl + "/api/noauth/activate?activateToken=" + userCredentials.getActivateToken();
|
||||
return new UserActivationLink(link, ttl);
|
||||
return new UserActivationLink(link, userCredentials.getActivationTokenTtl());
|
||||
} else {
|
||||
throw new ThingsboardException("User is already activated!", ThingsboardErrorCode.BAD_REQUEST_PARAMS);
|
||||
}
|
||||
|
||||
@ -63,6 +63,8 @@ public interface UserService extends EntityDaoService {
|
||||
|
||||
UserCredentials generateUserActivationToken(UserCredentials userCredentials);
|
||||
|
||||
UserCredentials refreshUserActivationToken(TenantId tenantId, UserCredentials userCredentials);
|
||||
|
||||
UserCredentials replaceUserCredentials(TenantId tenantId, UserCredentials userCredentials);
|
||||
|
||||
void deleteUser(TenantId tenantId, User user);
|
||||
|
||||
@ -300,6 +300,16 @@ public class UserServiceImpl extends AbstractCachedEntityService<UserCacheKey, U
|
||||
return userCredentials;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserCredentials refreshUserActivationToken(TenantId tenantId, UserCredentials userCredentials) {
|
||||
if (userCredentials.getActivationTokenTtl() < TimeUnit.MINUTES.toMillis(15)) { // renew link if less than 15 minutes before expiration
|
||||
userCredentials = generateUserActivationToken(userCredentials);
|
||||
userCredentials = saveUserCredentials(tenantId, userCredentials);
|
||||
}
|
||||
log.debug("[{}][{}] Regenerated expired user activation token", tenantId, userCredentials.getUserId());
|
||||
return userCredentials;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserCredentials replaceUserCredentials(TenantId tenantId, UserCredentials userCredentials) {
|
||||
log.trace("Executing replaceUserCredentials [{}]", userCredentials);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user