Compare commits
No commits in common. "6222d175240156c50494a1957ace3deeb0a3a09c" and "33a23af4937d1c7a55ba33060ba1dc36b19bce0b" have entirely different histories.
6222d17524
...
33a23af493
4 changed files with 26 additions and 61 deletions
|
@ -116,13 +116,13 @@ public class Main{
|
||||||
|
|
||||||
router.
|
router.
|
||||||
register(new Register(repo, playersWaiting, mail)).
|
register(new Register(repo, playersWaiting, mail)).
|
||||||
register(new MailConfirmation(repo, router, config.getUsersFiles(), config.getGitToken(), playersWaiting, mail)).
|
register(new MailConfirmation(repo, router, config.getUsersFiles(), config.getGitToken(), playersWaiting)).
|
||||||
register(new Login(repo, router)).
|
register(new Login(repo, router)).
|
||||||
register(new ProfileSettings(repo)).
|
register(new ProfileSettings(repo)).
|
||||||
register(new ChangePassword(repo)).
|
register(new ChangePassword(repo)).
|
||||||
register(new ForgotPassword(router, repo, mail)).
|
register(new ForgotPassword(router, repo, mail)).
|
||||||
|
|
||||||
register(new DynamicLogs(router, repo)).
|
register(new DynamicLogs(repo, router.getLogger())).
|
||||||
|
|
||||||
register(new ChapterElement(repo)).
|
register(new ChapterElement(repo)).
|
||||||
register(new ChapterList(repo)).
|
register(new ChapterList(repo)).
|
||||||
|
|
|
@ -65,10 +65,12 @@ public class Completion{
|
||||||
public void addTry(Puzzle currentPuzzle, byte[] response) {
|
public void addTry(Puzzle currentPuzzle, byte[] response) {
|
||||||
if (score <= 0){
|
if (score <= 0){
|
||||||
tries++;
|
tries++;
|
||||||
|
System.out.println("Puzzle anwer:");
|
||||||
|
System.out.println(Arrays.toString(currentPuzzle.getSoluce()));
|
||||||
|
System.out.println(new String(currentPuzzle.getSoluce()));
|
||||||
if (response != null && Arrays.equals(currentPuzzle.getSoluce(), response)) {
|
if (response != null && Arrays.equals(currentPuzzle.getSoluce(), response)) {
|
||||||
if (tries > 1) { // Loose 5% each try with a minimum of 1 for score
|
if (tries > 1) { // Loose 5% each try with a minimum of 1 for score
|
||||||
// score = (int) Math.ceil(currentPuzzle.getScoreMax() * (1 - ((tries - 1) / 20.)));
|
score = (int) Math.ceil(currentPuzzle.getScoreMax() * (1 - ((tries - 1) / 20.)));
|
||||||
score = currentPuzzle.getScoreMax();
|
|
||||||
if (score < 1)
|
if (score < 1)
|
||||||
score = 1;
|
score = 1;
|
||||||
} else
|
} else
|
||||||
|
|
|
@ -3,7 +3,6 @@ package dev.peerat.backend.routes.admins;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
|
|
||||||
import dev.peerat.backend.bonus.extract.RouteDoc;
|
import dev.peerat.backend.bonus.extract.RouteDoc;
|
||||||
import dev.peerat.backend.model.Group;
|
|
||||||
import dev.peerat.backend.model.PeerAtUser;
|
import dev.peerat.backend.model.PeerAtUser;
|
||||||
import dev.peerat.backend.repository.DatabaseRepository;
|
import dev.peerat.backend.repository.DatabaseRepository;
|
||||||
import dev.peerat.framework.Context;
|
import dev.peerat.framework.Context;
|
||||||
|
@ -13,19 +12,16 @@ import dev.peerat.framework.Locker;
|
||||||
import dev.peerat.framework.Locker.Key;
|
import dev.peerat.framework.Locker.Key;
|
||||||
import dev.peerat.framework.Response;
|
import dev.peerat.framework.Response;
|
||||||
import dev.peerat.framework.Route;
|
import dev.peerat.framework.Route;
|
||||||
import dev.peerat.framework.Router;
|
|
||||||
import dev.peerat.framework.utils.json.JsonMap;
|
import dev.peerat.framework.utils.json.JsonMap;
|
||||||
|
|
||||||
public class DynamicLogs implements Response{
|
public class DynamicLogs implements Response{
|
||||||
|
|
||||||
private Router<PeerAtUser> router;
|
|
||||||
private Locker<Context> locker; //Context
|
private Locker<Context> locker; //Context
|
||||||
private DatabaseRepository repo;
|
private DatabaseRepository repo;
|
||||||
|
|
||||||
public DynamicLogs(Router<PeerAtUser> router, DatabaseRepository repo){
|
public DynamicLogs(DatabaseRepository repo, Locker<Context> locker){
|
||||||
this.router = router;
|
|
||||||
this.locker = router.getLogger();
|
|
||||||
this.repo = repo;
|
this.repo = repo;
|
||||||
|
this.locker = locker;
|
||||||
}
|
}
|
||||||
|
|
||||||
@RouteDoc(path = "/admin/logs", responseCode = 200, responseDescription = "L'utilisateur peux voir les logs en directe")
|
@RouteDoc(path = "/admin/logs", responseCode = 200, responseDescription = "L'utilisateur peux voir les logs en directe")
|
||||||
|
@ -33,14 +29,7 @@ public class DynamicLogs implements Response{
|
||||||
|
|
||||||
@Route(path = "^/admin/logs$", websocket = true)
|
@Route(path = "^/admin/logs$", websocket = 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 {
|
||||||
JsonMap auth = reader.readJson();
|
//check if admin
|
||||||
PeerAtUser user = this.router.getUser(auth.get("token"));
|
|
||||||
|
|
||||||
Group group = this.repo.getPlayerGroup(user.getId(), 1);
|
|
||||||
if(!group.getName().equalsIgnoreCase("Quarter-Master - Battles PAC x CEI")){
|
|
||||||
context.response(423);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Key key = new Key();
|
Key key = new Key();
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ import java.security.interfaces.RSAPublicKey;
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
import java.util.Base64.Encoder;
|
import java.util.Base64.Encoder;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Random;
|
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
|
|
||||||
import javax.net.ssl.HttpsURLConnection;
|
import javax.net.ssl.HttpsURLConnection;
|
||||||
|
@ -28,7 +27,6 @@ import dev.peerat.backend.bonus.extract.RouteDoc;
|
||||||
import dev.peerat.backend.model.PeerAtUser;
|
import dev.peerat.backend.model.PeerAtUser;
|
||||||
import dev.peerat.backend.repository.DatabaseRepository;
|
import dev.peerat.backend.repository.DatabaseRepository;
|
||||||
import dev.peerat.backend.utils.FormResponse;
|
import dev.peerat.backend.utils.FormResponse;
|
||||||
import dev.peerat.backend.utils.Mail;
|
|
||||||
import dev.peerat.framework.Context;
|
import dev.peerat.framework.Context;
|
||||||
import dev.peerat.framework.HttpReader;
|
import dev.peerat.framework.HttpReader;
|
||||||
import dev.peerat.framework.HttpWriter;
|
import dev.peerat.framework.HttpWriter;
|
||||||
|
@ -45,21 +43,18 @@ public class MailConfirmation extends FormResponse {
|
||||||
private Encoder encoder;
|
private Encoder encoder;
|
||||||
private String gitToken;
|
private String gitToken;
|
||||||
private Map<String, Integer> playersWaiting;
|
private Map<String, Integer> playersWaiting;
|
||||||
private Mail mail;
|
|
||||||
|
|
||||||
public MailConfirmation(
|
public MailConfirmation(
|
||||||
DatabaseRepository databaseRepo,
|
DatabaseRepository databaseRepo,
|
||||||
Router<PeerAtUser> router,
|
Router<PeerAtUser> router,
|
||||||
String initUsersFilesPath,
|
String initUsersFilesPath,
|
||||||
String gitToken,
|
String gitToken,
|
||||||
Map<String, Integer> playersWaiting,
|
Map<String, Integer> playersWaiting){
|
||||||
Mail mail){
|
|
||||||
this.databaseRepo = databaseRepo;
|
this.databaseRepo = databaseRepo;
|
||||||
this.router = router;
|
this.router = router;
|
||||||
this.usersFilesPath = initUsersFilesPath;
|
this.usersFilesPath = initUsersFilesPath;
|
||||||
this.gitToken = gitToken;
|
this.gitToken = gitToken;
|
||||||
this.playersWaiting = playersWaiting;
|
this.playersWaiting = playersWaiting;
|
||||||
this.mail = mail;
|
|
||||||
try {
|
try {
|
||||||
generator = KeyPairGenerator.getInstance("RSA");
|
generator = KeyPairGenerator.getInstance("RSA");
|
||||||
generator.initialize(4096);
|
generator.initialize(4096);
|
||||||
|
@ -96,10 +91,6 @@ public class MailConfirmation extends FormResponse {
|
||||||
context.response(400);
|
context.response(400);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean pseudoAvailable = databaseRepo.checkPseudoAvailability(pseudo);
|
|
||||||
boolean emailAvailable = databaseRepo.checkEmailAvailability(email);
|
|
||||||
if(pseudoAvailable && emailAvailable){
|
|
||||||
if(code == checkCode.intValue()){
|
if(code == checkCode.intValue()){
|
||||||
playersWaiting.remove(email);
|
playersWaiting.remove(email);
|
||||||
int id = databaseRepo.register(pseudo, email, password, firstname, lastname, "", "", "");
|
int id = databaseRepo.register(pseudo, email, password, firstname, lastname, "", "", "");
|
||||||
|
@ -115,27 +106,10 @@ public class MailConfirmation extends FormResponse {
|
||||||
error.set("username_valid", pseudo);
|
error.set("username_valid", pseudo);
|
||||||
error.set("email_valid", email);
|
error.set("email_valid", email);
|
||||||
writer.write(error.toString());
|
writer.write(error.toString());
|
||||||
int ncode = codeGenerator();
|
|
||||||
playersWaiting.put(email, ncode);
|
|
||||||
mail.send(email, "Welcome @ Peer @ Code", "Your check code is "+ncode+" !");
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
context.response(400);
|
context.response(400);
|
||||||
}
|
}
|
||||||
}else{
|
|
||||||
context.response(400);
|
|
||||||
JsonMap error = new JsonMap();
|
|
||||||
error.set("username_valid", pseudo);
|
|
||||||
error.set("email_valid", email);
|
|
||||||
writer.write(error.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private int codeGenerator(){
|
|
||||||
int min = 1000;
|
|
||||||
int max = 9999;
|
|
||||||
return new Random().nextInt((max-min)) + min;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createFolderToSaveSourceCode(String pseudo) throws IOException {
|
private void createFolderToSaveSourceCode(String pseudo) throws IOException {
|
||||||
|
|
Loading…
Add table
Reference in a new issue