Skip to content

Commit 2f9e19e

Browse files
committed
feat: updated soft delete functionality
1 parent 1bcb1ab commit 2f9e19e

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

forum/backends/mysql/api.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,8 @@ def handle_threads_query(
678678

679679
# Soft delete filtering
680680
print(
681-
f"[DEBUG] handle_threads_query: is_deleted={is_deleted}, base_query count before filtering: {base_query.count()}"
681+
f"[DEBUG] handle_threads_query: is_deleted={is_deleted}, "
682+
f"base_query count before filtering: {base_query.count()}"
682683
)
683684
if is_deleted is not None:
684685
base_query = base_query.filter(is_deleted=is_deleted)
@@ -2219,7 +2220,8 @@ def get_contents(**kwargs: Any) -> list[dict[str, Any]]:
22192220
comments = Comment.objects.deleted().filter(**comment_filters)
22202221
threads = CommentThread.objects.deleted().filter(**thread_filters)
22212222
print(
2222-
f"[DEBUG] get_contents: Using deleted() manager - comments: {comments.count()}, threads: {threads.count()}"
2223+
f"[DEBUG] get_contents: Using deleted() manager - "
2224+
f"comments: {comments.count()}, threads: {threads.count()}"
22232225
)
22242226
elif include_deleted:
22252227
# Show all content (active + deleted)
@@ -2233,7 +2235,8 @@ def get_contents(**kwargs: Any) -> list[dict[str, Any]]:
22332235
comments = Comment.objects.active().filter(**comment_filters)
22342236
threads = CommentThread.objects.active().filter(**thread_filters)
22352237
print(
2236-
f"[DEBUG] get_contents: Using active() manager - comments: {comments.count()}, threads: {threads.count()}"
2238+
f"[DEBUG] get_contents: Using active() manager - "
2239+
f"comments: {comments.count()}, threads: {threads.count()}"
22372240
)
22382241

22392242
sort_key = kwargs.get("sort_key")
@@ -2410,7 +2413,7 @@ def get_deleted_list(
24102413

24112414
# Apply pagination
24122415
if resp_limit is not None:
2413-
queryset = queryset[resp_skip : resp_skip + resp_limit]
2416+
queryset = queryset[resp_skip:resp_skip + resp_limit]
24142417
else:
24152418
queryset = queryset[resp_skip:]
24162419

@@ -2421,6 +2424,7 @@ def get_deleted_list(
24212424
threads.append(thread_dict)
24222425

24232426
return threads
2427+
24242428
# AI Moderation Methods for MySQL
24252429
@classmethod
24262430
def flag_content_as_spam(cls, content_type: str, content_id: str) -> int:

forum/search/es.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -736,19 +736,11 @@ def get_thread_ids(
736736
filter_clause: list[dict[str, Any]] = self.build_filter_clause(
737737
context, group_ids
738738
)
739-
# Exclude soft-deleted threads from search results
740-
must_not_clause: list[dict[str, Any]] = [
741-
{"term": {"is_deleted": True}}
742-
]
743739
search_body = {
744740
"size": FORUM_MAX_DEEP_SEARCH_COMMENT_COUNT,
745741
"sort": sort_criteria or [{"updated_at": "desc"}],
746742
"query": {
747-
"bool": {
748-
"must": must_clause or [],
749-
"should": filter_clause or [],
750-
"must_not": must_not_clause,
751-
}
743+
"bool": {"must": must_clause or [], "should": filter_clause or []}
752744
},
753745
}
754746
response = self.client.search(index=self.index_names, body=search_body)

0 commit comments

Comments
 (0)