Search in sources :

Example 1 with UserController

use of games.strategy.engine.lobby.server.db.UserController in project triplea by triplea-game.

the class UserManager method updateUser.

@Override
public String updateUser(final String userName, final String emailAddress, final String hashedPassword) {
    final INode remote = MessageContext.getSender();
    if (!userName.equals(remote.getName())) {
        logger.severe("Tried to update user permission, but not correct user, userName:" + userName + " node:" + remote);
        return "Sorry, but I can't let you do that";
    }
    final DBUser user = new DBUser(new DBUser.UserName(userName), new DBUser.UserEmail(emailAddress));
    if (!user.isValid()) {
        return user.getValidationErrorMessage();
    }
    final HashedPassword password = new HashedPassword(hashedPassword);
    try {
        new UserController().updateUser(user, password.isHashedWithSalt() ? password : new HashedPassword(BCrypt.hashpw(hashedPassword, BCrypt.gensalt())));
    } catch (final IllegalStateException e) {
        return e.getMessage();
    }
    return null;
}
Also used : INode(games.strategy.net.INode) DBUser(games.strategy.engine.lobby.server.userDB.DBUser) UserController(games.strategy.engine.lobby.server.db.UserController) HashedPassword(games.strategy.engine.lobby.server.db.HashedPassword)

Example 2 with UserController

use of games.strategy.engine.lobby.server.db.UserController in project triplea by triplea-game.

the class ModeratorControllerIntegrationTest method setUp.

@BeforeEach
public void setUp() throws UnknownHostException {
    moderatorController = new ModeratorController(serverMessenger, null);
    final String adminName = Util.createUniqueTimeStamp();
    final DBUser dbUser = new DBUser(new DBUser.UserName(adminName), new DBUser.UserEmail("n@n.n"), DBUser.Role.ADMIN);
    final UserController userController = new UserController();
    userController.createUser(dbUser, new HashedPassword(BCrypt.hashpw(adminName, BCrypt.gensalt())));
    userController.makeAdmin(dbUser);
    adminNode = new Node(adminName, InetAddress.getLocalHost(), 0);
    when(serverMessenger.getPlayerMac(adminName)).thenReturn(newHashedMacAddress());
}
Also used : INode(games.strategy.net.INode) Node(games.strategy.net.Node) DBUser(games.strategy.engine.lobby.server.userDB.DBUser) UserController(games.strategy.engine.lobby.server.db.UserController) HashedPassword(games.strategy.engine.lobby.server.db.HashedPassword) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 3 with UserController

use of games.strategy.engine.lobby.server.db.UserController in project triplea by triplea-game.

the class ModeratorController method isPlayerAdmin.

@Override
public boolean isPlayerAdmin(final INode node) {
    final User user = getUserForNode(node);
    final DBUser dbUser = new UserController().getUserByName(user.getUsername());
    return dbUser != null && dbUser.isAdmin();
}
Also used : DBUser(games.strategy.engine.lobby.server.userDB.DBUser) DBUser(games.strategy.engine.lobby.server.userDB.DBUser) UserController(games.strategy.engine.lobby.server.db.UserController)

Aggregations

UserController (games.strategy.engine.lobby.server.db.UserController)3 DBUser (games.strategy.engine.lobby.server.userDB.DBUser)3 HashedPassword (games.strategy.engine.lobby.server.db.HashedPassword)2 INode (games.strategy.net.INode)2 Node (games.strategy.net.Node)1 BeforeEach (org.junit.jupiter.api.BeforeEach)1