diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/app/commands/list_users/ListUsersHandler.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/app/commands/list_users/ListUsersHandler.java new file mode 100644 index 0000000..69a986e --- /dev/null +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/app/commands/list_users/ListUsersHandler.java @@ -0,0 +1,22 @@ +package ch.unibas.dmi.dbis.cs108.casono.server.app.commands.list_users; + +import ch.unibas.dmi.dbis.cs108.casono.server.domain.user.User; +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; +import java.util.Collection; + +public class ListUsersHandler extends CommandHandler { + private final UserRegistry userRegistry; + + public ListUsersHandler(ResponseDispatcher responseDispatcher, UserRegistry userRegistry) { + super(responseDispatcher); + this.userRegistry = userRegistry; + } + + @Override + public void execute(ListUsersRequest request) { + Collection users = userRegistry.getAllUsers(); + responseDispatcher.dispatch(new ListUsersResponse(request.getContext(), users)); + } +}