started adding comments, restructured Database class

This commit is contained in:
2022-04-19 08:41:03 +02:00
parent 9b1cc974ad
commit aae095f2ea
5 changed files with 146 additions and 125 deletions

View File

@@ -32,7 +32,7 @@ public class ListMember {
}
public static User confirm(String token) throws SQLException {
var rs = Database.open().select(TABLE_NAME).where(TOKEN,token).exec();
var rs = Database.open().select(TABLE_NAME).where(TOKEN,token).compile().exec();
if (rs.next()){
var lm = new ListMember(rs.getString(LIST_EMAIL),rs.getString(USER_EMAIL),rs.getInt(STATE),rs.getString(TOKEN));
rs.close();
@@ -45,6 +45,7 @@ public class ListMember {
.set(STATE, newState) //drop confirmation state, set subscriber state
.where(LIST_EMAIL,lm.listEmail)
.where(USER_EMAIL,lm.userEmail)
.compile()
.run();
}
return user;
@@ -70,7 +71,7 @@ public class ListMember {
.append(STATE).append(" ").append(INT).append(", ")
.append(TOKEN).append(" ").append(VARCHAR).append(", ")
.append("PRIMARY KEY (").append(LIST_EMAIL).append(", ").append(USER_EMAIL).append("));");
Database.open().query(sql).run();
Database.open().query(sql).compile().run();
}
public boolean hasState(int testState) {
@@ -83,7 +84,7 @@ public class ListMember {
try {
var request = Database.open().select(TABLE_NAME, LIST_EMAIL, STATE+" & "+STATE_OWNER+" as "+STATE);
if (!user.hashPermission(User.PERMISSION_ADMIN)) request = request.where(USER_EMAIL, user.email()).where(STATE, STATE_OWNER);
var rs = request.exec();
var rs = request.compile().exec();
while (rs.next()) list.add(rs.getString(LIST_EMAIL));
} catch (SQLException e) {
LOG.warn("Listing memberships lists failed: ",e);
@@ -97,6 +98,7 @@ public class ListMember {
.select(TABLE_NAME)
.where(LIST_EMAIL,list.email())
.where(USER_EMAIL,user.email())
.compile()
.exec();
try {
if (rs.next()) {
@@ -115,6 +117,7 @@ public class ListMember {
var rs = Database.open()
.select(TABLE_NAME)
.where(LIST_EMAIL,listEmail)
.compile()
.exec();
var temp = new HashMap<String,Integer>();
while (rs.next()) temp.put(rs.getString(USER_EMAIL),rs.getInt(STATE));
@@ -139,7 +142,7 @@ public class ListMember {
vals.put(USER_EMAIL,userEmail);
vals.put(STATE,state);
if (token != null) vals.put(TOKEN,token);
Database.open().insertInto(TABLE_NAME).values(vals).run();
Database.open().insertInto(TABLE_NAME).values(vals).compile().run();
return this;
}
@@ -152,6 +155,7 @@ public class ListMember {
var rs = db.select(TABLE_NAME)
.where(LIST_EMAIL,list.email())
.where(USER_EMAIL,user.email())
.compile()
.exec();
while (rs.next()){
int state = Util.unset(rs.getInt(STATE),STATE_SUBSCRIBER,STATE_AWAITING_CONFIRMATION);
@@ -159,12 +163,14 @@ public class ListMember {
db.deleteFrom(TABLE_NAME)
.where(LIST_EMAIL,list.email())
.where(USER_EMAIL,user.email())
.compile()
.run();
} else { // update entry: whitdraw subscription
db.update(TABLE_NAME)
.set(STATE,state)
.where(LIST_EMAIL,list.email())
.where(USER_EMAIL,user.email())
.compile()
.run();
}
}