summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/models
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2020-06-21 14:09:01 +0900
committerGitHub <noreply@github.com>2020-06-21 14:09:01 +0900
commit23e2a870cc4327f27abb269e85d7a7b1daf2ae54 (patch)
treebda3fca9281544b03016fa4cb69578dc97718173 /src/remote/activitypub/models
parentUpdate english nyaize (#6456) (diff)
downloadsharkey-23e2a870cc4327f27abb269e85d7a7b1daf2ae54.tar.gz
sharkey-23e2a870cc4327f27abb269e85d7a7b1daf2ae54.tar.bz2
sharkey-23e2a870cc4327f27abb269e85d7a7b1daf2ae54.zip
プロフィールの「場所」「誕生日」を連合するように Resove #6461 (#6463)
* AP birthday, location * unset is null * isCatを検証対象に
Diffstat (limited to 'src/remote/activitypub/models')
-rw-r--r--src/remote/activitypub/models/person.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/remote/activitypub/models/person.ts b/src/remote/activitypub/models/person.ts
index 4b8fa9a551..a3093786d0 100644
--- a/src/remote/activitypub/models/person.ts
+++ b/src/remote/activitypub/models/person.ts
@@ -138,6 +138,8 @@ export async function createPerson(uri: string, resolver?: Resolver): Promise<Us
const isBot = object.type === 'Service';
+ const bday = person['vcard:bday']?.match(/^\d{4}-\d{2}-\d{2}/);
+
// Create user
let user: IRemoteUser;
try {
@@ -168,6 +170,8 @@ export async function createPerson(uri: string, resolver?: Resolver): Promise<Us
description: person.summary ? htmlToMfm(person.summary, person.tag) : null,
url: getOneApHrefNullable(person.url),
fields,
+ birthday: bday ? bday[0] : null,
+ location: person['vcard:Address'] || null,
userHost: host
}));
@@ -319,6 +323,8 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint
const tags = extractApHashtags(person.tag).map(tag => tag.toLowerCase()).splice(0, 32);
+ const bday = person['vcard:bday']?.match(/^\d{4}-\d{2}-\d{2}/);
+
const updates = {
lastFetchedAt: new Date(),
inbox: person.inbox,
@@ -356,6 +362,8 @@ export async function updatePerson(uri: string, resolver?: Resolver | null, hint
url: getOneApHrefNullable(person.url),
fields,
description: person.summary ? htmlToMfm(person.summary, person.tag) : null,
+ birthday: bday ? bday[0] : null,
+ location: person['vcard:Address'] || null,
});
// ハッシュタグ更新