From d3cf4da6410bc1524f0c7aac63e4eb1c9bae300b Mon Sep 17 00:00:00 2001 From: mein Name Date: Fri, 28 Feb 2025 06:32:41 -0500 Subject: [PATCH] add tags and rating_distribution to Item api --- catalog/common/models.py | 3 ++- catalog/jobs/discover.py | 1 + journal/tests.py | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/catalog/common/models.py b/catalog/common/models.py index 1308ee83..a6201474 100644 --- a/catalog/common/models.py +++ b/catalog/common/models.py @@ -263,7 +263,8 @@ class ItemInSchema(Schema): cover_image_url: str | None rating: float | None rating_count: int | None - rating_distribution: dict[str, int] | None + rating_distribution: list[int] | None + tags: list[str] | None # brief is deprecated brief: str = Field(deprecated=True, alias="display_description") diff --git a/catalog/jobs/discover.py b/catalog/jobs/discover.py index 771afce2..91ac4784 100644 --- a/catalog/jobs/discover.py +++ b/catalog/jobs/discover.py @@ -122,6 +122,7 @@ class DiscoverGenerator(BaseJob): } ) for i in items: + i.tags i.rating i.rating_count i.rating_distribution diff --git a/journal/tests.py b/journal/tests.py index f8a70aee..abc3fbac 100644 --- a/journal/tests.py +++ b/journal/tests.py @@ -153,9 +153,10 @@ class TagTest(TestCase): t2 = "tag 2" t3 = "tag 3" TagManager.tag_item_for_owner(self.user2.identity, self.book1, [t1, t3]) - self.assertEqual(self.book1.tags, [t1, t3]) + # self.book1.tags is precached when self.book1 was created (and indexed) + self.assertEqual(TagManager.indexable_tags_for_item(self.book1), [t1, t3]) TagManager.tag_item_for_owner(self.user2.identity, self.book1, [t2, t3]) - self.assertEqual(self.book1.tags, [t2, t3]) + self.assertEqual(TagManager.indexable_tags_for_item(self.book1), [t2, t3]) m = Mark(self.user2.identity, self.book1) self.assertEqual(m.tags, [t2, t3])