Add serverside LOGIN-command #237

Merged
lars.winzer merged 5 commits from feat/40-add-serverside-login-command into main 2026-04-07 12:23:33 +02:00
Showing only changes of commit be173f2847 - Show all commits
@@ -0,0 +1,24 @@
package ch.unibas.dmi.dbis.cs108.casono.server.app.commands.login;
import ch.unibas.dmi.dbis.cs108.casono.server.domain.user.User;
import ch.unibas.dmi.dbis.cs108.casono.server.domain.user.UserFactory;
import ch.unibas.dmi.dbis.cs108.casono.server.domain.user.UserRegistry;
import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.CommandHandler;
import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.response.dispatcher.ResponseDispatcher;
public class LoginHandler implements CommandHandler<LoginRequest> {
private final ResponseDispatcher responseDispatcher;
private final UserFactory userFactory;
public LoginHandler(ResponseDispatcher responseDispatcher, UserRegistry userRegistry) {
this.responseDispatcher = responseDispatcher;
this.userFactory = new UserFactory(userRegistry);
}
@Override
public void execute(LoginRequest request) {
User user = userFactory.create(request.getUsername(), request.getContext().sessionId());
responseDispatcher.dispatch(
new LoginResponse(request.getContext(), user.getName(), user.getId()));
}
}