summaryrefslogtreecommitdiff
path: root/src/queue/processors/db/delete-post-dependents.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2018-04-04 22:48:27 +0900
committerGitHub <noreply@github.com>2018-04-04 22:48:27 +0900
commitcf160285f82a200a6f042cf924272809280bac79 (patch)
tree9cf0211613474ecf5868e8a2bd59469a83bc9bb3 /src/queue/processors/db/delete-post-dependents.ts
parentMerge pull request #1393 from akihikodaki/duplicate (diff)
parentRetry HTTP requests (diff)
downloadmisskey-cf160285f82a200a6f042cf924272809280bac79.tar.gz
misskey-cf160285f82a200a6f042cf924272809280bac79.tar.bz2
misskey-cf160285f82a200a6f042cf924272809280bac79.zip
Merge pull request #1394 from akihikodaki/duplicate
Retry HTTP requests
Diffstat (limited to 'src/queue/processors/db/delete-post-dependents.ts')
-rw-r--r--src/queue/processors/db/delete-post-dependents.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/queue/processors/db/delete-post-dependents.ts b/src/queue/processors/db/delete-post-dependents.ts
new file mode 100644
index 0000000000..6de21eb053
--- /dev/null
+++ b/src/queue/processors/db/delete-post-dependents.ts
@@ -0,0 +1,22 @@
+import Favorite from '../../../models/favorite';
+import Notification from '../../../models/notification';
+import PollVote from '../../../models/poll-vote';
+import PostReaction from '../../../models/post-reaction';
+import PostWatching from '../../../models/post-watching';
+import Post from '../../../models/post';
+
+export default async ({ data }) => Promise.all([
+ Favorite.remove({ postId: data._id }),
+ Notification.remove({ postId: data._id }),
+ PollVote.remove({ postId: data._id }),
+ PostReaction.remove({ postId: data._id }),
+ PostWatching.remove({ postId: data._id }),
+ Post.find({ repostId: data._id }).then(reposts => Promise.all([
+ Notification.remove({
+ postId: {
+ $in: reposts.map(({ _id }) => _id)
+ }
+ }),
+ Post.remove({ repostId: data._id })
+ ]))
+]);