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();
if(result.next()) return false;
statment = DatabaseQuery.UPDATE_PLAYER_INFO.prepare(this.con);
statment.setString(1, player.getPseudo());
statment.setString(1, pseudo);
statment.setString(2, player.getEmail());
statment.setString(3, player.getFirstname());
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.Player;
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.RequestType;
import dev.peerat.framework.Response;
import dev.peerat.framework.Route;
import dev.peerat.framework.utils.json.JsonMap;
public class ProfileSettings implements Response{
public class ProfileSettings extends FormResponse{
private DatabaseRepository repo;
@ -27,9 +27,7 @@ public class ProfileSettings implements Response{
@Route(path = "^/user/settings$", type = RequestType.POST, needLogin = true)
public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception {
JsonMap json = reader.readJson();
System.out.println("received "+json);
JsonMap json = json(reader);
String pseudo = json.get("pseudo");
String email = json.get("email");
@ -37,25 +35,26 @@ public class ProfileSettings implements Response{
String lastname = json.get("lastname");
Player player = repo.getPlayer(context.<PeerAtUser>getUser().getId());
if(!areValids("pseudo", "firstname", "lastname")){
context.response(400);
return;
}
if(!player.getPseudo().equals(pseudo)){
System.out.println("custom pseudp");
if(!repo.updatePseudo(context.<PeerAtUser>getUser().getId(), player, pseudo)){
context.response(400);
return;
}
System.out.println("pseudo changed");
player.setPseudo(pseudo);
}
if(!player.getEmail().equals(email)){
System.out.println("another email");
}
if((!player.getFirstname().equals(firstname)) || (!player.getLastname().equals(lastname))){
repo.updateProfile(context.<PeerAtUser>getUser().getId(), player, lastname, firstname);
}
System.out.println("200");
context.response(200);
}