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/polls/vote.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/services/note/polls') diff --git a/src/services/note/polls/vote.ts b/src/services/note/polls/vote.ts index aea157e558..d3cf9f2117 100644 --- a/src/services/note/polls/vote.ts +++ b/src/services/note/polls/vote.ts @@ -1,7 +1,7 @@ import { publishNoteStream } from '../../stream'; import { User } from '../../../models/entities/user'; import { Note } from '../../../models/entities/note'; -import { PollVotes, NoteWatchings, Polls } from '../../../models'; +import { PollVotes, NoteWatchings, Polls, Blockings } from '../../../models'; import { Not } from 'typeorm'; import { genId } from '@/misc/gen-id'; import { createNotification } from '../../create-notification'; @@ -14,6 +14,17 @@ export default async function(user: User, note: Note, choice: number) { // Check whether is valid choice if (poll.choices[choice] == null) throw new Error('invalid choice param'); + // Check blocking + if (note.userId !== user.id) { + const block = await Blockings.findOne({ + blockerId: note.userId, + blockeeId: user.id, + }); + if (block) { + throw new Error('blocked'); + } + } + // if already voted const exist = await PollVotes.find({ noteId: note.id, -- cgit v1.2.3-freya