X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FUser.java;h=a7e6357667e24caa425c17a5c40e26fb5d0ffdf1;hb=097b9af9a0457d89560335a773948770293df06c;hp=50e13ac044e14b9e187117b44ac72a4ea533939f;hpb=06c5d96d7dc2df71a1658e1c7c9e34ad065d10d7;p=gigi.git diff --git a/src/org/cacert/gigi/User.java b/src/org/cacert/gigi/User.java index 50e13ac0..a7e63576 100644 --- a/src/org/cacert/gigi/User.java +++ b/src/org/cacert/gigi/User.java @@ -6,14 +6,13 @@ import java.sql.SQLException; import java.util.Date; import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.util.PasswordHash; public class User { private int id; - String fname; - String mname; - String lname; - String suffix; + Name name = new Name(null, null); + Date dob; String email; @@ -21,12 +20,12 @@ public class User { this.id = id; try { PreparedStatement ps = DatabaseConnection.getInstance().prepare( - "SELECT `fname`, `lname` FROM `users` WHERE id=?"); + "SELECT `fname`, `lname`, `dob` FROM `users` WHERE id=?"); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); if (rs.next()) { - fname = rs.getString(1); - lname = rs.getString(2); + name = new Name(rs.getString(1), rs.getString(2)); + dob = rs.getDate(3); } rs.close(); } catch (SQLException e) { @@ -39,22 +38,25 @@ public class User { return id; } public String getFname() { - return fname; + return name.fname; } public String getLname() { - return lname; + return name.lname; } public String getMname() { - return mname; + return name.mname; + } + public Name getName() { + return name; } public void setMname(String mname) { - this.mname = mname; + this.name.mname = mname; } public String getSuffix() { - return suffix; + return name.suffix; } public void setSuffix(String suffix) { - this.suffix = suffix; + this.name.suffix = suffix; } public Date getDob() { return dob; @@ -72,10 +74,29 @@ public class User { this.id = id; } public void setFname(String fname) { - this.fname = fname; + this.name.fname = fname; } public void setLname(String lname) { - this.lname = lname; + this.name.lname = lname; + } + public void insert(String password) throws SQLException { + if (id != 0) { + throw new Error("refusing to insert"); + } + PreparedStatement query = DatabaseConnection.getInstance().prepare( + "insert into `users` set `email`=?, `password`=?, " + + "`fname`=?, `mname`=?, `lname`=?, " + + "`suffix`=?, `dob`=?, `created`=NOW(), locked=0"); + query.setString(1, email); + query.setString(2, PasswordHash.hash(password)); + query.setString(3, name.fname); + query.setString(4, name.mname); + query.setString(5, name.lname); + query.setString(6, name.suffix); + query.setDate(7, new java.sql.Date(dob.getTime())); + query.execute(); + id = DatabaseConnection.lastInsertId(query); + System.out.println("Inserted: " + id); } }