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
	
	 Chris Eager
						Chris Eager