diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-06 19:35:23 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-06 19:35:23 +0900 |
| commit | 4e9ae8e8d5c862ac7a72f56d7bc0b7dab9c81044 (patch) | |
| tree | 895a954636b782b20af97bf65719bb0607f3ef32 /src/remote/activitypub/act/delete | |
| parent | Fix type annotation (diff) | |
| download | misskey-4e9ae8e8d5c862ac7a72f56d7bc0b7dab9c81044.tar.gz misskey-4e9ae8e8d5c862ac7a72f56d7bc0b7dab9c81044.tar.bz2 misskey-4e9ae8e8d5c862ac7a72f56d7bc0b7dab9c81044.zip | |
Split code
Diffstat (limited to 'src/remote/activitypub/act/delete')
| -rw-r--r-- | src/remote/activitypub/act/delete/index.ts | 18 | ||||
| -rw-r--r-- | src/remote/activitypub/act/delete/note.ts | 11 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/remote/activitypub/act/delete/index.ts b/src/remote/activitypub/act/delete/index.ts new file mode 100644 index 0000000000..764814bac1 --- /dev/null +++ b/src/remote/activitypub/act/delete/index.ts @@ -0,0 +1,18 @@ +import Resolver from '../../resolver'; +import deleteNote from './note'; + +export default async (actor, activity): Promise<void> => { + if ('actor' in activity && actor.account.uri !== activity.actor) { + throw new Error(); + } + + const resolver = new Resolver(); + + const object = await resolver.resolve(activity); + + switch (object.type) { + case 'Note': + deleteNote(object); + break; + } +}; diff --git a/src/remote/activitypub/act/delete/note.ts b/src/remote/activitypub/act/delete/note.ts new file mode 100644 index 0000000000..3b821f87c0 --- /dev/null +++ b/src/remote/activitypub/act/delete/note.ts @@ -0,0 +1,11 @@ +import Post from '../../../../models/post'; +import { createDb } from '../../../../queue'; + +export default async function(note) { + const post = await Post.findOneAndDelete({ uri: note.id }); + + createDb({ + type: 'deletePostDependents', + id: post._id + }).delay(65536).save(); +} |