diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-06-10 08:41:57 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-06-10 08:41:57 +0900 |
| commit | 119d38ea08114427450eec11265b76bb27862bf5 (patch) | |
| tree | b6e38aef9dd8e654a11f9d3b38d91871ee034f32 /src | |
| parent | Fix bug (diff) | |
| download | sharkey-119d38ea08114427450eec11265b76bb27862bf5.tar.gz sharkey-119d38ea08114427450eec11265b76bb27862bf5.tar.bz2 sharkey-119d38ea08114427450eec11265b76bb27862bf5.zip | |
Fix bug
Diffstat (limited to 'src')
| -rw-r--r-- | src/models/user.ts | 2 | ||||
| -rw-r--r-- | src/remote/activitypub/models/person.ts | 20 |
2 files changed, 19 insertions, 3 deletions
diff --git a/src/models/user.ts b/src/models/user.ts index c389f477ab..f0620a6cfd 100644 --- a/src/models/user.ts +++ b/src/models/user.ts @@ -48,6 +48,8 @@ type IUserBase = { usernameLower: string; avatarId: mongo.ObjectID; bannerId: mongo.ObjectID; + avatarUrl?: string; + bannerUrl?: string; wallpaperId: mongo.ObjectID; data: any; description: string; diff --git a/src/remote/activitypub/models/person.ts b/src/remote/activitypub/models/person.ts index 3bc04b8cbe..96e73406b2 100644 --- a/src/remote/activitypub/models/person.ts +++ b/src/remote/activitypub/models/person.ts @@ -118,19 +118,33 @@ export async function createPerson(value: any, resolver?: Resolver): Promise<IUs } //#region アイコンとヘッダー画像をフェッチ - const [avatarId, bannerId] = (await Promise.all([ + const [avatar, banner] = (await Promise.all<IDriveFile>([ person.icon, person.image ].map(img => img == null ? Promise.resolve(null) : resolveImage(user, img) - ))).map(file => file != null ? file._id : null); + ))); + + const avatarId = avatar ? avatar._id : null; + const bannerId = banner ? banner._id : null; + const avatarUrl = avatar && avatar.metadata.isMetaOnly ? avatar.metadata.url : null; + const bannerUrl = banner && banner.metadata.isMetaOnly ? banner.metadata.url : null; - User.update({ _id: user._id }, { $set: { avatarId, bannerId } }); + await User.update({ _id: user._id }, { + $set: { + avatarId, + bannerId, + avatarUrl, + bannerUrl + } + }); user.avatarId = avatarId; user.bannerId = bannerId; + user.avatarUrl = avatarUrl; + user.bannerUrl = bannerUrl; //#endregion return user; |