-
Notifications
You must be signed in to change notification settings - Fork 0
/
UserServiceImpl.java
30 lines (24 loc) · 1.1 KB
/
UserServiceImpl.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.kapresoft.articles.nodi.service;
import com.kapresoft.articles.nodi.ApplicationContextSupport;
import com.kapresoft.articles.nodi.exception.BusinessException;
import com.kapresoft.articles.nodi.exception.CreateUserFailedException;
import com.kapresoft.articles.nodi.exception.UserNotFoundException;
import com.kapresoft.articles.nodi.model.User;
import static java.util.Optional.ofNullable;
public class UserServiceImpl implements UserService, ApplicationContextSupport {
@Override
public User registerUser(User user) throws BusinessException {
userDao().createUser(user);
String email = user.getEmail();
var createdUser = userDao().findUserByEmail(email)
.orElseThrow(() -> new CreateUserFailedException(email));
emailService().confirmEmailAddress(createdUser);
return createdUser;
}
@Override
public User findUser(String email) throws UserNotFoundException {
return ofNullable(email)
.flatMap(em -> userDao().findUserByEmail(em))
.orElseThrow(() -> new UserNotFoundException(email));
}
}