This commit is contained in:
syuilo 2018-04-05 03:21:11 +09:00
parent b6b9875205
commit c2c03a1c65
13 changed files with 60 additions and 68 deletions

View file

@ -1,21 +1,28 @@
import create from '../create';
import deleteObject from '../delete';
import Resolver from '../resolver';
import Post from '../../../models/post';
import { createDb } from '../../../queue';
export default async (resolver, actor, activity) => {
export default async (actor, activity): Promise<void> => {
if ('actor' in activity && actor.account.uri !== activity.actor) {
throw new Error();
}
const results = await create(resolver, actor, activity.object);
const resolver = new Resolver();
await Promise.all(results.map(async promisedResult => {
const result = await promisedResult;
if (result === null) {
return;
}
const object = await resolver.resolve(activity);
await deleteObject(result);
}));
switch (object.type) {
case 'Note':
deleteNote(object);
break;
}
return null;
async function deleteNote(note) {
const post = await Post.findOneAndDelete({ uri: note.id });
createDb({
type: 'deletePostDependents',
id: post._id
}).delay(65536).save();
}
};