Always deduplicate Activity Streams objects by id

This commit is contained in:
Akihiko Odaki 2018-04-04 00:14:18 +09:00
parent 543bd9dfb5
commit 7ca7c5e6be

View file

@ -105,10 +105,11 @@ class Creator {
const collection = await parentResolver.resolveCollection(value);
return collection.object.map(async element => {
if (typeof element === 'string') {
const uri = element.id || element;
try {
await Promise.all([
DriveFile.findOne({ 'metadata.uri': element }).then(file => {
DriveFile.findOne({ 'metadata.uri': uri }).then(file => {
if (file === null) {
return;
}
@ -118,7 +119,7 @@ class Creator {
$id: file._id
};
}, () => {}),
Post.findOne({ uri: element }).then(post => {
Post.findOne({ uri }).then(post => {
if (post === null) {
return;
}
@ -135,7 +136,6 @@ class Creator {
object
};
}
}
const { resolver, object } = await collection.resolver.resolveOne(element);