diff options
| author | Akihiko Odaki <nekomanma@pixiv.co.jp> | 2018-04-04 22:45:55 +0900 |
|---|---|---|
| committer | Akihiko Odaki <nekomanma@pixiv.co.jp> | 2018-04-04 22:45:55 +0900 |
| commit | d7c13b975f55c85b695b72a3ded3d5de97227414 (patch) | |
| tree | e197f64e6b977c1f8199b3b2a93815a5529e704d /src/queue/processors/db/delete-post-dependents.ts | |
| parent | Make HTTP request first in unfollow job (diff) | |
| download | sharkey-d7c13b975f55c85b695b72a3ded3d5de97227414.tar.gz sharkey-d7c13b975f55c85b695b72a3ded3d5de97227414.tar.bz2 sharkey-d7c13b975f55c85b695b72a3ded3d5de97227414.zip | |
Retry HTTP requests
Diffstat (limited to 'src/queue/processors/db/delete-post-dependents.ts')
| -rw-r--r-- | src/queue/processors/db/delete-post-dependents.ts | 22 |
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 }) + ])) +]); |