65 lines
2.4 KiB
Java
65 lines
2.4 KiB
Java
package de.sebastianvonhelmersen;
|
|
|
|
import java.io.File;
|
|
import java.sql.*;
|
|
|
|
public class Database {
|
|
private Statement statement;
|
|
public Database(File dbFile) {
|
|
try
|
|
{
|
|
String path = "jdbc:sqlite:" + dbFile.getAbsolutePath();
|
|
// create a database connection
|
|
Connection connection = DriverManager.getConnection(path);
|
|
Statement statement = connection.createStatement();
|
|
this.statement = statement;
|
|
|
|
statement.setQueryTimeout(30); // set timeout to 30 sec.
|
|
|
|
statement.executeUpdate(
|
|
"CREATE TABLE IF NOT EXISTS players (" +
|
|
"uuid VARCHAR(36) PRIMARY KEY, " +
|
|
"uid VARCHAR(50), " +
|
|
"mcusername VARCHAR(50), " +
|
|
"ladp_username VARCHAR(50), " +
|
|
"firstName VARCHAR(50), " +
|
|
"lastName VARCHAR(50)," +
|
|
"mail VARCHAR(320))"
|
|
);
|
|
}
|
|
catch(SQLException e)
|
|
{
|
|
// if the error message is "out of memory",
|
|
// it probably means no database file is found
|
|
e.printStackTrace(System.err);
|
|
}
|
|
}
|
|
|
|
public boolean isAuthenticated(String uuid) {
|
|
String query = "select * from players where uuid = ?";
|
|
try(PreparedStatement prep_query = this.statement.getConnection().prepareStatement(query)){
|
|
prep_query.setString(1, uuid);
|
|
ResultSet rs = prep_query.executeQuery();
|
|
return rs.next();
|
|
} catch (SQLException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
|
|
public void addPlayer(String uuid, String mcusername, user user) {
|
|
String query = "insert into players values (?, ?, ?, ?, ?, ?, ?)";
|
|
try(PreparedStatement prep_query = this.statement.getConnection().prepareStatement(query)){
|
|
prep_query.setString(1, uuid);
|
|
prep_query.setString(2, String.valueOf(user.uid));
|
|
prep_query.setString(3, mcusername);
|
|
prep_query.setString(4, user.ldapName);
|
|
prep_query.setString(5, user.firstName);
|
|
prep_query.setString(6, user.lastName);
|
|
prep_query.setString(7, user.email);
|
|
prep_query.executeUpdate();
|
|
} catch ( SQLException e ) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
}
|