summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/messaging
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/server/api/endpoints/messaging
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/server/api/endpoints/messaging')
-rw-r--r--src/server/api/endpoints/messaging/messages/create.ts19
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);