summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/QueryService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-06-10 19:52:47 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-06-10 19:52:47 -0400
commit27c27529f6b06374fed505ba87c6ee1165d23983 (patch)
treea658b3ca05691ed40cbafb9ca1571ca2eec29cff /packages/backend/src/core/QueryService.ts
parentmerge: Fix admin-user / instance-info styling and broken controls (!1106) (diff)
downloadsharkey-27c27529f6b06374fed505ba87c6ee1165d23983.tar.gz
sharkey-27c27529f6b06374fed505ba87c6ee1165d23983.tar.bz2
sharkey-27c27529f6b06374fed505ba87c6ee1165d23983.zip
enforce DM visibility in generateVisibilityQuery
Diffstat (limited to 'packages/backend/src/core/QueryService.ts')
-rw-r--r--packages/backend/src/core/QueryService.ts16
1 files changed, 9 insertions, 7 deletions
diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts
index 4089fc080c..2d8ea51e65 100644
--- a/packages/backend/src/core/QueryService.ts
+++ b/packages/backend/src/core/QueryService.ts
@@ -157,15 +157,17 @@ export class QueryService {
qb
// My post
.orWhere(':meId = note.userId')
- // Reply to me
- .orWhere(':meId = note.replyUserId')
- // DM to me
+ // Visible to me
.orWhere(':meIdAsList <@ note.visibleUserIds')
- // Mentions me
- .orWhere(':meIdAsList <@ note.mentions')
// Followers-only post
- .orWhere(new Brackets(qb => this
- .andFollowingUser(qb, ':meId', 'note.userId')
+ .orWhere(new Brackets(qb => qb
+ .andWhere(new Brackets(qbb => this
+ // Following author
+ .orFollowingUser(qbb, ':meId', 'note.userId')
+ // Mentions me
+ .orWhere(':meIdAsList <@ note.mentions')
+ // Reply to me
+ .orWhere(':meId = note.replyUserId')))
.andWhere('note.visibility = \'followers\'')));
q.setParameters({ meId: me.id, meIdAsList: [me.id] });