From c22cb377599780666ffe2c7ccdbdcb19a49f1969 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Tue, 3 Apr 2018 20:39:27 +0900 Subject: Remove resolveRemoteUserObjects method of remote/activitypub/resolver The value of the value returned by resolveRemoteUserObjects method of remote/activitypub/resolver was inconsistent. --- src/remote/activitypub/create.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/remote/activitypub/create.ts') diff --git a/src/remote/activitypub/create.ts b/src/remote/activitypub/create.ts index f70f56b79f..8f3e146290 100644 --- a/src/remote/activitypub/create.ts +++ b/src/remote/activitypub/create.ts @@ -93,9 +93,19 @@ class Creator { } public async create(parentResolver, value): Promise>> { - const results = await parentResolver.resolveRemoteUserObjects(value); + const collection = await parentResolver.resolveCollection(value); + + return collection.object.map(async element => { + if (typeof element === 'string') { + const object = RemoteUserObject.findOne({ uri: element }); + + if (object !== null) { + return object; + } + } + + const { resolver, object } = await collection.resolver.resolveOne(element); - return results.map(promisedResult => promisedResult.then(({ resolver, object }) => { switch (object.type) { case 'Image': return this.createImage(object); @@ -105,7 +115,7 @@ class Creator { } return null; - })); + }); } } -- cgit v1.2.3-freya