diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseManager.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseManager.java index 8036c6e..55ba947 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseManager.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/database/DatabaseManager.java @@ -1,14 +1,13 @@ package ntnu.systemutvikling.team6.database; import java.sql.*; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import java.util.UUID; import ntnu.systemutvikling.team6.models.*; -import ntnu.systemutvikling.team6.models.user.Language; -import ntnu.systemutvikling.team6.models.user.Settings; -import ntnu.systemutvikling.team6.models.user.User; +import ntnu.systemutvikling.team6.models.user.*; import ntnu.systemutvikling.team6.scraper.APICharityData; /** @@ -480,7 +479,10 @@ public User getUserFromDBUuid(UUID uuid){ rs.getString("user_password"), rs.getString("role") ); - Settings settings = getAndSetSettingsForUserObject(user.getId().toString()); + Settings settings = getSettingsForUser(user.getId().toString()); + user.setSettings(settings); + + Inbox inbox = getInboxForUser(user.getId().toString()); user.setSettings(settings); } } catch (SQLException e) { @@ -490,7 +492,7 @@ public User getUserFromDBUuid(UUID uuid){ return user; } - public Settings getAndSetSettingsForUserObject(String user_id){ + public Settings getSettingsForUser(String user_id){ Settings settings = null; Connection conn = null; try { @@ -520,6 +522,38 @@ public Settings getAndSetSettingsForUserObject(String user_id){ return settings; } + public Inbox getInboxForUser(String user_id){ + Inbox inbox = null; + Connection conn = null; + try { + conn = connection.getMySqlConnection(); + String sql_query = + """ + SELECT UUID_message, message_title, message_content, message_date, sender_user_id, sender_charity_id, user_id FROM Settings + WHERE User_UUID_User = ?; + """; + PreparedStatement stmt = conn.prepareStatement(sql_query); + stmt.setString(1, user_id); + stmt.setMaxRows(1); + ResultSet rs = stmt.executeQuery(); + + while (rs.next()) { + Message message = new Message( + rs.getString("message_title"), + UUID.fromString(rs.getString("sender_charity_id")), + rs.getString("message_date"), + LocalDate.parse(rs.getString("message_date")) + ); + inbox.addMessage(message); + } + } catch (SQLException e) { + e.printStackTrace(); + throw new RuntimeException("ERROR: Something went wrong during updating charities table."); + } + + return inbox; + } + public DonationRegistry getDonationFromDB() { DonationRegistry registry = null;