summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/create.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-04-03 20:39:27 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-04-03 20:41:54 +0900
commitc22cb377599780666ffe2c7ccdbdcb19a49f1969 (patch)
tree1e5a8d36deceeb1611025ac93f04894178e22774 /src/remote/activitypub/create.ts
parentImprove readability (diff)
downloadsharkey-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.ts16
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;
- }));
+ });
}
}