Interface Communication Login Credentials

This commit is contained in:
DieGurke
2020-01-21 17:51:50 +01:00
parent 1e00930d4b
commit ec315f870d
4 changed files with 21 additions and 22 deletions

View File

@ -38,21 +38,18 @@ public class LoginCredentialProcessor implements ObjectProcessor<LoginCredential
System.out.println(String.format("Received login credentials %s from socket ID %d", input, socketId));
// Create user
User user = null;
envoy.server.data.User user = new envoy.server.data.User();
if (input.isRegistration()) {
envoy.server.data.User dbUser = new envoy.server.data.User();
dbUser.setName(input.getName());
dbUser.setLastSeen(new Date());
dbUser.setStatus(User.UserStatus.ONLINE);
dbUser.setPasswordHash(input.getPasswordHash());
persistenceManager.addUser(dbUser);
user = dbUser.toCommonUser();
user.setName(input.getName());
user.setLastSeen(new Date());
user.setStatus(User.UserStatus.ONLINE);
user.setPasswordHash(input.getPasswordHash());
persistenceManager.addUser(user);
}else {
// TODO: Implement error when user does not exist
envoy.server.data.User requestedUser = persistenceManager.getUserByName(input.getName());
if (input.getPasswordHash() == requestedUser.getPasswordHash()) {
user = requestedUser.toCommonUser();
if (input.getPasswordHash() == user.getPasswordHash()) {
user = persistenceManager.getUserByName(input.getName());
} else {
// TODO: Wrong Password Response
}
@ -61,7 +58,7 @@ public class LoginCredentialProcessor implements ObjectProcessor<LoginCredential
// Create contacts
List<User> users = PersistenceManager.getPersistenceManager()
.getContacts(new envoy.server.data.User(user))
.getContacts(user)
.stream()
.map(envoy.server.data.User::toCommonUser)
.collect(Collectors.toList());
@ -69,11 +66,11 @@ public class LoginCredentialProcessor implements ObjectProcessor<LoginCredential
// Complete handshake
System.out.println("Sending user...");
writeProxy.write(socketId, user);
writeProxy.write(socketId, user.toCommonUser());
System.out.println("Sending contacts...");
writeProxy.write(socketId, contacts);
System.out.println("Acquiring pending messages for the client...");
List<Message> pendingMessages = PersistenceManager.getPersistenceManager().getUnreadMessages(new envoy.server.data.User(user));
List<Message> pendingMessages = PersistenceManager.getPersistenceManager().getUnreadMessages(user);
for (Message msg : pendingMessages) {
System.out.println("Sending message " + msg.toString());
writeProxy.write(socketId, msg);