forked from mirrors/misskey
Implement unfollow by remote account
This commit is contained in:
@@ -1,23 +1,26 @@
|
||||
import create from './create';
|
||||
import follow from './follow';
|
||||
import undo from './undo';
|
||||
import createObject from '../create';
|
||||
import Resolver from '../resolver';
|
||||
|
||||
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], distribute))[0];
|
||||
export default (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];
|
||||
|
||||
if (created !== null) {
|
||||
return created;
|
||||
}
|
||||
|
||||
switch (object.type) {
|
||||
switch (result.object.type) {
|
||||
case 'Create':
|
||||
return create(resolver, actor, object, distribute);
|
||||
return create(result.resolver, actor, result.object, distribute);
|
||||
|
||||
case 'Follow':
|
||||
return follow(actor, object);
|
||||
return follow(result.resolver, actor, result.object, distribute);
|
||||
|
||||
case 'Undo':
|
||||
return undo(result.resolver, actor, result.object);
|
||||
|
||||
default:
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user