diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/ProfileController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/ProfileController.java index 010d96f29..b5b2aab35 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/ProfileController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/ProfileController.java @@ -439,7 +439,7 @@ public class ProfileController { return new BaseProfileResponse(account.getIdentityKey(IdentityType.ACI), account.getUnidentifiedAccessKey().map(UnidentifiedAccessChecksum::generateFor).orElse(null), account.isUnrestrictedUnidentifiedAccess(), - UserCapabilities.createForAccount(account), + new UserCapabilities(), profileBadgeConverter.convert( getAcceptableLanguagesForRequest(containerRequestContext), account.getBadges(), @@ -451,7 +451,7 @@ public class ProfileController { return new BaseProfileResponse(account.getIdentityKey(IdentityType.PNI), null, false, - UserCapabilities.createForAccount(account), + new UserCapabilities(), Collections.emptyList(), new PniServiceIdentifier(account.getPhoneNumberIdentifier())); } diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/entities/UserCapabilities.java b/service/src/main/java/org/whispersystems/textsecuregcm/entities/UserCapabilities.java index c3c7b7052..5b97ff650 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/entities/UserCapabilities.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/entities/UserCapabilities.java @@ -5,16 +5,16 @@ package org.whispersystems.textsecuregcm.entities; -import org.whispersystems.textsecuregcm.storage.Account; +public record UserCapabilities( + // TODO: Remove the paymentActivation capability entirely sometime soon after 2024-06-30 + boolean paymentActivation, + // TODO Remove the PNI and PNP capabilities entirely on or after 2024-05-18 + boolean pni, + boolean pnp, + // TODO Remove the giftBadges capability on or after 2024-05-26 + boolean giftBadges) { -public record UserCapabilities(boolean paymentActivation, - // TODO Remove the PNI and PNP capabilities entirely on or after 2024-05-18 - boolean pni, - boolean pnp, - // TODO Remove the giftBadges capability on or after 2024-05-26 - boolean giftBadges) { - - public static UserCapabilities createForAccount(final Account account) { - return new UserCapabilities(account.isPaymentActivationSupported(), true, true, true); + public UserCapabilities() { + this(true, true, true, true); } } diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ProfileGrpcHelper.java b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ProfileGrpcHelper.java index 3f135b8ca..3a7f22822 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ProfileGrpcHelper.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ProfileGrpcHelper.java @@ -105,7 +105,7 @@ public class ProfileGrpcHelper { final ProfileBadgeConverter profileBadgeConverter) { final GetUnversionedProfileResponse.Builder responseBuilder = GetUnversionedProfileResponse.newBuilder() .setIdentityKey(ByteString.copyFrom(targetAccount.getIdentityKey(targetIdentifier.identityType()).serialize())) - .setCapabilities(buildUserCapabilities(org.whispersystems.textsecuregcm.entities.UserCapabilities.createForAccount(targetAccount))); + .setCapabilities(buildUserCapabilities(new org.whispersystems.textsecuregcm.entities.UserCapabilities())); switch (targetIdentifier.identityType()) { case ACI -> { diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/controllers/ProfileControllerTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/controllers/ProfileControllerTest.java index 507806228..91b58b59b 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/controllers/ProfileControllerTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/controllers/ProfileControllerTest.java @@ -391,7 +391,7 @@ class ProfileControllerTest { .get(BaseProfileResponse.class); assertThat(profile.getCapabilities().pni()).isTrue(); - assertThat(profile.getCapabilities().paymentActivation()).isFalse(); + assertThat(profile.getCapabilities().paymentActivation()).isTrue(); } @Test diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/grpc/ProfileAnonymousGrpcServiceTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/grpc/ProfileAnonymousGrpcServiceTest.java index fc7488df3..180293b11 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/grpc/ProfileAnonymousGrpcServiceTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/grpc/ProfileAnonymousGrpcServiceTest.java @@ -161,7 +161,7 @@ public class ProfileAnonymousGrpcServiceTest extends SimpleBaseGrpcTest