Retire a now-unused transacational update method for accounts
This commit is contained in:
parent
b048b0bf65
commit
47bfb25f2c
|
@ -433,6 +433,7 @@ public class AccountsManager {
|
||||||
final Map<Byte, ECSignedPreKey> pniSignedPreKeys,
|
final Map<Byte, ECSignedPreKey> pniSignedPreKeys,
|
||||||
@Nullable final Map<Byte, KEMSignedPreKey> pniPqLastResortPreKeys,
|
@Nullable final Map<Byte, KEMSignedPreKey> pniPqLastResortPreKeys,
|
||||||
final Map<Byte, Integer> pniRegistrationIds) throws MismatchedDevicesException {
|
final Map<Byte, Integer> pniRegistrationIds) throws MismatchedDevicesException {
|
||||||
|
|
||||||
validateDevices(account, pniSignedPreKeys, pniPqLastResortPreKeys, pniRegistrationIds);
|
validateDevices(account, pniSignedPreKeys, pniPqLastResortPreKeys, pniRegistrationIds);
|
||||||
|
|
||||||
final UUID aci = account.getIdentifier(IdentityType.ACI);
|
final UUID aci = account.getIdentifier(IdentityType.ACI);
|
||||||
|
@ -843,22 +844,6 @@ public class AccountsManager {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public CompletionStage<Account> updateDeviceTransactionallyAsync(final Account account,
|
|
||||||
final byte deviceId,
|
|
||||||
final Consumer<Device> deviceUpdater,
|
|
||||||
final Function<Device, Collection<TransactWriteItem>> additionalWriteItemProvider) {
|
|
||||||
|
|
||||||
final UUID uuid = account.getUuid();
|
|
||||||
|
|
||||||
return redisDeleteAsync(account).thenCompose(ignored -> updateTransactionallyWithRetriesAsync(account,
|
|
||||||
a -> a.getDevice(deviceId).ifPresent(deviceUpdater),
|
|
||||||
accounts::updateTransactionallyAsync,
|
|
||||||
() -> accounts.getByAccountIdentifierAsync(uuid).thenApply(Optional::orElseThrow),
|
|
||||||
a -> additionalWriteItemProvider.apply(a.getDevice(deviceId).orElseThrow()),
|
|
||||||
AccountChangeValidator.GENERAL_CHANGE_VALIDATOR,
|
|
||||||
MAX_UPDATE_ATTEMPTS));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Optional<Account> getByE164(final String number) {
|
public Optional<Account> getByE164(final String number) {
|
||||||
return getByNumberTimer.timeSupplier(() -> accounts.getByE164(number));
|
return getByNumberTimer.timeSupplier(() -> accounts.getByE164(number));
|
||||||
}
|
}
|
||||||
|
|
|
@ -225,16 +225,6 @@ class KeysControllerTest {
|
||||||
when(accounts.getByServiceIdentifier(new AciServiceIdentifier(EXISTS_UUID))).thenReturn(Optional.of(existsAccount));
|
when(accounts.getByServiceIdentifier(new AciServiceIdentifier(EXISTS_UUID))).thenReturn(Optional.of(existsAccount));
|
||||||
when(accounts.getByServiceIdentifier(new PniServiceIdentifier(EXISTS_PNI))).thenReturn(Optional.of(existsAccount));
|
when(accounts.getByServiceIdentifier(new PniServiceIdentifier(EXISTS_PNI))).thenReturn(Optional.of(existsAccount));
|
||||||
|
|
||||||
when(accounts.updateDeviceTransactionallyAsync(any(), anyByte(), any(), any())).thenAnswer(invocation -> {
|
|
||||||
final Account account = invocation.getArgument(0);
|
|
||||||
final byte deviceId = invocation.getArgument(1);
|
|
||||||
final Consumer<Device> deviceUpdater = invocation.getArgument(2);
|
|
||||||
|
|
||||||
deviceUpdater.accept(account.getDevice(deviceId).orElseThrow());
|
|
||||||
|
|
||||||
return CompletableFuture.completedFuture(account);
|
|
||||||
});
|
|
||||||
|
|
||||||
when(rateLimiters.getPreKeysLimiter()).thenReturn(rateLimiter);
|
when(rateLimiters.getPreKeysLimiter()).thenReturn(rateLimiter);
|
||||||
|
|
||||||
when(KEYS.storeEcOneTimePreKeys(any(), anyByte(), any()))
|
when(KEYS.storeEcOneTimePreKeys(any(), anyByte(), any()))
|
||||||
|
|
Loading…
Reference in New Issue