Update remote Emoji (#3680)

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

View File

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

View File

@ -181,6 +181,20 @@ export async function extractEmojis(tags: ITag[], host_: string) {
});
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;
}
@ -189,8 +203,10 @@ export async function extractEmojis(tags: ITag[], host_: string) {
return await Emoji.insert({
host,
name,
uri: tag.id,
url: tag.icon.url,
aliases: [],
updatedAt: tag.updated ? new Date(tag.updated) : undefined,
aliases: []
});
})
);