Forget to remove...
This commit is contained in:
parent
4f8b45f074
commit
1f2e30a7d1
1 changed files with 0 additions and 89 deletions
|
@ -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;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue