Ver a proveniência

move setFirstAdmin to AuthResource.newLoginSession

tags/v1.2.7
Jonathan Cobb há 4 anos
ascendente
cometimento
2c1ee7e8d7
6 ficheiros alterados com 16 adições e 19 eliminações
  1. +0
    -5
      bubble-server/src/main/java/bubble/dao/SessionDAO.java
  2. +2
    -0
      bubble-server/src/main/java/bubble/dao/account/AccountDAO.java
  3. +11
    -11
      bubble-server/src/main/java/bubble/resources/account/AuthResource.java
  4. +1
    -1
      bubble-server/src/main/java/bubble/resources/account/TrustedAuthResource.java
  5. +1
    -1
      bubble-server/src/main/resources/messages
  6. +1
    -1
      bubble-web

+ 0
- 5
bubble-server/src/main/java/bubble/dao/SessionDAO.java Ver ficheiro

@@ -17,9 +17,4 @@ public class SessionDAO extends AbstractSessionDAO<Account> {

@Override protected boolean canStartSession(Account account) { return !account.suspended(); }

@Override public String create(Account account) {
account.setFirstAdmin(account.getUuid().equals(accountDAO.getFirstAdmin().getUuid()));
return super.create(account);
}

}

+ 2
- 0
bubble-server/src/main/java/bubble/dao/account/AccountDAO.java Ver ficheiro

@@ -470,6 +470,8 @@ public class AccountDAO extends AbstractCRUDDAO<Account> implements SqlViewSearc
private final Refreshable<Account> firstAdmin = new Refreshable<>("firstAdmin", FIRST_ADMIN_CACHE_MILLIS, this::findFirstAdmin);
public Account getFirstAdmin() { return firstAdmin.get(); }

public boolean isFirstAdmin(Account account) { return getFirstAdmin().getUuid().equals(account.getUuid()); }

public Account findFirstAdmin() {
final List<Account> admins = findByField("admin", true);
if (admins.isEmpty()) return null;


+ 11
- 11
bubble-server/src/main/java/bubble/resources/account/AuthResource.java Ver ficheiro

@@ -113,11 +113,13 @@ public class AuthResource {
return accountDAO.update(account.setLastLogin());
}

public String newLoginSession(Account account) { return newLoginSession(account, accountDAO, sessionDAO); }
public Account newLoginSession(Account account) { return newLoginSession(account, accountDAO, sessionDAO); }

public static String newLoginSession(Account account, AccountDAO accountDAO, SessionDAO sessionDAO) {
if (account.getLastLogin() == null) account.setFirstLogin(true);
return sessionDAO.create(updateLastLogin(account, accountDAO));
public static Account newLoginSession(Account account, AccountDAO accountDAO, SessionDAO sessionDAO) {
return account
.setToken(sessionDAO.create(updateLastLogin(account, accountDAO)))
.setFirstLogin(account.getLastLogin() == null ? true : null)
.setFirstAdmin(accountDAO.isFirstAdmin(account));
}

@GET @Path(EP_CONFIGS)
@@ -175,7 +177,7 @@ public class AuthResource {
final Account account = accountDAO.create(new Account(request).setRemoteHost(getRemoteHost(req)));
activationService.bootstrapThisNode(account, request);

return ok(account.setToken(newLoginSession(account)));
return ok(newLoginSession(account));
}

@Autowired private NotificationService notificationService;
@@ -344,10 +346,9 @@ public class AuthResource {
}
}
account.getAccountInitializer().setCanSendAccountMessages();
return ok(account
return ok(newLoginSession(account
.waitForAccountInit()
.setPromoError(promoEx == null ? null : promoEx.getMessageTemplate())
.setToken(newLoginSession(account)));
.setPromoError(promoEx == null ? null : promoEx.getMessageTemplate())));
}

@POST @Path(EP_LOGIN)
@@ -419,8 +420,7 @@ public class AuthResource {
}
}

if (!account.hasToken()) account.setToken(newLoginSession(account));
return ok(account);
return ok(account.hasToken() ? account : newLoginSession(account));
}

@POST @Path(EP_APP_LOGIN+"/{session}")
@@ -610,7 +610,7 @@ public class AuthResource {
if (approval.getMessageType() == AccountMessageType.confirmation) {
if (account == null) return invalid("err.approvalToken.invalid");
if (approval.getAction() == AccountAction.login || approval.getAction() == AccountAction.password) {
return ok(account.setToken(newLoginSession(account)));
return ok(newLoginSession(account));
} else {
return ok_empty();
}


+ 1
- 1
bubble-server/src/main/java/bubble/resources/account/TrustedAuthResource.java Ver ficheiro

@@ -84,7 +84,7 @@ public class TrustedAuthResource {

final TrustedClient trusted = findTrustedClient(account, request);
log.info("loginTrustedClient: logging in trusted: "+account.getName());
return ok(account.setToken(newLoginSession(account, accountDAO, sessionDAO)));
return ok(newLoginSession(account, accountDAO, sessionDAO));
}

@DELETE @Path(EP_DELETE+"/{device}")


+ 1
- 1
bubble-server/src/main/resources/messages

@@ -1 +1 @@
Subproject commit 85fdd6f72a2434ecfe75883ae14cd0ea000bbf22
Subproject commit 3b532dc0f4956aeff74d0b178f2cf4a43fea29ef

+ 1
- 1
bubble-web

@@ -1 +1 @@
Subproject commit 36279fd83f9653c93dceac4ec7029eb416271c10
Subproject commit 91356f88665fd5b383f4cc078482fd24e7ba55ba

Carregando…
Cancelar
Guardar