check input on creating
This commit is contained in:
parent
7fb0408b52
commit
89d6e14c9c
4 changed files with 15 additions and 3 deletions
Binary file not shown.
|
@ -10,14 +10,16 @@ import dev.peerat.backend.model.Chapter;
|
|||
import dev.peerat.backend.model.Group;
|
||||
import dev.peerat.backend.model.PeerAtUser;
|
||||
import dev.peerat.backend.repository.DatabaseRepository;
|
||||
import dev.peerat.backend.utils.FormResponse;
|
||||
import dev.peerat.framework.Context;
|
||||
import dev.peerat.framework.HttpReader;
|
||||
import dev.peerat.framework.HttpWriter;
|
||||
import dev.peerat.framework.Locker;
|
||||
import dev.peerat.framework.Response;
|
||||
import dev.peerat.framework.Route;
|
||||
import dev.peerat.framework.utils.json.JsonMap;
|
||||
|
||||
public class GroupCreate implements Response {
|
||||
public class GroupCreate extends FormResponse {
|
||||
|
||||
private Locker<Group> locker;
|
||||
private DatabaseRepository repo;
|
||||
|
@ -27,6 +29,8 @@ public class GroupCreate implements Response {
|
|||
this.repo = repo;
|
||||
this.locker = locker;
|
||||
this.groupDelay = groupDelay;
|
||||
|
||||
validator("name", "[a-zA-Z0-9&|!?{}\\[\\]%/*\\-+=:;,_#@ ]{3,100}");
|
||||
}
|
||||
|
||||
@RouteDoc(path = "/groupCreate", responseCode = 200, responseDescription = "Le groupe a été créé")
|
||||
|
@ -35,7 +39,12 @@ public class GroupCreate implements Response {
|
|||
|
||||
@Route(path = "^\\/groupCreate$", type = POST, needLogin = true)
|
||||
public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception{
|
||||
Group newGroup = new Group(reader.readJson());
|
||||
JsonMap json = json(reader);
|
||||
if(!areValids("name")){
|
||||
context.response(403);
|
||||
return;
|
||||
}
|
||||
Group newGroup = new Group(json);
|
||||
PeerAtUser user = context.getUser();
|
||||
|
||||
if (this.repo.getPlayerGroup(user.getId(), newGroup.getLinkToChapter()) == null) {
|
||||
|
|
|
@ -66,6 +66,9 @@ public class MailConfirmation extends FormResponse {
|
|||
generator.initialize(4096);
|
||||
encoder = Base64.getEncoder();
|
||||
|
||||
validator("pseudo", "[a-zA-Z0-9&|!?{}\\[\\]%/*\\-+=:;,_#@ ]{3,100}");
|
||||
validator("firstname", "^(?>[a-zA-Z]+ ?)+$");
|
||||
validator("lastname", "^(?>[a-zA-Z]+ ?)+$");
|
||||
}
|
||||
|
||||
@RouteDoc(path = "/confirmation", responseCode = 200, responseDescription = "L'utilisateur est inscrit")
|
||||
|
|
|
@ -19,7 +19,7 @@ public abstract class FormResponse implements Response{
|
|||
}
|
||||
|
||||
public void validator(String key, String regex){
|
||||
this.checker.put(key, Pattern.compile(regex));
|
||||
this.checker.put(key, Pattern.compile(regex, Pattern.CASE_INSENSITIVE));
|
||||
}
|
||||
|
||||
public <T extends Json> T json(HttpReader reader) throws Exception{
|
||||
|
|
Loading…
Add table
Reference in a new issue