Load unregistered_timestamp for recipient

This commit is contained in:
AsamK 2026-02-25 20:08:01 +01:00
parent 956e17c81c
commit 10fa3e1619
3 changed files with 29 additions and 0 deletions

View File

@ -99,6 +99,7 @@ public class LegacyRecipientStore2 {
expiringProfileKeyCredential,
profile,
null,
null,
null);
}).collect(Collectors.toMap(Recipient::getRecipientId, r -> r));

View File

@ -23,6 +23,8 @@ public class Recipient {
private final Boolean discoverable;
private final Long unregisteredTimestamp;
private final byte[] storageRecord;
public Recipient(
@ -33,6 +35,7 @@ public class Recipient {
final ExpiringProfileKeyCredential expiringProfileKeyCredential,
final Profile profile,
final Boolean discoverable,
final Long unregisteredTimestamp,
final byte[] storageRecord
) {
this.recipientId = recipientId;
@ -42,6 +45,7 @@ public class Recipient {
this.expiringProfileKeyCredential = expiringProfileKeyCredential;
this.profile = profile;
this.discoverable = discoverable;
this.unregisteredTimestamp = unregisteredTimestamp;
this.storageRecord = storageRecord;
}
@ -53,6 +57,7 @@ public class Recipient {
expiringProfileKeyCredential = builder.expiringProfileKeyCredential;
profile = builder.profile;
discoverable = builder.discoverable;
unregisteredTimestamp = builder.unregisteredTimestamp;
storageRecord = builder.storageRecord;
}
@ -100,6 +105,14 @@ public class Recipient {
return discoverable;
}
public Long getUnregisteredTimestamp() {
return unregisteredTimestamp;
}
public boolean isRegistered() {
return unregisteredTimestamp == null;
}
public byte[] getStorageRecord() {
return storageRecord;
}
@ -131,6 +144,7 @@ public class Recipient {
private ExpiringProfileKeyCredential expiringProfileKeyCredential;
private Profile profile;
private Boolean discoverable;
private Long unregisteredTimestamp;
private byte[] storageRecord;
private Builder() {
@ -171,6 +185,11 @@ public class Recipient {
return this;
}
public Builder withUnregisteredTimestamp(final Long val) {
unregisteredTimestamp = val;
return this;
}
public Builder withStorageRecord(final byte[] val) {
storageRecord = val;
return this;

View File

@ -1549,6 +1549,7 @@ public class RecipientStore implements RecipientIdCreator, RecipientResolver, Re
getExpiringProfileKeyCredentialFromResultSet(resultSet),
getProfileFromResultSet(resultSet),
getDiscoverableFromResultSet(resultSet),
getUnregisteredTimestampFromResultSet(resultSet),
getStorageRecordFromResultSet(resultSet));
}
@ -1580,6 +1581,14 @@ public class RecipientStore implements RecipientIdCreator, RecipientResolver, Re
return discoverable;
}
private static Long getUnregisteredTimestampFromResultSet(final ResultSet resultSet) throws SQLException {
final var discoverable = resultSet.getLong("unregistered_timestamp");
if (resultSet.wasNull()) {
return null;
}
return discoverable;
}
private Profile getProfileFromResultSet(ResultSet resultSet) throws SQLException {
final var profileCapabilities = resultSet.getString("profile_capabilities");
final var profileUnidentifiedAccessMode = resultSet.getString("profile_unidentified_access_mode");