Update remote Emoji (#3680)

This commit is contained in:
MeiMei 2018-12-19 21:19:43 +09:00 committed by syuilo
parent 8025b121af
commit acc6f54557
2 changed files with 19 additions and 1 deletions

View file

@ -15,4 +15,6 @@ export type IEmoji = {
url: string; url: string;
aliases?: string[]; aliases?: string[];
updatedAt?: Date; updatedAt?: Date;
/** AP object id */
uri?: string;
}; };

View file

@ -181,6 +181,20 @@ export async function extractEmojis(tags: ITag[], host_: string) {
}); });
if (exists) { if (exists) {
if ((tag.updated != null && exists.updatedAt == null)
|| (tag.id != null && exists.uri == null)
|| (tag.updated != null && exists.updatedAt != null && new Date(tag.updated) > exists.updatedAt)) {
return await Emoji.findOneAndUpdate({
host,
name,
}, {
$set: {
uri: tag.id,
url: tag.icon.url,
updatedAt: new Date(tag.updated),
}
});
}
return exists; return exists;
} }
@ -189,8 +203,10 @@ export async function extractEmojis(tags: ITag[], host_: string) {
return await Emoji.insert({ return await Emoji.insert({
host, host,
name, name,
uri: tag.id,
url: tag.icon.url, url: tag.icon.url,
aliases: [], updatedAt: tag.updated ? new Date(tag.updated) : undefined,
aliases: []
}); });
}) })
); );