X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FUser.java;h=70fd821442ccbce19454cd91f888b1a07dc15d80;hb=6b7d6a59d006d1d252ccbe86a4f5ab7099c6c002;hp=e6f06921c08b2ad4e0a53633b12660d86ebf198b;hpb=7f0229055197cf353db26e61b1f5d84ddf5b58df;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/User.java b/src/org/cacert/gigi/dbObjects/User.java index e6f06921..70fd8214 100644 --- a/src/org/cacert/gigi/dbObjects/User.java +++ b/src/org/cacert/gigi/dbObjects/User.java @@ -19,6 +19,10 @@ import org.cacert.gigi.util.Notary; import org.cacert.gigi.util.PasswordHash; import org.cacert.gigi.util.PasswordStrengthChecker; +/** + * Represents an acting, assurable, user. Synchronizing on user means: no + * name-change and no assurance. + */ public class User extends CertificateOwner { private Name name = new Name(null, null, null, null); @@ -154,7 +158,7 @@ public class User extends CertificateOwner { } public int getAssurancePoints() { - try (GigiPreparedStatement query = new GigiPreparedStatement("SELECT sum(points) FROM `notary` where `to`=? AND `deleted` is NULL")) { + try (GigiPreparedStatement query = new GigiPreparedStatement("SELECT sum(points) FROM `notary` where `to`=? AND `deleted` is NULL AND (`expire` IS NULL OR `expire` > CURRENT_TIMESTAMP)")) { query.setInt(1, getId()); GigiResultSet rs = query.executeQuery(); @@ -278,7 +282,7 @@ public class User extends CertificateOwner { List assurances = new LinkedList(); while (res.next()) { - assurances.add(new Assurance(res)); + assurances.add(assuranceByRes(res)); } this.receivedAssurances = assurances.toArray(new Assurance[0]); @@ -297,7 +301,7 @@ public class User extends CertificateOwner { List assurances = new LinkedList(); while (res.next()) { - assurances.add(new Assurance(res)); + assurances.add(assuranceByRes(res)); } this.madeAssurances = assurances.toArray(new Assurance[0]); @@ -542,4 +546,8 @@ public class User extends CertificateOwner { ps.executeUpdate(); } } + + private Assurance assuranceByRes(GigiResultSet res) { + return new Assurance(res.getInt("id"), User.getById(res.getInt("from")), User.getById(res.getInt("to")), res.getString("location"), res.getString("method"), res.getInt("points"), res.getString("date")); + } }