Forget to remove...

This commit is contained in:
jeffcheasey88 2023-09-08 02:26:09 +02:00
parent 4f8b45f074
commit 1f2e30a7d1

View file

@ -1,89 +0,0 @@
package dev.peerat.backend.routes;
import static dev.peerat.framework.RequestType.POST;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.regex.Matcher;
import org.json.simple.JSONObject;
import dev.peerat.backend.bonus.extract.RouteDoc;
import dev.peerat.backend.model.PeerAtUser;
import dev.peerat.backend.model.Player;
import dev.peerat.backend.repository.DatabaseRepository;
import dev.peerat.framework.Context;
import dev.peerat.framework.HttpReader;
import dev.peerat.framework.HttpWriter;
import dev.peerat.framework.Response;
import dev.peerat.framework.Route;
import dev.peerat.framework.Router;
public class Register implements Response {
private DatabaseRepository databaseRepo;
private Router<PeerAtUser> router;
private String usersFilesPath;
private Map<Player, Integer> playersWaiting;
public Register(DatabaseRepository databaseRepo, Router<PeerAtUser> router, String initUsersFilesPath,
Map<Player, Integer> playersWaiting) {
this.databaseRepo = databaseRepo;
this.router = router;
usersFilesPath = initUsersFilesPath;
}
@RouteDoc(path = "/register", responseCode = 200, responseDescription = "L'utilisateur est inscrit")
@RouteDoc(responseCode = 403, responseDescription = "L'utilisateur est connecté")
@RouteDoc(responseCode = 400, responseDescription = "Aucune données fournie / données invalide")
@Route(path = "^\\/register$", type = POST)
public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception {
if (context.getUser() != null) {
context.response(403);
return;
}
JSONObject informations = reader.readJson();
if (informations != null) {
boolean allNecessaryFieldsFilled = informations.containsKey("pseudo") && informations.containsKey("email")
&& informations.containsKey("firstname") && informations.containsKey("lastname");
if (!allNecessaryFieldsFilled) {
context.response(400);
return;
}
String pseudo = (String) informations.get("pseudo");
String email = (String) informations.get("email");
String firstname = (String) informations.get("firstname");
String lastname = (String) informations.get("lastname");
boolean pseudoAvailable = databaseRepo.checkPseudoAvailability(pseudo);
boolean emailAvailable = databaseRepo.checkEmailAvailability(email);
if (pseudoAvailable && emailAvailable) {
Player player = new Player(pseudo, email, firstname, lastname);
playersWaiting.put(player, codeGenerator());
context.response(200);
} else {
context.response(400);
JSONObject error = new JSONObject();
error.put("username_valid", pseudoAvailable);
error.put("email_valid", emailAvailable);
writer.write(error.toJSONString());
}
return;
}
context.response(400);
}
private int codeGenerator() {
int min = 1000;
int max = 9999;
return new Random().nextInt((max-min)) + min;
}
}