Skip to content

Commit

Permalink
Feat: user has settings when getting data from database (A method)
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrianBalunan committed Apr 7, 2026
1 parent 8db6609 commit dc3e7ea
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
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.scraper.APICharityData;

Expand Down Expand Up @@ -478,6 +480,8 @@ public User getUserFromDBUuid(UUID uuid){
rs.getString("user_password"),
rs.getString("role")
);
Settings settings = getAndSetSettingsForUserObject(user.getId().toString());
user.setSettings(settings);
}
} catch (SQLException e) {
e.printStackTrace();
Expand All @@ -486,6 +490,36 @@ public User getUserFromDBUuid(UUID uuid){
return user;
}

public Settings getAndSetSettingsForUserObject(String user_id){
Settings settings = null;
Connection conn = null;
try {
conn = connection.getMySqlConnection();
String sql_query =
"""
SELECT User_UUID_User, isAnonymous, language, lightmode 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()) {
settings = new Settings(
rs.getBoolean("isAnonymous"),
Language.valueOf(rs.getString("language").toUpperCase()),
rs.getBoolean("lightmode")
);
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
}

return settings;
}


public DonationRegistry getDonationFromDB() {
DonationRegistry registry = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public Settings(boolean lightMode, Language language, boolean anonymous) {
this.anonymous = anonymous;
}


/** Toggles between light and dark mode */
public void toggleLightMode() {
lightMode = !lightMode;
Expand Down

0 comments on commit dc3e7ea

Please sign in to comment.