From 7015df37e3545d835ecd71cdcd1910fbb16e80da Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 17 Aug 2021 21:48:59 +0900 Subject: enhance(server): Improve user block (#7640) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance(server): Improve user block * Update CHANGELOG.md * ユーザーリスト対応 * 相手から見れなくなるように * Update 1629004542760-chart-reindex.ts https://github.com/misskey-dev/misskey/commit/2365761ba5445f26c8b66b3b20ef4be44e70d549#commitcomment-54919821 * update test * add test * add todos * Update 1629004542760-chart-reindex.ts --- src/services/note/reaction/create.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/services/note/reaction') diff --git a/src/services/note/reaction/create.ts b/src/services/note/reaction/create.ts index ce6ae08b30..b8a8d172f1 100644 --- a/src/services/note/reaction/create.ts +++ b/src/services/note/reaction/create.ts @@ -5,7 +5,7 @@ import { renderActivity } from '../../../remote/activitypub/renderer'; import { toDbReaction, decodeReaction } from '@/misc/reaction-lib'; import { User, IRemoteUser } from '../../../models/entities/user'; import { Note } from '../../../models/entities/note'; -import { NoteReactions, Users, NoteWatchings, Notes, Emojis } from '../../../models'; +import { NoteReactions, Users, NoteWatchings, Notes, Emojis, Blockings } from '../../../models'; import { Not } from 'typeorm'; import { perUserReactionsChart } from '../../chart'; import { genId } from '@/misc/gen-id'; @@ -16,6 +16,17 @@ import { NoteReaction } from '../../../models/entities/note-reaction'; import { IdentifiableError } from '@/misc/identifiable-error'; export default async (user: { id: User['id']; host: User['host']; }, note: Note, reaction?: string) => { + // Check blocking + if (note.userId !== user.id) { + const block = await Blockings.findOne({ + blockerId: note.userId, + blockeeId: user.id, + }); + if (block) { + throw new IdentifiableError('e70412a4-7197-4726-8e74-f3e0deb92aa7'); + } + } + // TODO: cache reaction = await toDbReaction(reaction, user.host); -- cgit v1.2.3-freya