diff --git a/etebase_server/django/models.py b/etebase_server/django/models.py index e3a8e7f..336e3b8 100644 --- a/etebase_server/django/models.py +++ b/etebase_server/django/models.py @@ -66,7 +66,7 @@ class Collection(models.Model): @cached_property def stoken(self) -> str: stoken_id = ( - self.__class__.objects.filter(main_item=self.main_item) + self.__class__.objects.filter(main_item=self.main_item, items__revisions__current=True) .annotate(max_stoken=self.stoken_annotation) .values("max_stoken") .first()["max_stoken"] diff --git a/etebase_server/fastapi/routers/collection.py b/etebase_server/fastapi/routers/collection.py index c847743..97dbbf4 100644 --- a/etebase_server/fastapi/routers/collection.py +++ b/etebase_server/fastapi/routers/collection.py @@ -208,7 +208,7 @@ def collection_list_common( prefetch: Prefetch, ) -> CollectionListResponse: result, new_stoken_obj, done = filter_by_stoken_and_limit( - stoken, limit, queryset, models.Collection.stoken_annotation + stoken, limit, queryset.filter(items__revisions__current=True), models.Collection.stoken_annotation ) new_stoken = new_stoken_obj and new_stoken_obj.uid context = Context(user, prefetch) @@ -428,7 +428,7 @@ def item_list_common( prefetch: Prefetch, ) -> CollectionItemListResponse: result, new_stoken_obj, done = filter_by_stoken_and_limit( - stoken, limit, queryset, models.CollectionItem.stoken_annotation + stoken, limit, queryset.filter(revisions__current=True), models.CollectionItem.stoken_annotation ) new_stoken = new_stoken_obj and new_stoken_obj.uid context = Context(user, prefetch)