Login and Register with UI

This commit is contained in:
2025-06-04 22:54:24 +03:30
parent 108a6d8b81
commit 86ca58481f
21 changed files with 1166 additions and 0 deletions
@@ -0,0 +1,18 @@
package org.to.telegramfinalproject.Database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionDb {
private static final String JDBC_URL = "jdbc:postgresql://localhost:5432/Telegramdb";
private static final String USERNAME = "postgres";
private static final String PASSWORD = "Partow@1384";
public ConnectionDb() {
}
public static Connection connect() throws SQLException {
return DriverManager.getConnection(JDBC_URL, USERNAME, PASSWORD);
}
}
@@ -0,0 +1,207 @@
package org.to.telegramfinalproject.Database;
import org.to.telegramfinalproject.Models.User;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class userDatabase {
public userDatabase() {
}
private Connection getConnection() throws SQLException {
return ConnectionDb.connect();
}
public User findByUserId(String userId) {
String query = "SELECT * FROM users WHERE user_id = ?";
try {
User var6;
try (Connection conn = this.getConnection()) {
try (PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, userId);
ResultSet rs = stmt.executeQuery();
if (!rs.next()) {
return null;
}
var6 = this.extractUser(rs);
}
}
return var6;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public User findByUsername(String username) {
String query = "SELECT * FROM users WHERE username = ?";
try {
User var6;
try (Connection conn = this.getConnection()) {
try (PreparedStatement stmt = conn.prepareStatement(query)) {
stmt.setString(1, username);
ResultSet rs = stmt.executeQuery();
if (!rs.next()) {
return null;
}
var6 = this.extractUser(rs);
}
}
return var6;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public boolean existsByUsername(String username) {
String query = "SELECT 1 FROM users WHERE username = ?";
try {
boolean var6;
try (
Connection conn = this.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
) {
stmt.setString(1, username);
ResultSet rs = stmt.executeQuery();
var6 = rs.next();
}
return var6;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
public boolean existsByUserId(String user_id) {
String query = "SELECT 1 FROM users WHERE user_id = ?";
try {
boolean var6;
try (
Connection conn = this.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
) {
stmt.setString(1, user_id);
ResultSet rs = stmt.executeQuery();
var6 = rs.next();
}
return var6;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
public boolean save(User user) {
String query = "INSERT INTO users (user_id, internal_uuid, username, password, profile_name) VALUES (?, ?, ?, ?, ?)";
try {
boolean var5;
try (
Connection conn = this.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
) {
stmt.setString(1, user.getUser_id());
stmt.setObject(2, user.getInternal_uuid());
stmt.setString(3, user.getUsername());
stmt.setString(4, user.getPassword());
stmt.setString(5, user.getProfile_name());
var5 = stmt.executeUpdate() > 0;
}
return var5;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
public boolean updateByUUID(UUID uuid, User user) {
String query = "UPDATE users SET user_id=?, username=?, password=?, profile_name=?, bio=?, image_url=?, status=?, last_seen=? WHERE internal_uuid=?";
try {
boolean var6;
try (
Connection conn = this.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
) {
stmt.setString(1, user.getUser_id());
stmt.setString(2, user.getUsername());
stmt.setString(3, user.getPassword());
stmt.setString(4, user.getProfile_name());
stmt.setString(5, user.getBio());
stmt.setString(6, user.getImage_url());
stmt.setString(7, user.getStatus());
stmt.setObject(8, user.getLast_seen());
stmt.setObject(9, uuid);
var6 = stmt.executeUpdate() > 0;
}
return var6;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
public List<User> getAll() {
List<User> users = new ArrayList();
String query = "SELECT * FROM users";
try (
Connection conn = this.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
) {
while(rs.next()) {
users.add(this.extractUser(rs));
}
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
private User extractUser(ResultSet rs) throws SQLException {
return new User(rs.getString("user_id"), UUID.fromString(rs.getString("internal_uuid")), rs.getString("username"), rs.getString("password"), rs.getString("profile_name"));
}
public boolean deleteByUUID(UUID uuid) {
String query = "DELETE FROM users WHERE internal_uuid = ?";
try {
boolean var5;
try (
Connection conn = this.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
) {
stmt.setObject(1, uuid);
var5 = stmt.executeUpdate() > 0;
}
return var5;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
}