login®ister
This commit is contained in:
@@ -1,23 +1,69 @@
|
||||
package dev.dao;
|
||||
|
||||
import dev.database.DatabaseConnection;
|
||||
import dev.model.User;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import org.mindrot.jbcrypt.BCrypt;
|
||||
|
||||
public class UserDao {
|
||||
|
||||
public boolean save(User user) {
|
||||
|
||||
// TODO:
|
||||
// Insert user into database
|
||||
String hashedPassword = BCrypt.hashpw(user.getPassword(), BCrypt.gensalt());
|
||||
String query ="INSERT INTO users (username, password_hash, email) VALUES (?, ?, ?)";
|
||||
|
||||
try(Connection c = DatabaseConnection.getConnection();
|
||||
PreparedStatement pst = c.prepareStatement(query)) {
|
||||
|
||||
pst.setString(1 , user.getUsername());
|
||||
pst.setString(2 , hashedPassword);
|
||||
pst.setString(3 , user.getEmail());
|
||||
|
||||
|
||||
int result = pst.executeUpdate();
|
||||
if(result==1){
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
} catch (SQLException e) {
|
||||
System.out.println(e.getMessage());
|
||||
};
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public User findByUsername(String username) {
|
||||
public User findByUsername(String userName) {
|
||||
|
||||
// TODO:
|
||||
// Find a user by username
|
||||
String query = "SELECT * FROM users WHERE username = ?";
|
||||
|
||||
try (Connection c = DatabaseConnection.getConnection();
|
||||
PreparedStatement pst = c.prepareStatement(query)) {
|
||||
|
||||
pst.setString(1, userName);
|
||||
|
||||
try (ResultSet rst = pst.executeQuery()) {
|
||||
if (rst.next()) {
|
||||
User user = new User(rst.getInt("id"),
|
||||
rst.getString("username"),
|
||||
rst.getString("password_hash"),
|
||||
rst.getString("email"));
|
||||
return user;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
} catch (SQLException e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user