From 4e33130a9be302e85e36ae904b07ac7e3202ede6 Mon Sep 17 00:00:00 2001 From: Sae Furukawa Date: Tue, 30 Apr 2024 20:46:21 -0700 Subject: [PATCH] Some minor debugging --- .../controller/AccountCreationController.java | 6 ++ .../org/healthhaven/db/models/AccountDAO.java | 55 ++++++++++++------- 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/HealthHaven/src/org/healthhaven/controller/AccountCreationController.java b/HealthHaven/src/org/healthhaven/controller/AccountCreationController.java index 677675a..c1bd32e 100644 --- a/HealthHaven/src/org/healthhaven/controller/AccountCreationController.java +++ b/HealthHaven/src/org/healthhaven/controller/AccountCreationController.java @@ -105,6 +105,12 @@ public void handleSubmit() { response.setText(jsonObj.getString("reason")); } else if (jsonObj.getString("result").equals("SUCCESS")){ response.setText("Account created"); + passwordTextfield.setText(""); + legalFirstNameTextfield.setText(""); + legalLastNameTextfield.setText(""); + addressTextfield.setText(""); + dobDatePicker.setValue(null); + } } diff --git a/HealthHaven/src/org/healthhaven/db/models/AccountDAO.java b/HealthHaven/src/org/healthhaven/db/models/AccountDAO.java index 7755477..7315d3f 100644 --- a/HealthHaven/src/org/healthhaven/db/models/AccountDAO.java +++ b/HealthHaven/src/org/healthhaven/db/models/AccountDAO.java @@ -149,27 +149,44 @@ public static synchronized JSONObject updateTemporaryUserAfterFirstLogin(Connect reason = "Error verifying the DOB"; } else { - // Step 3: Update users table - // Step 5: Update authentication table (with password update) - String usersUpdateSql = "UPDATE healthhaven.users SET legalfirstname = ?, legallastname = ?, address = ?, data_sharing = TRUE WHERE userid = ?"; - String authenticationUpdateSql = "UPDATE healthhaven.authentication SET password = ?, totp_key = ?, reset = ?, salt = ?, hashpass=? WHERE userid = ?"; - if (!updateUserTable(conn, usersUpdateSql, legalfirstname, legallastname, address, userId) - || !updateAuthenticationTable(conn, authenticationUpdateSql, password, true, TOTP.genSecretKey(), - userId)) { - result = "FAILURE"; - reason = "Database Entry Error"; - } else { - try { - conn.commit(); - } catch (SQLException e) { - try { - conn.rollback(); - } catch (SQLException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); + + String sql = "SELECT * FROM healthhaven.authentication WHERE email = '" + email + "'"; + + try (PreparedStatement stmt = conn.prepareStatement(sql)) { + ResultSet data_rs = stmt.executeQuery(); + boolean resetValue = data_rs.getBoolean("reset"); + if (resetValue) { + result = "FAILURE"; + reason = "Account already exist"; + } else { + // Step 3: Update users table + // Step 5: Update authentication table (with password update) + String usersUpdateSql = "UPDATE healthhaven.users SET legalfirstname = ?, legallastname = ?, address = ?, data_sharing = TRUE WHERE userid = ?"; + String authenticationUpdateSql = "UPDATE healthhaven.authentication SET password = ?, totp_key = ?, reset = ?, salt = ?, hashpass=? WHERE userid = ?"; + if (!updateUserTable(conn, usersUpdateSql, legalfirstname, legallastname, address, userId) + || !updateAuthenticationTable(conn, authenticationUpdateSql, password, true, TOTP.genSecretKey(), + userId)) { + result = "FAILURE"; + reason = "Database Entry Error"; + } else { + try { + conn.commit(); + } catch (SQLException e) { + try { + conn.rollback(); + } catch (SQLException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + e.printStackTrace(); + } } - e.printStackTrace(); + } + + } catch (SQLException e) { + result = "FAILURE"; + reason = "Error Authenticating User"; } }