Commit a3a17dc8282a2a955f1e0b027234367339a2f1a7

Authored by ShvaykaD
Committed by GitHub
1 parent 2a1c55f0

add sendActivationEmail as request param (default -> true) to activate method in…

… auth controller and login service (#2597)
@@ -199,6 +199,7 @@ public class AuthController extends BaseController { @@ -199,6 +199,7 @@ public class AuthController extends BaseController {
199 @ResponseBody 199 @ResponseBody
200 public JsonNode activateUser( 200 public JsonNode activateUser(
201 @RequestBody JsonNode activateRequest, 201 @RequestBody JsonNode activateRequest,
  202 + @RequestParam(required = false, defaultValue = "true") boolean sendActivationMail,
202 HttpServletRequest request) throws ThingsboardException { 203 HttpServletRequest request) throws ThingsboardException {
203 try { 204 try {
204 String activateToken = activateRequest.get("activateToken").asText(); 205 String activateToken = activateRequest.get("activateToken").asText();
@@ -213,10 +214,12 @@ public class AuthController extends BaseController { @@ -213,10 +214,12 @@ public class AuthController extends BaseController {
213 String loginUrl = String.format("%s/login", baseUrl); 214 String loginUrl = String.format("%s/login", baseUrl);
214 String email = user.getEmail(); 215 String email = user.getEmail();
215 216
216 - try {  
217 - mailService.sendAccountActivatedEmail(loginUrl, email);  
218 - } catch (Exception e) {  
219 - log.info("Unable to send account activation email [{}]", e.getMessage()); 217 + if (sendActivationMail) {
  218 + try {
  219 + mailService.sendAccountActivatedEmail(loginUrl, email);
  220 + } catch (Exception e) {
  221 + log.info("Unable to send account activation email [{}]", e.getMessage());
  222 + }
220 } 223 }
221 224
222 JwtToken accessToken = tokenFactory.createAccessJwtToken(securityUser); 225 JwtToken accessToken = tokenFactory.createAccessJwtToken(securityUser);
@@ -85,9 +85,12 @@ function LoginService($http, $q) { @@ -85,9 +85,12 @@ function LoginService($http, $q) {
85 return deferred.promise; 85 return deferred.promise;
86 } 86 }
87 87
88 - function activate(activateToken, password) { 88 + function activate(activateToken, password, sendActivationMail) {
89 var deferred = $q.defer(); 89 var deferred = $q.defer();
90 var url = '/api/noauth/activate'; 90 var url = '/api/noauth/activate';
  91 + if(sendActivationMail === true || sendActivationMail === false) {
  92 + url += '?sendActivationMail=' + sendActivationMail;
  93 + }
91 $http.post(url, {activateToken: activateToken, password: password}).then(function success(response) { 94 $http.post(url, {activateToken: activateToken, password: password}).then(function success(response) {
92 deferred.resolve(response); 95 deferred.resolve(response);
93 }, function fail() { 96 }, function fail() {