Don't send contacts to CDS if they've opted out of discoverability. (SERVER-130)

This commit is contained in:
Jon Chambers
2020-08-25 12:40:51 -04:00
committed by Jon Chambers
parent 58e3122dab
commit ce026e7ad0
14 changed files with 215 additions and 89 deletions

View File

@@ -345,7 +345,7 @@ public class AccountController {
accounts.update(account);
if (!wasAccountEnabled && account.isEnabled()) {
directoryQueue.addRegisteredUser(account.getUuid(), account.getNumber());
directoryQueue.refreshRegisteredUser(account);
}
}
@@ -359,10 +359,7 @@ public class AccountController {
device.setFetchesMessages(false);
accounts.update(account);
if (!account.isEnabled()) {
directoryQueue.deleteRegisteredUser(account.getUuid(), account.getNumber());
}
directoryQueue.refreshRegisteredUser(account);
}
@Timed
@@ -381,7 +378,7 @@ public class AccountController {
accounts.update(account);
if (!wasAccountEnabled && account.isEnabled()) {
directoryQueue.addRegisteredUser(account.getUuid(), account.getNumber());
directoryQueue.refreshRegisteredUser(account);
}
}
@@ -395,10 +392,7 @@ public class AccountController {
device.setFetchesMessages(false);
accounts.update(account);
if (!account.isEnabled()) {
directoryQueue.deleteRegisteredUser(account.getUuid(), account.getNumber());
}
directoryQueue.refreshRegisteredUser(account);
}
@Timed
@@ -485,7 +479,9 @@ public class AccountController {
account.setDiscoverableByPhoneNumber(attributes.isDiscoverableByPhoneNumber());
accounts.update(account);
directoryQueue.refreshRegisteredUser(account);
}
@GET
@Path("/whoami")
@Produces(MediaType.APPLICATION_JSON)
@@ -636,12 +632,7 @@ public class AccountController {
newUserMeter.mark();
}
if (account.isEnabled()) {
directoryQueue.addRegisteredUser(account.getUuid(), number);
} else {
directoryQueue.deleteRegisteredUser(account.getUuid(), number);
}
directoryQueue.refreshRegisteredUser(account);
messagesManager.clear(number, maybeExistingAccount.map(Account::getUuid).orElse(null));
pendingAccounts.remove(number);

View File

@@ -112,11 +112,7 @@ public class DeviceController {
account.removeDevice(deviceId);
accounts.update(account);
if (!account.isEnabled()) {
directoryQueue.deleteRegisteredUser(account.getUuid(), account.getNumber());
}
directoryQueue.refreshRegisteredUser(account);
messages.clear(account.getNumber(), account.getUuid(), deviceId);
}

View File

@@ -106,7 +106,7 @@ public class KeysController {
accounts.update(account);
if (!wasAccountEnabled && account.isEnabled()) {
directoryQueue.addRegisteredUser(account.getUuid(), account.getNumber());
directoryQueue.refreshRegisteredUser(account);
}
}
@@ -172,7 +172,7 @@ public class KeysController {
accounts.update(account);
if (!wasAccountEnabled && account.isEnabled()) {
directoryQueue.addRegisteredUser(account.getUuid(), account.getNumber());
directoryQueue.refreshRegisteredUser(account);
}
}