Skip to content

Commit

Permalink
Feat: Expanded DonationSelect to do things
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrianBalunan committed Apr 21, 2026
1 parent ec8c933 commit fad1306
Showing 1 changed file with 61 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package ntnu.systemutvikling.team6.database.Readers;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.*;

import ntnu.systemutvikling.team6.database.DatabaseConnection;
import ntnu.systemutvikling.team6.models.Charity;
import ntnu.systemutvikling.team6.models.Donation;
Expand Down Expand Up @@ -99,4 +97,63 @@ public DonationRegistry getDonationFromDB() {
}
return registry;
}
public DonationRegistry getDonationForUser(String uuid) {
DonationRegistry registry = null;
Connection conn = null;
try {
conn = connection.getMySqlConnection();
String sql_query =
"""
SELECT
d.UUID_Donations, d.amount, d.isAnonymous, d.date, d.charity_id, d.user_id,
c.UUID_charities, c.org_number, c.pre_approved, c.status,
cv.charity_name, cv.charity_link, cv.description, cv.logoURL, cv.key_values, cv.logoBLOB,
u.UUID_User, u.user_name, u.user_email, u.user_password, u.role
FROM Donations d
INNER JOIN Charities c ON d.charity_id = c.UUID_charities
INNER JOIN CharityVanity cv ON cv.UUID_charity = c.UUID_charities
INNER JOIN User u ON d.user_id = u.UUID_user
WHERE d.user_id = ?
""";
PreparedStatement stmt = conn.prepareStatement(sql_query);
stmt.setString(1, uuid);
ResultSet rs = stmt.executeQuery();

registry = new DonationRegistry();
while (rs.next()) {
Charity charity =
new Charity(
rs.getString("UUID_charities"),
rs.getString("org_number"),
rs.getString("charity_name"),
rs.getString("charity_link"),
rs.getString("status"),
rs.getBoolean("pre_approved"),
rs.getString("description"),
rs.getString("logoURL"),
rs.getString("key_values"),
rs.getBytes("logoBLOB"));
User user =
new User(
rs.getString("UUID_User"),
rs.getString("user_name"),
rs.getString("user_email"),
rs.getString("user_password"),
rs.getString("role"));
Donation donation =
new Donation(
rs.getString("UUID_Donations"),
rs.getDouble("amount"),
rs.getDate("date").toLocalDate(),
charity,
user,
rs.getBoolean("isAnonymous"));
registry.addDonation(donation);
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("ERROR: Something went wrong during updating charities table.");
}
return registry;
}
}

0 comments on commit fad1306

Please sign in to comment.