Parameterize registration lock constructor when updating account attributes
This commit is contained in:
parent
703405b874
commit
6aadb4b458
|
@ -24,6 +24,7 @@ import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.DELETE;
|
import javax.ws.rs.DELETE;
|
||||||
|
@ -514,6 +515,11 @@ public class AccountController {
|
||||||
Account account = disabledPermittedAuth.getAccount();
|
Account account = disabledPermittedAuth.getAccount();
|
||||||
long deviceId = disabledPermittedAuth.getAuthenticatedDevice().getId();
|
long deviceId = disabledPermittedAuth.getAuthenticatedDevice().getId();
|
||||||
|
|
||||||
|
// temporary: For deterministic updates during the DynamoDB migration, use a fully parameterized registration lock
|
||||||
|
@Nullable final AuthenticationCredentials registrationLockCredentials =
|
||||||
|
Util.isEmpty(attributes.getRegistrationLock()) ? null
|
||||||
|
: new AuthenticationCredentials(attributes.getRegistrationLock());
|
||||||
|
|
||||||
accounts.update(account, a -> {
|
accounts.update(account, a -> {
|
||||||
a.getDevice(deviceId).ifPresent(d -> {
|
a.getDevice(deviceId).ifPresent(d -> {
|
||||||
d.setFetchesMessages(attributes.getFetchesMessages());
|
d.setFetchesMessages(attributes.getFetchesMessages());
|
||||||
|
@ -524,7 +530,14 @@ public class AccountController {
|
||||||
d.setUserAgent(userAgent);
|
d.setUserAgent(userAgent);
|
||||||
});
|
});
|
||||||
|
|
||||||
a.setRegistrationLockFromAttributes(attributes);
|
// temporary: for deterministic updates during the DynamoDB migration, use a fully parameterized registration lock
|
||||||
|
// a.setRegistrationLockFromAttributes(attributes);
|
||||||
|
if (registrationLockCredentials != null) {
|
||||||
|
a.setRegistrationLock(registrationLockCredentials.getHashedAuthenticationToken(),
|
||||||
|
registrationLockCredentials.getSalt());
|
||||||
|
} else {
|
||||||
|
a.setRegistrationLock(null, null);
|
||||||
|
}
|
||||||
|
|
||||||
a.setUnidentifiedAccessKey(attributes.getUnidentifiedAccessKey());
|
a.setUnidentifiedAccessKey(attributes.getUnidentifiedAccessKey());
|
||||||
a.setUnrestrictedUnidentifiedAccess(attributes.isUnrestrictedUnidentifiedAccess());
|
a.setUnrestrictedUnidentifiedAccess(attributes.isUnrestrictedUnidentifiedAccess());
|
||||||
|
|
Loading…
Reference in New Issue