working on permissions
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package de.srsoftware.widerhall.data;
|
||||
|
||||
import de.srsoftware.widerhall.Util;
|
||||
import org.antlr.runtime.MismatchedTokenException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.stringtemplate.v4.ST;
|
||||
@@ -32,14 +33,15 @@ public class ListMember {
|
||||
|
||||
public static User confirm(String token) throws SQLException {
|
||||
var rs = Database.open().select(TABLE_NAME).where(TOKEN,token).exec();
|
||||
while (rs.next()){
|
||||
if (rs.next()){
|
||||
var lm = new ListMember(rs.getString(LIST_EMAIL),rs.getString(USER_EMAIL),rs.getInt(STATE),rs.getString(TOKEN));
|
||||
rs.close();
|
||||
User user = User.loadAll(List.of(lm.userEmail)).stream().findAny().orElse(null);
|
||||
if (user != null){
|
||||
int newState = lm.state ^ STATE_AWAITING_CONFIRMATION | STATE_SUBSCRIBER;
|
||||
Database.open()
|
||||
.update(TABLE_NAME)
|
||||
.set(TOKEN,"NULL")
|
||||
.set(TOKEN,null)
|
||||
.set(STATE, newState) //drop confirmation state, set subscriber state
|
||||
.where(LIST_EMAIL,lm.listEmail)
|
||||
.where(USER_EMAIL,lm.userEmail)
|
||||
|
||||
Reference in New Issue
Block a user