Add delete sync capability

This commit is contained in:
Katherine
2024-06-12 13:54:06 -04:00
committed by GitHub
parent 155450380e
commit 0414da8c32
23 changed files with 144 additions and 40 deletions

View File

@@ -232,6 +232,8 @@ public class DeviceController {
if (capabilities == null) {
throw new WebApplicationException(Response.status(422, "Missing device capabilities").build());
} else if (isCapabilityDowngrade(account, capabilities)) {
throw new WebApplicationException(Response.status(409).build());
}
final String signalAgent;
@@ -387,6 +389,10 @@ public class DeviceController {
return Optional.of(aci);
}
private static boolean isCapabilityDowngrade(Account account, DeviceCapabilities capabilities) {
return account.isDeleteSyncSupported() && !capabilities.deleteSync();
}
private static String getUsedTokenKey(final String token) {
return "usedToken::" + token;
}

View File

@@ -447,7 +447,7 @@ public class ProfileController {
return new BaseProfileResponse(account.getIdentityKey(IdentityType.ACI),
account.getUnidentifiedAccessKey().map(UnidentifiedAccessChecksum::generateFor).orElse(null),
account.isUnrestrictedUnidentifiedAccess(),
new UserCapabilities(),
UserCapabilities.createForAccount(account),
profileBadgeConverter.convert(
getAcceptableLanguagesForRequest(containerRequestContext),
account.getBadges(),
@@ -459,7 +459,7 @@ public class ProfileController {
return new BaseProfileResponse(account.getIdentityKey(IdentityType.PNI),
null,
false,
new UserCapabilities(),
UserCapabilities.createForAccount(account),
Collections.emptyList(),
new PniServiceIdentifier(account.getPhoneNumberIdentifier()));
}