summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-01-21 11:15:36 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-01-21 11:15:36 +0900
commit4000da6be809804ec84ec5b5a07d34730a56681d (patch)
treefc475f2346577c3dcb81cef78fdcee2870060f79 /src
parent[Server] Fix #2745 (diff)
downloadmisskey-4000da6be809804ec84ec5b5a07d34730a56681d.tar.gz
misskey-4000da6be809804ec84ec5b5a07d34730a56681d.tar.bz2
misskey-4000da6be809804ec84ec5b5a07d34730a56681d.zip
[Server] Fix bug
Diffstat (limited to 'src')
-rw-r--r--src/remote/activitypub/models/person.ts66
1 files changed, 37 insertions, 29 deletions
diff --git a/src/remote/activitypub/models/person.ts b/src/remote/activitypub/models/person.ts
index 399c7ec889..cbde5dc698 100644
--- a/src/remote/activitypub/models/person.ts
+++ b/src/remote/activitypub/models/person.ts
@@ -336,37 +336,45 @@ export async function updatePerson(uri: string, resolver?: Resolver, hint?: obje
console.log(`cat not extract fields: ${e}`);
});
+ const updates = {
+ lastFetchedAt: new Date(),
+ inbox: person.inbox,
+ sharedInbox: person.sharedInbox || (person.endpoints ? person.endpoints.sharedInbox : undefined),
+ featured: person.featured,
+ emojis: emojiNames,
+ description: htmlToMFM(person.summary),
+ followersCount,
+ followingCount,
+ notesCount,
+ name: person.name,
+ url: person.url,
+ endpoints: person.endpoints,
+ fields,
+ isBot: object.type == 'Service',
+ isCat: (person as any).isCat === true,
+ isLocked: person.manuallyApprovesFollowers,
+ createdAt: Date.parse(person.published) || null,
+ publicKey: {
+ id: person.publicKey.id,
+ publicKeyPem: person.publicKey.publicKeyPem
+ },
+ } as any;
+
+ if (avatar) {
+ updates.avatarId = avatar._id;
+ updates.avatarUrl = getDriveFileUrl(avatar, true);
+ updates.avatarColor = avatar.metadata.properties.avgColor ? avatar.metadata.properties.avgColor : null;
+ }
+
+ if (banner) {
+ updates.bannerId = banner._id;
+ updates.bannerUrl = getDriveFileUrl(banner, true);
+ updates.bannerColor = banner.metadata.properties.avgColor ? banner.metadata.properties.avgColor : null;
+ }
+
// Update user
await User.update({ _id: exist._id }, {
- $set: {
- lastFetchedAt: new Date(),
- inbox: person.inbox,
- sharedInbox: person.sharedInbox || (person.endpoints ? person.endpoints.sharedInbox : undefined),
- featured: person.featured,
- avatarId: avatar ? avatar._id : null,
- bannerId: banner ? banner._id : null,
- avatarUrl: getDriveFileUrl(avatar, true),
- bannerUrl: getDriveFileUrl(banner, false),
- avatarColor: avatar && avatar.metadata.properties.avgColor ? avatar.metadata.properties.avgColor : null,
- bannerColor: banner && banner.metadata.properties.avgColor ? banner.metadata.properties.avgColor : null,
- emojis: emojiNames,
- description: htmlToMFM(person.summary),
- followersCount,
- followingCount,
- notesCount,
- name: person.name,
- url: person.url,
- endpoints: person.endpoints,
- fields,
- isBot: object.type == 'Service',
- isCat: (person as any).isCat === true,
- isLocked: person.manuallyApprovesFollowers,
- createdAt: Date.parse(person.published) || null,
- publicKey: {
- id: person.publicKey.id,
- publicKeyPem: person.publicKey.publicKeyPem
- },
- }
+ $set: updates
});
// 該当ユーザーが既にフォロワーになっていた場合はFollowingもアップデートする