diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2021-08-17 21:48:59 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-17 21:48:59 +0900 |
| commit | 7015df37e3545d835ecd71cdcd1910fbb16e80da (patch) | |
| tree | 58fe6dd4352444302dbdadb8a31d540604437495 /src/server/api/endpoints/messaging/messages/create.ts | |
| parent | Fix truncate (#7642) (diff) | |
| download | sharkey-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/server/api/endpoints/messaging/messages/create.ts')
| -rw-r--r-- | src/server/api/endpoints/messaging/messages/create.ts | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/server/api/endpoints/messaging/messages/create.ts b/src/server/api/endpoints/messaging/messages/create.ts index 1cd50145b3..a00513a24d 100644 --- a/src/server/api/endpoints/messaging/messages/create.ts +++ b/src/server/api/endpoints/messaging/messages/create.ts @@ -3,7 +3,7 @@ import { ID } from '@/misc/cafy-id'; import define from '../../../define'; import { ApiError } from '../../../error'; import { getUser } from '../../../common/getters'; -import { MessagingMessages, DriveFiles, UserGroups, UserGroupJoinings } from '../../../../../models'; +import { MessagingMessages, DriveFiles, UserGroups, UserGroupJoinings, Blockings } from '../../../../../models'; import { User } from '../../../../../models/entities/user'; import { UserGroup } from '../../../../../models/entities/user-group'; import { createMessage } from '../../../../../services/messages/create'; @@ -74,7 +74,13 @@ export const meta = { message: 'Content required. You need to set text or fileId.', code: 'CONTENT_REQUIRED', id: '25587321-b0e6-449c-9239-f8925092942c' - } + }, + + youHaveBeenBlocked: { + message: 'You cannot send a message because you have been blocked by this user.', + code: 'YOU_HAVE_BEEN_BLOCKED', + id: 'c15a5199-7422-4968-941a-2a462c478f7d' + }, } }; @@ -93,6 +99,15 @@ export default define(meta, async (ps, user) => { if (e.id === '15348ddd-432d-49c2-8a5a-8069753becff') throw new ApiError(meta.errors.noSuchUser); throw e; }); + + // Check blocking + const block = await Blockings.findOne({ + blockerId: recipientUser.id, + blockeeId: user.id, + }); + if (block) { + throw new ApiError(meta.errors.youHaveBeenBlocked); + } } else if (ps.groupId != null) { // Fetch recipient (group) recipientGroup = await UserGroups.findOne(ps.groupId); |