X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FUser.java;h=a7e6357667e24caa425c17a5c40e26fb5d0ffdf1;hb=555448486f2edd8e60bf372d68854e9c92939b38;hp=8c4b1f9dab466b7d6531e0d4d3b70cbf3becf7b0;hpb=35565f877af05e8783c1ac28171b8e2cab0d02b5;p=gigi.git diff --git a/src/org/cacert/gigi/User.java b/src/org/cacert/gigi/User.java index 8c4b1f9d..a7e63576 100644 --- a/src/org/cacert/gigi/User.java +++ b/src/org/cacert/gigi/User.java @@ -3,39 +3,100 @@ package org.cacert.gigi; import java.sql.PreparedStatement; import java.sql.ResultSet; 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 lname; + Name name = new Name(null, null); + + Date dob; + String email; public User(int id) { 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) { e.printStackTrace(); } } + public User() { + } public int getId() { return id; } public String getFname() { - return fname; + return name.fname; } public String getLname() { - return lname; + return name.lname; + } + public String getMname() { + return name.mname; + } + public Name getName() { + return name; + } + public void setMname(String mname) { + this.name.mname = mname; + } + public String getSuffix() { + return name.suffix; + } + public void setSuffix(String suffix) { + this.name.suffix = suffix; + } + public Date getDob() { + return dob; + } + public void setDob(Date dob) { + this.dob = dob; + } + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + public void setId(int id) { + this.id = id; + } + public void setFname(String fname) { + this.name.fname = fname; + } + public void setLname(String 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); } }