forgejo/models/repo
Gusted 3d3790ef4c
[MODERATION] Refactor excluding watchers mechanism (squash)
Backport of #2143

This solves two bugs. One bug is that due to the JOIN with the
`forgejo_blocked_users` table, duplicated users were generated if a user
had more than one user blocked, this lead to receiving more than one
entry in the actions table. The other bug is that if a user blocked more
than one user, it would still receive a action entry by a
blocked user, because the SQL query would not exclude the other
duplicated users that was generated by the JOIN.

The new solution is somewhat non-optimal in my eyes, but it's better
than rewriting the query to become a potential perfomance blocker (usage
of WHERE IN, which cannot be rewritten to a JOIN). It simply removes the
watchers after it was retrieved by the SQL query.

(cherry picked from commit c63c00b39b)
2024-01-22 21:01:08 +01:00
..
archiver.go
attachment.go
attachment_test.go
avatar.go
collaboration.go
collaboration_test.go
fork.go
fork_test.go
git.go
issue.go
language_stats.go
main_test.go
mirror.go
pushmirror.go
pushmirror_test.go
redirect.go
redirect_test.go
release.go
release_test.go
repo.go
repo_indexer.go
repo_list.go
repo_list_test.go
repo_test.go
repo_unit.go
repo_unit_test.go
search.go
star.go
star_test.go
topic.go
topic_test.go
update.go
upload.go
user_repo.go
user_repo_test.go
watch.go
watch_test.go
wiki.go
wiki_test.go