Compare commits
3 commits
7fb0408b52
...
894ed9fb46
Author | SHA1 | Date | |
---|---|---|---|
894ed9fb46 | |||
087cf59ae0 | |||
89d6e14c9c |
7 changed files with 20 additions and 6 deletions
Binary file not shown.
|
@ -132,7 +132,7 @@ public class Group implements Comparable<Group> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode(){
|
||||||
return Objects.hash(name);
|
return Objects.hash(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -190,7 +190,7 @@ public class Player implements Comparable<Player> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode(){
|
public int hashCode(){
|
||||||
return Objects.hash(email);
|
return Objects.hash(email, pseudo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -202,6 +202,6 @@ public class Player implements Comparable<Player> {
|
||||||
if (getClass() != obj.getClass())
|
if (getClass() != obj.getClass())
|
||||||
return false;
|
return false;
|
||||||
Player other = (Player) obj;
|
Player other = (Player) obj;
|
||||||
return Objects.equals(email, other.email);
|
return Objects.equals(email, other.email) && Objects.equals(pseudo, other.pseudo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,14 +10,16 @@ import dev.peerat.backend.model.Chapter;
|
||||||
import dev.peerat.backend.model.Group;
|
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.backend.utils.FormResponse;
|
||||||
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;
|
||||||
import dev.peerat.framework.Locker;
|
import dev.peerat.framework.Locker;
|
||||||
import dev.peerat.framework.Response;
|
import dev.peerat.framework.Response;
|
||||||
import dev.peerat.framework.Route;
|
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 Locker<Group> locker;
|
||||||
private DatabaseRepository repo;
|
private DatabaseRepository repo;
|
||||||
|
@ -27,6 +29,8 @@ public class GroupCreate implements Response {
|
||||||
this.repo = repo;
|
this.repo = repo;
|
||||||
this.locker = locker;
|
this.locker = locker;
|
||||||
this.groupDelay = groupDelay;
|
this.groupDelay = groupDelay;
|
||||||
|
|
||||||
|
validator("name", "[a-zA-Z0-9&|!?{}\\[\\]%/*\\-+=:;,_#@ ]{3,100}");
|
||||||
}
|
}
|
||||||
|
|
||||||
@RouteDoc(path = "/groupCreate", responseCode = 200, responseDescription = "Le groupe a été créé")
|
@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)
|
@Route(path = "^\\/groupCreate$", type = POST, 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{
|
||||||
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();
|
PeerAtUser user = context.getUser();
|
||||||
|
|
||||||
if (this.repo.getPlayerGroup(user.getId(), newGroup.getLinkToChapter()) == null) {
|
if (this.repo.getPlayerGroup(user.getId(), newGroup.getLinkToChapter()) == null) {
|
||||||
|
|
|
@ -66,6 +66,9 @@ public class MailConfirmation extends FormResponse {
|
||||||
generator.initialize(4096);
|
generator.initialize(4096);
|
||||||
encoder = Base64.getEncoder();
|
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")
|
@RouteDoc(path = "/confirmation", responseCode = 200, responseDescription = "L'utilisateur est inscrit")
|
||||||
|
|
|
@ -20,6 +20,8 @@ public class ProfileSettings extends FormResponse{
|
||||||
|
|
||||||
public ProfileSettings(DatabaseRepository repo){
|
public ProfileSettings(DatabaseRepository repo){
|
||||||
this.repo = repo;
|
this.repo = repo;
|
||||||
|
|
||||||
|
validator("pseudo", "[a-zA-Z0-9&|!?{}\\[\\]%/*\\-+=:;,_#@ ]{3,100}");
|
||||||
}
|
}
|
||||||
|
|
||||||
@RouteDoc(path = "/user/settings", responseCode = 200, responseDescription = "L'utilisateur a mis à jours sont profile")
|
@RouteDoc(path = "/user/settings", responseCode = 200, responseDescription = "L'utilisateur a mis à jours sont profile")
|
||||||
|
|
|
@ -19,7 +19,7 @@ public abstract class FormResponse implements Response{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validator(String key, String regex){
|
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{
|
public <T extends Json> T json(HttpReader reader) throws Exception{
|
||||||
|
|
Loading…
Add table
Reference in a new issue