use of com.networknt.eventuate.common.EventHandlerMethod in project light-portal by networknt.
the class UserQueryWorkflow method create.
@EventHandlerMethod
public void create(DispatchedEvent<UserSignUpEvent> de) {
UserSignUpEvent event = de.getEvent();
String id = de.getEntityId();
UserDto userDto = event.getUserDto();
Int128 eventId = de.getEventId();
logger.info("**************** account version={}, {}", id, eventId);
String json = JSonMapper.toJson(userDto);
try {
User user = service.fromUserDto(userDto, id);
service.signup(user, userDto.getPassword(), true);
// TODO remove the following implemetation after confirm email implemented
Optional<ConfirmationToken> token = user.getConfirmationTokens().stream().findFirst();
if (token.isPresent()) {
// TODO send email
System.out.println("Link in the email:\n" + "http://localhost:8081/v1/user/token/" + user.getId() + "?token=" + token.get().getId());
}
} catch (Exception e) {
System.out.println("error:" + e.getMessage());
logger.error("user signup failed:", userDto + " error:" + e.getMessage());
// TODO handler excption, add log info?
}
}
use of com.networknt.eventuate.common.EventHandlerMethod in project light-portal by networknt.
the class UserQueryWorkflow method update.
@EventHandlerMethod
public void update(DispatchedEvent<UserUpdatedEvent> de) {
String id = de.getEntityId();
UserDto user = de.getEvent().getUserDto();
User userResult = null;
try {
if (user.isEmailChange()) {
userResult = service.changeEmail(id, user.getContactData().getEmail());
} else if (user.isPasswordReset()) {
userResult = service.changePassword(id, user.getPassword());
} else if (user.isScreenNameChange()) {
userResult = service.changeScreenName(id, user.getScreenName());
} else {
userResult = service.fromUserDto(user);
userResult.setId(id);
userResult = service.update(userResult);
}
} catch (NoSuchUserException e) {
logger.info("No Such User Error", id, e.getMessage());
} catch (InvalidEmailException e) {
logger.info("Invalid Email Error", id, e.getMessage());
} catch (Exception e) {
logger.info("Error on update user:", id, e.getMessage());
}
}
use of com.networknt.eventuate.common.EventHandlerMethod in project light-portal by networknt.
the class UserQueryWorkflow method action.
@EventHandlerMethod
public void action(DispatchedEvent<UserConfirmedEvent> de) {
String id = de.getEntityId();
String token = de.getEvent().getTokenId();
System.out.println("token:" + token);
try {
User user = service.confirmEmail(token);
} catch (Exception e) {
logger.info("Error on active user:", id, e.getMessage());
}
}
Aggregations