summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/act
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/act
parentImprove readability (diff)
downloadmisskey-c22cb377599780666ffe2c7ccdbdcb19a49f1969.tar.gz
misskey-c22cb377599780666ffe2c7ccdbdcb19a49f1969.tar.bz2
misskey-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/act')
-rw-r--r--src/remote/activitypub/act/index.ts20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/remote/activitypub/act/index.ts b/src/remote/activitypub/act/index.ts
index 2af1902215..030f1cf25b 100644
--- a/src/remote/activitypub/act/index.ts
+++ b/src/remote/activitypub/act/index.ts
@@ -4,27 +4,29 @@ import undo from './undo';
import createObject from '../create';
import Resolver from '../resolver';
-export default (resolver: Resolver, actor, value, distribute?: boolean) => {
- return resolver.resolve(value).then(resolved => Promise.all(resolved.map(async promisedResult => {
- const result = await promisedResult;
- const created = await (await createObject(result.resolver, actor, [result.object], distribute))[0];
+export default async (parentResolver: Resolver, actor, value, distribute?: boolean) => {
+ const collection = await parentResolver.resolveCollection(value);
+
+ return collection.object.map(async element => {
+ const { resolver, object } = await collection.resolver.resolveOne(element);
+ const created = await (await createObject(resolver, actor, [object], distribute))[0];
if (created !== null) {
return created;
}
- switch (result.object.type) {
+ switch (object.type) {
case 'Create':
- return create(result.resolver, actor, result.object, distribute);
+ return create(resolver, actor, object, distribute);
case 'Follow':
- return follow(result.resolver, actor, result.object, distribute);
+ return follow(resolver, actor, object, distribute);
case 'Undo':
- return undo(result.resolver, actor, result.object);
+ return undo(resolver, actor, object);
default:
return null;
}
- })));
+ });
};