X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FEmailAddress.java;h=a2a7e5801d8566ef88b5c7fd59840650a77204d1;hb=2233a655b4ef4c1122a406e83a0e6334b9fd49b6;hp=3f4211a51eb95df4b0965a665e4fbdfa197c506c;hpb=edd3dc5109f2dbeaf1797c7643d85ba36d0b3763;p=gigi.git diff --git a/src/org/cacert/gigi/EmailAddress.java b/src/org/cacert/gigi/EmailAddress.java index 3f4211a5..a2a7e580 100644 --- a/src/org/cacert/gigi/EmailAddress.java +++ b/src/org/cacert/gigi/EmailAddress.java @@ -7,6 +7,7 @@ import java.sql.SQLException; import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.email.EmailProvider; +import org.cacert.gigi.util.RandomToken; import org.cacert.gigi.util.ServerConstants; public class EmailAddress { @@ -31,10 +32,13 @@ public class EmailAddress { rs.close(); } - public EmailAddress(String address, User owner, String hash) { + public EmailAddress(String address, User owner) { + if (!EmailProvider.MAIL.matcher(address).matches()) { + throw new IllegalArgumentException("Invalid email."); + } this.address = address; this.owner = owner; - this.hash = hash; + this.hash = RandomToken.generateToken(16); } public void insert(Language l) { @@ -95,6 +99,7 @@ public class EmailAddress { ps2.setInt(1, owner.getId()); ps2.setString(2, address); ps2.execute(); + this.hash = ""; } catch (SQLException e) { throw new GigiApiException(e); } @@ -113,4 +118,8 @@ public class EmailAddress { throw new IllegalArgumentException(e); } } + + public boolean isVerified() { + return hash.isEmpty(); + } }