getAccountService().persistSession(newSession);
jsonResponse = "{ \"uuidToken\": \"" + newSession.getUuid() + "\", \"registered\": " + "false}";
} else if (userList.size() == 1) {
//One user with one account, return correct uuid
User user = userList.get(0);
//userHash.put(user.getId(), new BasicUser(user));
logger.info("One User: " + new Gson().toJson(user));
BasicSession newSession = new BasicSession();
newSession.setUuid(UUID.randomUUID().toString());
newSession.setEmail(email);
newSession.setExpiry(expiry);
newSession.setAccountName(user.getAccountName());
getAccountService().persistSession(newSession);
logger.info("Updating Session: " + new Gson().toJson(newSession));
jsonResponse = "{ \"uuidToken\": \"" + newSession.getUuid() + "\", \"registered\": " + "true}";
} else if (userList.size() > 1) {
//One user with multiple accounts, return list of accounts
jsonResponse = "{\"error\": \"not_yet_implemented\"}";
}
} else if (isPost(e) && uri.endsWith("/auth/register") && cookieUuidToken != null) {
logger.info("isPost /auth/register. Cookie: " + cookieUuidToken);
Session session = null;
if (cookieUuidToken != null) {
session = getAccountService().getSession(cookieUuidToken);
}
if (session != null) {
BasicSession updatedSession = new BasicSession(session);
BasicUser httpUser = ParseJsonObjects.parseUser(jsonObject);
logger.info("HTTP user: " + new Gson().toJson(httpUser));
updatedSession.setAccountName(httpUser.getAccountName());
getAccountService().persistSession(updatedSession);
logger.info("persisted new session: " + new Gson().toJson(updatedSession));
BasicUser newUser = new BasicUser(httpUser);
newUser.setUserRole("admin");
newUser.setUserName(session.getEmail());
getAccountService().persistUser(newUser);
logger.info("persisted user: " + new Gson().toJson(newUser));
BasicAccount newAccount = new BasicAccount();
newAccount.setId(httpUser.getAccountName());
newAccount.setAccountType("new");
getAccountService().persistAccount(newAccount);
jsonResponse = "{ \"registered\": " + "true, \"uuidToken\": \"" + updatedSession.getUuid() + "\"}";
} else {
jsonResponse = "{ \"registered\": " + "false}";
}
logger.info(jsonObject);
} else if (isGet(e) && cookieUuidToken != null) {
logger.info("isGet: " + cookieUuidToken);
Session cookieSession = getAccountService().getSession(cookieUuidToken);
logger.info("cookieSession: " + new Gson().toJson(cookieSession));
if (cookieSession != null && cookieSession.getEmail() != null) {
User sessionUser = getAccountService().getUser(cookieSession.getEmail(), cookieSession.getAccountName());
logger.info("sessionUser: " + new Gson().toJson(sessionUser));
if (getRootUser() != null && sessionUser != null && sessionUser.getUserName().equals(getRootUser())) {
BasicUser rootUser = new BasicUser(sessionUser);
rootUser.setUserRole("root");
jsonResponse = "{\"user\": " + new Gson().toJson(rootUser) + "}";
logger.info("Returning user: " + jsonResponse);
} else if (sessionUser != null ) {