diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java index ea05938d49c5a24fe0d0da14bd40d718e2605824..8835b752629328258708c414c534ef5785edfb54 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java @@ -266,6 +266,14 @@ public interface DatabaseComponent { */ Collection<LocalAuthor> getLocalAuthors(Transaction txn) throws DbException; + /** + * Returns the IDs of all messages in the given group. + * <p/> + * Read-only. + */ + Collection<MessageId> getMessageIds(Transaction txn, GroupId g) + throws DbException; + /** * Returns the IDs of any messages that need to be validated. * <p/> diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java index aaab4b9dd8ae51dbaf516a757066ec3d23e7f7ba..3661039aa8bc06c6a162937706c406700830ba03 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/DatabaseComponentImpl.java @@ -466,6 +466,15 @@ class DatabaseComponentImpl<T> implements DatabaseComponent { return db.getLocalAuthors(txn); } + @Override + public Collection<MessageId> getMessageIds(Transaction transaction, + GroupId g) throws DbException { + T txn = unbox(transaction); + if (!db.containsGroup(txn, g)) + throw new NoSuchGroupException(); + return db.getMessageIds(txn, g); + } + @Override public Collection<MessageId> getMessagesToValidate(Transaction transaction) throws DbException {