summaryrefslogtreecommitdiff
path: root/src/services/note/reaction/create.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-08-17 21:48:59 +0900
committerGitHub <noreply@github.com>2021-08-17 21:48:59 +0900
commit7015df37e3545d835ecd71cdcd1910fbb16e80da (patch)
tree58fe6dd4352444302dbdadb8a31d540604437495 /src/services/note/reaction/create.ts
parentFix truncate (#7642) (diff)
downloadsharkey-7015df37e3545d835ecd71cdcd1910fbb16e80da.tar.gz
sharkey-7015df37e3545d835ecd71cdcd1910fbb16e80da.tar.bz2
sharkey-7015df37e3545d835ecd71cdcd1910fbb16e80da.zip
enhance(server): Improve user block (#7640)
* 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
Diffstat (limited to 'src/services/note/reaction/create.ts')
-rw-r--r--src/services/note/reaction/create.ts13
1 files changed, 12 insertions, 1 deletions
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);