summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/i/notifications.ts
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2020-01-02 02:47:20 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2020-01-02 02:47:20 +0900
commit541f5f13149022dc637a4afb5ff91d103e2ed7d6 (patch)
tree82c2ff166507e48726b7bf923c494e81a18569bf /src/server/api/endpoints/i/notifications.ts
parentFix: リモートプロキシ時にサムネイルのContent-Typeがおかし... (diff)
downloadsharkey-541f5f13149022dc637a4afb5ff91d103e2ed7d6.tar.gz
sharkey-541f5f13149022dc637a4afb5ff91d103e2ed7d6.tar.bz2
sharkey-541f5f13149022dc637a4afb5ff91d103e2ed7d6.zip
Hide suspended user profile (#5452)
Diffstat (limited to 'src/server/api/endpoints/i/notifications.ts')
-rw-r--r--src/server/api/endpoints/i/notifications.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/api/endpoints/i/notifications.ts b/src/server/api/endpoints/i/notifications.ts
index aa72e9a176..cd00501a2e 100644
--- a/src/server/api/endpoints/i/notifications.ts
+++ b/src/server/api/endpoints/i/notifications.ts
@@ -3,7 +3,7 @@ import { ID } from '../../../../misc/cafy-id';
import { readNotification } from '../../common/read-notification';
import define from '../../define';
import { makePaginationQuery } from '../../common/make-pagination-query';
-import { Notifications, Followings, Mutings } from '../../../../models';
+import { Notifications, Followings, Mutings, Users } from '../../../../models';
export const meta = {
desc: {
@@ -72,6 +72,10 @@ export default define(meta, async (ps, user) => {
.select('muting.muteeId')
.where('muting.muterId = :muterId', { muterId: user.id });
+ const suspendedQuery = Users.createQueryBuilder('users')
+ .select('id')
+ .where('users.isSuspended = TRUE');
+
const query = makePaginationQuery(Notifications.createQueryBuilder('notification'), ps.sinceId, ps.untilId)
.andWhere(`notification.notifieeId = :meId`, { meId: user.id })
.leftJoinAndSelect('notification.notifier', 'notifier');
@@ -79,6 +83,8 @@ export default define(meta, async (ps, user) => {
query.andWhere(`notification.notifierId NOT IN (${ mutingQuery.getQuery() })`);
query.setParameters(mutingQuery.getParameters());
+ query.andWhere(`notification.notifierId NOT IN (${ suspendedQuery.getQuery() })`);
+
if (ps.following) {
query.andWhere(`((notification.notifierId IN (${ followingQuery.getQuery() })) OR (notification.notifierId = :meId))`, { meId: user.id });
query.setParameters(followingQuery.getParameters());