public GroupInfoV1 getOrCreateGroupV1(GroupIdV1 groupId) {
try (final var connection = database.getConnection()) {
- var group = getGroup(connection, groupId);
+ return getOrCreateGroupV1(connection, groupId);
+ } catch (SQLException e) {
+ throw new RuntimeException("Failed read from group store", e);
+ }
+ }
- if (group != null) {
- return group;
- }
+ public GroupInfoV1 getOrCreateGroupV1(final Connection connection, final GroupIdV1 groupId) throws SQLException {
+ var group = getGroup(connection, groupId);
- if (getGroupV2ByV1Id(connection, groupId) == null) {
- return new GroupInfoV1(groupId);
- }
+ if (group != null) {
+ return group;
+ }
- return null;
- } catch (SQLException e) {
- throw new RuntimeException("Failed read from group store", e);
+ if (getGroupV2ByV1Id(connection, groupId) == null) {
+ return new GroupInfoV1(groupId);
}
+
+ return null;
}
public GroupInfoV2 getGroupOrPartialMigrate(
final var groupV1Record = update.newRecord();
final var groupIdV1 = GroupId.v1(groupV1Record.getGroupId());
- final var group = account.getGroupStore().getGroup(connection, groupIdV1);
- group.setBlocked(groupV1Record.isBlocked());
- account.getGroupStore().updateGroup(connection, group);
- account.getGroupStore()
- .storeStorageRecord(connection,
- group.getGroupId(),
- groupV1Record.getId(),
- groupV1Record.toProto().encode());
+ final var group = account.getGroupStore().getOrCreateGroupV1(connection, groupIdV1);
+ if (group != null) {
+ group.setBlocked(groupV1Record.isBlocked());
+ account.getGroupStore().updateGroup(connection, group);
+ account.getGroupStore()
+ .storeStorageRecord(connection,
+ group.getGroupId(),
+ groupV1Record.getId(),
+ groupV1Record.toProto().encode());
+ }
}
@Override