Fix user settings route

This commit is contained in:
jeffcheasey88 2023-09-22 14:20:06 +02:00
parent a58fd656b5
commit 798702f677
2 changed files with 9 additions and 10 deletions

View file

@ -239,7 +239,7 @@ public class DatabaseRepository {
ResultSet result = statment.executeQuery(); ResultSet result = statment.executeQuery();
if(result.next()) return false; if(result.next()) return false;
statment = DatabaseQuery.UPDATE_PLAYER_INFO.prepare(this.con); statment = DatabaseQuery.UPDATE_PLAYER_INFO.prepare(this.con);
statment.setString(1, player.getPseudo()); statment.setString(1, pseudo);
statment.setString(2, player.getEmail()); statment.setString(2, player.getEmail());
statment.setString(3, player.getFirstname()); statment.setString(3, player.getFirstname());
statment.setString(4, player.getLastname()); statment.setString(4, player.getLastname());

View file

@ -6,15 +6,15 @@ import dev.peerat.backend.bonus.extract.RouteDoc;
import dev.peerat.backend.model.PeerAtUser; import dev.peerat.backend.model.PeerAtUser;
import dev.peerat.backend.model.Player; import dev.peerat.backend.model.Player;
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.RequestType; import dev.peerat.framework.RequestType;
import dev.peerat.framework.Response;
import dev.peerat.framework.Route; import dev.peerat.framework.Route;
import dev.peerat.framework.utils.json.JsonMap; import dev.peerat.framework.utils.json.JsonMap;
public class ProfileSettings implements Response{ public class ProfileSettings extends FormResponse{
private DatabaseRepository repo; private DatabaseRepository repo;
@ -27,9 +27,7 @@ public class ProfileSettings implements Response{
@Route(path = "^/user/settings$", type = RequestType.POST, needLogin = true) @Route(path = "^/user/settings$", type = RequestType.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 {
JsonMap json = reader.readJson(); JsonMap json = json(reader);
System.out.println("received "+json);
String pseudo = json.get("pseudo"); String pseudo = json.get("pseudo");
String email = json.get("email"); String email = json.get("email");
@ -37,25 +35,26 @@ public class ProfileSettings implements Response{
String lastname = json.get("lastname"); String lastname = json.get("lastname");
Player player = repo.getPlayer(context.<PeerAtUser>getUser().getId()); Player player = repo.getPlayer(context.<PeerAtUser>getUser().getId());
if(!areValids("pseudo", "firstname", "lastname")){
context.response(400);
return;
}
if(!player.getPseudo().equals(pseudo)){ if(!player.getPseudo().equals(pseudo)){
System.out.println("custom pseudp");
if(!repo.updatePseudo(context.<PeerAtUser>getUser().getId(), player, pseudo)){ if(!repo.updatePseudo(context.<PeerAtUser>getUser().getId(), player, pseudo)){
context.response(400); context.response(400);
return; return;
} }
System.out.println("pseudo changed");
player.setPseudo(pseudo); player.setPseudo(pseudo);
} }
if(!player.getEmail().equals(email)){ if(!player.getEmail().equals(email)){
System.out.println("another email");
} }
if((!player.getFirstname().equals(firstname)) || (!player.getLastname().equals(lastname))){ if((!player.getFirstname().equals(firstname)) || (!player.getLastname().equals(lastname))){
repo.updateProfile(context.<PeerAtUser>getUser().getId(), player, lastname, firstname); repo.updateProfile(context.<PeerAtUser>getUser().getId(), player, lastname, firstname);
} }
System.out.println("200");
context.response(200); context.response(200);
} }