java-api/src/main/java/restImplementation/DatabaseUserImplementation.java

87 lines
2.4 KiB
Java

package restImplementation;
import database.user.User;
import database.user.UserDao;
import org.springframework.security.crypto.bcrypt.BCrypt;
import java.time.Instant;
import java.util.HashMap;
import java.util.Map;
public class DatabaseUserImplementation {
/*
public Map<String,String> saveUser(User user) throws Exception {
UserDao userDao = new UserDao();
Map<String,String> response = new HashMap<String, String>();
User dbUser = userDao.getUser(user.getEmail());
if(dbUser != null){
response.put("response","false");
return response;
}else {
user.setPassword(hashPassword(user.getPassword()));
long now = Instant.now().toEpochMilli();
user.setCreation_date(now);
user.setModification_date(now);
user.setVerified(true);
user.setApproved(true);
//TEMPORARY USER HASH IS
//name+email+password
user.setUser_hash(hashPassword(user.getName()+user.getEmail()+user.getPassword()));
userDao.addUser(user);
response.put("userHash",user.getUser_hash());
response.put("response","true");
return response;
}
}
public User getUser(String email, String password) throws Exception{
UserDao userDao = new UserDao();
User user1 = userDao.getUser(email);
if(user1 != null){
String hash = user1.getPassword();
if(BCrypt.checkpw(password, hash)){
return user1;
}else{
return null;
}
}else {
return null;
}
}
public Map<String,String> userLogger(User user) throws Exception {
UserDao userDao = new UserDao();
Map<String,String> response = new HashMap<String, String>();
User user1 = userDao.getUser(user.getEmail());
if(user1 != null){
String hash = user1.getPassword();
if(!BCrypt.checkpw(user.getPassword(), hash)){
response.put("response","Not Allowed");
}else{
response.put("response","Ok");
response.put("userHash",user1.getUser_hash());
}
} else {
response.put("response","Not Exist");
}
return response;
}
private String hashPassword(String plainTextPassword){
return BCrypt.hashpw(plainTextPassword,BCrypt.gensalt());
}
*/
}