diff options
| author | Akihiko Odaki <nekomanma@pixiv.co.jp> | 2018-04-03 20:39:27 +0900 |
|---|---|---|
| committer | Akihiko Odaki <nekomanma@pixiv.co.jp> | 2018-04-03 20:41:54 +0900 |
| commit | c22cb377599780666ffe2c7ccdbdcb19a49f1969 (patch) | |
| tree | 1e5a8d36deceeb1611025ac93f04894178e22774 /src/remote/activitypub/create.ts | |
| parent | Improve readability (diff) | |
| download | sharkey-c22cb377599780666ffe2c7ccdbdcb19a49f1969.tar.gz sharkey-c22cb377599780666ffe2c7ccdbdcb19a49f1969.tar.bz2 sharkey-c22cb377599780666ffe2c7ccdbdcb19a49f1969.zip | |
Remove resolveRemoteUserObjects method of remote/activitypub/resolver
The value of the value returned by resolveRemoteUserObjects method of
remote/activitypub/resolver was inconsistent.
Diffstat (limited to 'src/remote/activitypub/create.ts')
| -rw-r--r-- | src/remote/activitypub/create.ts | 16 |
1 files changed, 13 insertions, 3 deletions
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<Array<Promise<IRemoteUserObject>>> { - 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; - })); + }); } } |