summaryrefslogtreecommitdiff
path: root/src/server/api/common/generate-visibility-query.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
commit0e4a111f81cceed275d9bec2695f6e401fb654d8 (patch)
tree40874799472fa07416f17b50a398ac33b7771905 /src/server/api/common/generate-visibility-query.ts
parentupdate deps (diff)
downloadmisskey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.gz
misskey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.bz2
misskey-0e4a111f81cceed275d9bec2695f6e401fb654d8.zip
refactoring
Resolve #7779
Diffstat (limited to 'src/server/api/common/generate-visibility-query.ts')
-rw-r--r--src/server/api/common/generate-visibility-query.ts40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/server/api/common/generate-visibility-query.ts b/src/server/api/common/generate-visibility-query.ts
deleted file mode 100644
index 813e8b6c09..0000000000
--- a/src/server/api/common/generate-visibility-query.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { User } from '@/models/entities/user';
-import { Followings } from '@/models/index';
-import { Brackets, SelectQueryBuilder } from 'typeorm';
-
-export function generateVisibilityQuery(q: SelectQueryBuilder<any>, me?: { id: User['id'] } | null) {
- if (me == null) {
- q.andWhere(new Brackets(qb => { qb
- .where(`note.visibility = 'public'`)
- .orWhere(`note.visibility = 'home'`);
- }));
- } else {
- const followingQuery = Followings.createQueryBuilder('following')
- .select('following.followeeId')
- .where('following.followerId = :followerId', { followerId: me.id });
-
- q.andWhere(new Brackets(qb => { qb
- // 公開投稿である
- .where(new Brackets(qb => { qb
- .where(`note.visibility = 'public'`)
- .orWhere(`note.visibility = 'home'`);
- }))
- // または 自分自身
- .orWhere('note.userId = :userId1', { userId1: me.id })
- // または 自分宛て
- .orWhere(`'{"${me.id}"}' <@ note.visibleUserIds`)
- .orWhere(new Brackets(qb => { qb
- // または フォロワー宛ての投稿であり、
- .where('note.visibility = \'followers\'')
- .andWhere(new Brackets(qb => { qb
- // 自分がフォロワーである
- .where(`note.userId IN (${ followingQuery.getQuery() })`)
- // または 自分の投稿へのリプライ
- .orWhere('note.replyUserId = :userId3', { userId3: me.id });
- }));
- }));
- }));
-
- q.setParameters(followingQuery.getParameters());
- }
-}