23 lines
799 B
TypeScript
23 lines
799 B
TypeScript
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 ({ data }, done) => 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 })
|
|
]))
|
|
]).then(() => done(), done);
|