summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/models
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2018-12-22 00:12:34 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2018-12-22 00:12:34 +0900
commitbe0cb88b6c77ae2e8db4c7e96ae5be6620f08507 (patch)
treea921697c148a422a1204214badcd93e72ad8a585 /src/remote/activitypub/models
parentFix tag not found (#3710) (diff)
downloadmisskey-be0cb88b6c77ae2e8db4c7e96ae5be6620f08507.tar.gz
misskey-be0cb88b6c77ae2e8db4c7e96ae5be6620f08507.tar.bz2
misskey-be0cb88b6c77ae2e8db4c7e96ae5be6620f08507.zip
Fix sharedInbox location (#3711)
* Fix sharedInbox location * Perform update Following * Fix comment
Diffstat (limited to 'src/remote/activitypub/models')
-rw-r--r--src/remote/activitypub/models/person.ts14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/remote/activitypub/models/person.ts b/src/remote/activitypub/models/person.ts
index 6f62da5ca7..e1fb91fc17 100644
--- a/src/remote/activitypub/models/person.ts
+++ b/src/remote/activitypub/models/person.ts
@@ -18,6 +18,7 @@ import Instance from '../../../models/instance';
import getDriveFileUrl from '../../../misc/get-drive-file-url';
import { IEmoji } from '../../../models/emoji';
import { ITag } from './tag';
+import Following from '../../../models/following';
const log = debug('misskey:activitypub');
@@ -164,7 +165,7 @@ export async function createPerson(uri: string, resolver?: Resolver): Promise<IU
publicKeyPem: person.publicKey.publicKeyPem
},
inbox: person.inbox,
- sharedInbox: person.sharedInbox,
+ sharedInbox: person.sharedInbox || person.endpoints ? person.endpoints.sharedInbox : undefined,
featured: person.featured,
endpoints: person.endpoints,
uri: person.id,
@@ -340,7 +341,7 @@ export async function updatePerson(uri: string, resolver?: Resolver, hint?: obje
$set: {
lastFetchedAt: new Date(),
inbox: person.inbox,
- sharedInbox: person.sharedInbox,
+ sharedInbox: person.sharedInbox || person.endpoints ? person.endpoints.sharedInbox : undefined,
featured: person.featured,
avatarId: avatar ? avatar._id : null,
bannerId: banner ? banner._id : null,
@@ -368,6 +369,15 @@ export async function updatePerson(uri: string, resolver?: Resolver, hint?: obje
}
});
+ // 該当ユーザーが既にフォロワーになっていた場合はFollowingもアップデートする
+ await Following.update({
+ followerId: exist._id
+ }, {
+ $set: {
+ '_follower.sharedInbox': person.sharedInbox || person.endpoints ? person.endpoints.sharedInbox : undefined
+ }
+ });
+
await updateFeatured(exist._id).catch(err => console.log(err));
}