public interface UserService extends AbstractService<User> {
User create(
String email, String username, String password, String company, String country, String firstName,
String lastName, String website, String address, String phone, String fieldOfWork, String redirect, String activationUrl
) throws DatabaseException, EmailServiceException;
<BUG>Token activate(String email, String token) throws DatabaseException;
User findByEmail(String email);</BUG>
User findByName(String userName);
User authenticateUser(String email, String password);
User changePassword(Long userId, String oldPassword, String newPassword) throws DatabaseException;

public interface UserService extends AbstractService<User> {
User create(
String email, String username, String password, String company, String country, String firstName,
String lastName, String website, String address, String phone, String fieldOfWork, String redirect, String activationUrl
) throws DatabaseException, EmailServiceException;
Token activate(String email, String token) throws DatabaseException;
User sendResetPasswordToken(String email, String redirect, String activationUrl) throws DatabaseException, EmailServiceException;
String getRedirectFromToken(String email, String tokenString) throws DatabaseException;
User resetPassword(String email, String tokenString, String password) throws DatabaseException, EmailServiceException;
User findByEmail(String email);
User findByName(String userName);
User authenticateUser(String email, String password);
User changePassword(Long userId, String oldPassword, String newPassword) throws DatabaseException;
