mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-20 19:18:03 +01:00
Replace DeviceCapabilities entity with Set<DeviceCapability>
This commit is contained in:
@@ -11,12 +11,14 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.validation.constraints.AssertTrue;
|
||||
import javax.validation.constraints.Size;
|
||||
import org.whispersystems.textsecuregcm.auth.UnidentifiedAccessUtil;
|
||||
import org.whispersystems.textsecuregcm.storage.Device.DeviceCapabilities;
|
||||
import org.whispersystems.textsecuregcm.storage.DeviceCapability;
|
||||
import org.whispersystems.textsecuregcm.util.ByteArrayAdapter;
|
||||
import org.whispersystems.textsecuregcm.util.DeviceCapabilityAdapter;
|
||||
import org.whispersystems.textsecuregcm.util.ExactlySize;
|
||||
|
||||
public class AccountAttributes {
|
||||
@@ -47,7 +49,10 @@ public class AccountAttributes {
|
||||
private boolean unrestrictedUnidentifiedAccess;
|
||||
|
||||
@JsonProperty
|
||||
private DeviceCapabilities capabilities;
|
||||
@JsonSerialize(using = DeviceCapabilityAdapter.Serializer.class)
|
||||
@JsonDeserialize(using = DeviceCapabilityAdapter.Deserializer.class)
|
||||
@Nullable
|
||||
private Set<DeviceCapability> capabilities;
|
||||
|
||||
@JsonProperty
|
||||
private boolean discoverableByPhoneNumber = true;
|
||||
@@ -68,7 +73,7 @@ public class AccountAttributes {
|
||||
final byte[] name,
|
||||
final String registrationLock,
|
||||
final boolean discoverableByPhoneNumber,
|
||||
final DeviceCapabilities capabilities) {
|
||||
final Set<DeviceCapability> capabilities) {
|
||||
this.fetchesMessages = fetchesMessages;
|
||||
this.registrationId = registrationId;
|
||||
this.phoneNumberIdentityRegistrationId = phoneNumberIdentifierRegistrationId;
|
||||
@@ -106,7 +111,8 @@ public class AccountAttributes {
|
||||
return unrestrictedUnidentifiedAccess;
|
||||
}
|
||||
|
||||
public DeviceCapabilities getCapabilities() {
|
||||
@Nullable
|
||||
public Set<DeviceCapability> getCapabilities() {
|
||||
return capabilities;
|
||||
}
|
||||
|
||||
@@ -130,11 +136,6 @@ public class AccountAttributes {
|
||||
return this;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
public void setPhoneNumberIdentityRegistrationId(final Integer phoneNumberIdentityRegistrationId) {
|
||||
this.phoneNumberIdentityRegistrationId = phoneNumberIdentityRegistrationId;
|
||||
}
|
||||
|
||||
@AssertTrue
|
||||
public boolean isEachRegistrationIdValid() {
|
||||
return validRegistrationId(registrationId) && validRegistrationId(phoneNumberIdentityRegistrationId);
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.whispersystems.textsecuregcm.util.ServiceIdentifierAdapter;
|
||||
import org.whispersystems.textsecuregcm.util.IdentityKeyAdapter;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class BaseProfileResponse {
|
||||
|
||||
@@ -32,7 +33,7 @@ public class BaseProfileResponse {
|
||||
private boolean unrestrictedUnidentifiedAccess;
|
||||
|
||||
@JsonProperty
|
||||
private UserCapabilities capabilities;
|
||||
private Map<String, Boolean> capabilities;
|
||||
|
||||
@JsonProperty
|
||||
private List<Badge> badges;
|
||||
@@ -48,7 +49,7 @@ public class BaseProfileResponse {
|
||||
public BaseProfileResponse(final IdentityKey identityKey,
|
||||
final byte[] unidentifiedAccess,
|
||||
final boolean unrestrictedUnidentifiedAccess,
|
||||
final UserCapabilities capabilities,
|
||||
final Map<String, Boolean> capabilities,
|
||||
final List<Badge> badges,
|
||||
final ServiceIdentifier uuid) {
|
||||
|
||||
@@ -72,7 +73,7 @@ public class BaseProfileResponse {
|
||||
return unrestrictedUnidentifiedAccess;
|
||||
}
|
||||
|
||||
public UserCapabilities getCapabilities() {
|
||||
public Map<String, Boolean> getCapabilities() {
|
||||
return capabilities;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Copyright 2013-2022 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.whispersystems.textsecuregcm.entities;
|
||||
|
||||
import org.whispersystems.textsecuregcm.storage.Account;
|
||||
|
||||
public record UserCapabilities(
|
||||
boolean deleteSync,
|
||||
boolean versionedExpirationTimer) {
|
||||
|
||||
public static UserCapabilities createForAccount(final Account account) {
|
||||
return new UserCapabilities(account.isDeleteSyncSupported(),
|
||||
account.isVersionedExpirationTimerSupported());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user