summaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2019-02-15 05:56:28 +0900
committerGitHub <noreply@github.com>2019-02-15 05:56:28 +0900
commit43864f0da427285cecb502328be819f2e6eb5883 (patch)
tree259c111189c04fb8227735127bb949d544d5ca91 /src/services
parent非ログイン時にお知らせを表示 (diff)
downloadsharkey-43864f0da427285cecb502328be819f2e6eb5883.tar.gz
sharkey-43864f0da427285cecb502328be819f2e6eb5883.tar.bz2
sharkey-43864f0da427285cecb502328be819f2e6eb5883.zip
既にフォローされている場合はフォローリクエストを生成しないように (#4266)
Diffstat (limited to 'src/services')
-rw-r--r--src/services/following/create.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/services/following/create.ts b/src/services/following/create.ts
index a050f40b0e..5a92e4103a 100644
--- a/src/services/following/create.ts
+++ b/src/services/following/create.ts
@@ -153,8 +153,17 @@ export default async function(follower: IUser, followee: IUser, requestId?: stri
if (followee.isLocked || (followee.carefulBot && follower.isBot) || (isLocalUser(follower) && isRemoteUser(followee))) {
let autoAccept = false;
+ // 鍵アカウントであっても、既にフォローされていた場合はスルー
+ const following = await Following.findOne({
+ followerId: follower._id,
+ followeeId: followee._id,
+ });
+ if (following) {
+ autoAccept = true;
+ }
+
// フォローしているユーザーは自動承認オプション
- if (isLocalUser(followee) && followee.autoAcceptFollowed) {
+ if (!autoAccept && (isLocalUser(followee) && followee.autoAcceptFollowed)) {
const followed = await Following.findOne({
followerId: followee._id,
followeeId: follower._id