Distribute posts from remote

This commit is contained in:
Akihiko Odaki
2018-04-02 17:11:14 +09:00
parent aa94035987
commit ce7efc4dbb
12 changed files with 417 additions and 353 deletions

View File

@ -1,9 +1,9 @@
import create from '../create';
export default (resolver, actor, activity) => {
export default (resolver, actor, activity, distribute) => {
if ('actor' in activity && actor.account.uri !== activity.actor) {
throw new Error();
}
return create(resolver, actor, activity.object);
return create(resolver, actor, activity.object, distribute);
};

View File

@ -2,10 +2,10 @@ import create from './create';
import createObject from '../create';
import Resolver from '../resolver';
export default (actor, value) => {
export default (actor, value, distribute) => {
return new Resolver().resolve(value).then(resolved => Promise.all(resolved.map(async promisedResult => {
const { resolver, object } = await promisedResult;
const created = await (await createObject(resolver, actor, [object]))[0];
const created = await (await createObject(resolver, actor, [object], distribute))[0];
if (created !== null) {
return created;
@ -13,7 +13,7 @@ export default (actor, value) => {
switch (object.type) {
case 'Create':
return create(resolver, actor, object);
return create(resolver, actor, object, distribute);
default:
return null;