Compare commits

..

No commits in common. "escapegame" and "main" have entirely different histories.

14 changed files with 28 additions and 13 deletions

Binary file not shown.

View file

@ -59,20 +59,18 @@ public class Main{
for(Entry<String, Object> entry : json.entries()) params.put(entry.getKey(), entry.getValue()); for(Entry<String, Object> entry : json.entries()) params.put(entry.getKey(), entry.getValue());
auth = new JwtAuthenticator<PeerAtUser>().configure( auth = new JwtAuthenticator<PeerAtUser>().configure(
(builder) -> builder.setExpectedIssuer(config.getTokenIssuer()), (builder) -> builder.setExpectedIssuer(config.getTokenIssuer()),
(claims, user) -> { (claims) -> {
claims.setIssuer(config.getTokenIssuer()); claims.setIssuer(config.getTokenIssuer());
claims.setExpirationTimeMinutesInTheFuture(config.getTokenExpiration()); claims.setExpirationTimeMinutesInTheFuture(config.getTokenExpiration());
user.write(claims);
}, },
(claims) -> new PeerAtUser(claims), (claims) -> new PeerAtUser(claims),
params); params);
}else{ }else{
auth = new JwtAuthenticator<PeerAtUser>().configure( auth = new JwtAuthenticator<PeerAtUser>().configure(
(builder) -> builder.setExpectedIssuer(config.getTokenIssuer()), (builder) -> builder.setExpectedIssuer(config.getTokenIssuer()),
(claims, user) -> { (claims) -> {
claims.setIssuer(config.getTokenIssuer()); claims.setIssuer(config.getTokenIssuer());
claims.setExpirationTimeMinutesInTheFuture(config.getTokenExpiration()); claims.setExpirationTimeMinutesInTheFuture(config.getTokenExpiration());
user.write(claims);
}, },
(claims) -> new PeerAtUser(claims)); (claims) -> new PeerAtUser(claims));
JsonMap json = new JsonMap(); JsonMap json = new JsonMap();
@ -129,6 +127,7 @@ public class Main{
locker.init(key); locker.init(key);
try { try {
while(true){ while(true){
locker.lock(key);
Context instance = locker.getValue(key); Context instance = locker.getValue(key);
if(instance == null) continue; if(instance == null) continue;
System.out.println("["+((instance.isLogged()) ? repo.getPlayerRepository().getPlayer(instance.<PeerAtUser>getUser().getId()).getPseudo() : "?")+"] "+instance.getType()+" "+instance.getPath()+" -> "+instance.getResponseCode()); System.out.println("["+((instance.isLogged()) ? repo.getPlayerRepository().getPlayer(instance.<PeerAtUser>getUser().getId()).getPseudo() : "?")+"] "+instance.getType()+" "+instance.getPath()+" -> "+instance.getResponseCode());
@ -142,7 +141,20 @@ public class Main{
new Thread(new Runnable(){ new Thread(new Runnable(){
public void run(){ public void run(){
router.getExceptionLogger().listen((throwable) -> throwable.printStackTrace(), (exception) -> exception.printStackTrace()); Key key = new Key();
Locker<Throwable> locker = router.getExceptionLogger();
locker.init(key);
try {
while(true){
locker.lock(key);
locker.getValue(key).printStackTrace();
}
}catch(Exception e){
e.printStackTrace();
}
locker.remove(key);
} }
}).start(); }).start();
@ -159,7 +171,6 @@ public class Main{
return false; return false;
}; };
router.registerPackages("dev.peerat.backend.routes",new DependencyInjector() router.registerPackages("dev.peerat.backend.routes",new DependencyInjector()
.of(repo, router, config, new RouteExtracter(router), config.getMail(), isAdmin) .of(repo, router, config, new RouteExtracter(router), config.getMail(), isAdmin)
.of("waitting", new HashMap<>()) .of("waitting", new HashMap<>())

View file

@ -55,6 +55,7 @@ public class Bot extends Thread{
} }
while(true){ while(true){
locker.lock(key);
Group group = locker.getValue(key); Group group = locker.getValue(key);
Integer chapter = group.getLinkToChapter(); Integer chapter = group.getLinkToChapter();
// Integer puzzle = group.getLinkToPuzzle(); // Integer puzzle = group.getLinkToPuzzle();

View file

@ -14,6 +14,7 @@ public class PeerAtUser extends dev.peerat.framework.User{
this.id = ((Long) claims.getClaimValue("id")).intValue(); this.id = ((Long) claims.getClaimValue("id")).intValue();
} }
@Override
public void write(JwtClaims claims){ public void write(JwtClaims claims){
claims.setClaim("id", this.id); claims.setClaim("id", this.id);
} }

View file

@ -41,6 +41,7 @@ public class DynamicLeaderboard extends Leaderboard{
}else{ }else{
playersLeaderboard(writer); playersLeaderboard(writer);
} }
locker.lock(key);
} }
}catch(Exception e){ }catch(Exception e){
e.printStackTrace(); e.printStackTrace();

View file

@ -28,6 +28,7 @@ public class EventSSE{
locker.init(key); locker.init(key);
try { try {
while(true){ while(true){
locker.lock(key);
GroupMessage message = locker.getValue(key); GroupMessage message = locker.getValue(key);
if(message.getGroup() == null || message.getGroup().equals(group)){ if(message.getGroup() == null || message.getGroup().equals(group)){
JsonMap send = new JsonMap(); JsonMap send = new JsonMap();

View file

@ -115,7 +115,7 @@ public class PuzzleResponse implements Response {
writer.write(responseJSON.toString()); writer.write(responseJSON.toString());
writer.flush(); writer.flush();
leaderboard.pushValue(completion); leaderboard.setValue(completion);
} }
private void saveSourceCode(ReceivedResponse received, Player player){ private void saveSourceCode(ReceivedResponse received, Player player){

View file

@ -25,7 +25,7 @@ public class GroupController {
return; return;
} }
locker.pushValue(new GroupMessage(json.get("group"), json.get("message"))); locker.setValue(new GroupMessage(json.get("group"), json.get("message")));
context.response(200); context.response(200);
} }

View file

@ -63,6 +63,7 @@ public class LogController {
locker.init(key); locker.init(key);
try { try {
while(!reader.isClosed()){ while(!reader.isClosed()){
locker.lock(key);
T instance = locker.getValue(key); T instance = locker.getValue(key);
JsonMap json = new JsonMap(); JsonMap json = new JsonMap();
consumer.accept(json, instance); consumer.accept(json, instance);

View file

@ -21,7 +21,7 @@ public class WebHookLeaderboard implements Response{
@Route(path = "^/admin/webhook/leaderboard/$", needLogin = true) @Route(path = "^/admin/webhook/leaderboard/$", needLogin = true)
public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception{ public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception{
locker.pushValue(new Completion(0, 0)); locker.setValue(new Completion(0, 0));
context.response(200); context.response(200);
} }

View file

@ -71,7 +71,7 @@ public class GroupCreate extends FormResponse {
if (this.repo.insertGroup(newGroup, user)) { if (this.repo.insertGroup(newGroup, user)) {
context.response(200); context.response(200);
locker.pushValue(newGroup); locker.setValue(newGroup);
} else { } else {
context.response(403); context.response(403);
} }

View file

@ -75,7 +75,7 @@ public class GroupJoin implements Response{
if (this.groupRepo.insertUserInGroup(group, user)) { if (this.groupRepo.insertUserInGroup(group, user)) {
context.response(200); context.response(200);
leaderboard.pushValue(new Completion(0, 0, 0, null, 0)); leaderboard.setValue(new Completion(0, 0, 0, null, 0));
} else { } else {
context.response(403); context.response(403);
} }

View file

@ -67,7 +67,7 @@ public class GroupQuit implements Response{
if (this.groupRepo.leaveGroup(group, user)) { if (this.groupRepo.leaveGroup(group, user)) {
context.response(200); context.response(200);
leaderboard.pushValue(new Completion(0, 0, 0, null, 0)); leaderboard.setValue(new Completion(0, 0, 0, null, 0));
} else { } else {
context.response(403); context.response(403);
} }

View file

@ -49,7 +49,6 @@ public class Register extends FormResponse{
this.uuidBuilder = constructor; this.uuidBuilder = constructor;
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
System.exit(0);
} }
} }