外部サービス連携情報をPersonのfieldsに乗せて配信する (#3499)

* Update person.ts

* Update person.ts

refs: https://github.com/syuilo/misskey/pull/3499#issuecomment-444484557

* Update person.ts

refs: https://github.com/syuilo/misskey/pull/3499#pullrequestreview-181755475
This commit is contained in:
Acid Chicken (硫酸鶏) 2018-12-06 00:37:59 +09:00 committed by syuilo
parent 06eeb36ae5
commit 9b893b2fe2

View File

@ -13,6 +13,28 @@ export default async (user: ILocalUser) => {
DriveFile.findOne({ _id: user.avatarId }),
DriveFile.findOne({ _id: user.bannerId })
]);
const attachment: {
type: string,
name: string,
value: string,
verified_at?: string
}[] = [];
user.twitter && attachment.push({
type: 'PropertyValue',
name: 'Twitter',
value: `<a href="https://twitter.com/intent/user?user_id=${user.twitter.userId}" rel="me nofollow noopener" target="_blank"><span>@${user.twitter.screenName}</span></a>`
});
user.github && attachment.push({
type: 'PropertyValue',
name: 'GitHub',
value: `<a href="https://github.com/${user.github.login}" rel="me nofollow noopener" target="_blank"><span>@${user.github.login}</span></a>`
});
user.discord && attachment.push({
type: 'PropertyValue',
name: 'Discord',
value: `<a href="https://discordapp.com/users/${user.discord.id}" rel="me nofollow noopener" target="_blank"><span>@${user.discord.username}#${user.discord.discriminator}</span></a>`
});
return {
type: user.isBot ? 'Service' : 'Person',
@ -31,6 +53,7 @@ export default async (user: ILocalUser) => {
image: user.bannerId && renderImage(banner),
manuallyApprovesFollowers: user.isLocked,
publicKey: renderKey(user),
isCat: user.isCat
isCat: user.isCat,
attachment: attachment.length ? attachment : undefined
};
};