Implement archive function (#46)

This commit is contained in:
Sascha Ißbrücker
2021-02-14 10:51:32 +01:00
parent f555bba9e9
commit 256084f6cb
10 changed files with 167 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
from django.contrib.auth.models import User
from django.db.models import Q, Count, Aggregate, CharField, Value, BooleanField
from django.db.models import Q, Count, Aggregate, CharField, Value, BooleanField, QuerySet
from bookmarks.models import Bookmark, Tag
from bookmarks.utils import unique
@@ -17,7 +17,7 @@ class Concat(Aggregate):
**extra)
def query_bookmarks(user: User, query_string: str):
def _base_bookmarks_query(user: User, query_string: str) -> QuerySet:
# Add aggregated tag info to bookmark instances
query_set = Bookmark.objects \
.annotate(tag_count=Count('tags'),
@@ -51,6 +51,16 @@ def query_bookmarks(user: User, query_string: str):
return query_set
def query_bookmarks(user: User, query_string: str) -> QuerySet:
return _base_bookmarks_query(user, query_string) \
.filter(is_archived=False)
def query_archived_bookmarks(user: User, query_string: str) -> QuerySet:
return _base_bookmarks_query(user, query_string) \
.filter(is_archived=True)
def query_tags(user: User, query_string: str):
query_set = Tag.objects