投稿に関しては論理削除するように
処理をシンプルにするため
This commit is contained in:
		
							parent
							
								
									8273a7e748
								
							
						
					
					
						commit
						494597236c
					
				
					 5 changed files with 10 additions and 43 deletions
				
			
		| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
import { createQueue } from 'kue';
 | 
			
		||||
 | 
			
		||||
import config from '../config';
 | 
			
		||||
import db from './processors/db';
 | 
			
		||||
import http from './processors/http';
 | 
			
		||||
 | 
			
		||||
const queue = createQueue({
 | 
			
		||||
| 
						 | 
				
			
			@ -19,10 +18,6 @@ export function createHttp(data) {
 | 
			
		|||
		.backoff({ delay: 16384, type: 'exponential' });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function createDb(data) {
 | 
			
		||||
	return queue.create('db', data);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function deliver(user, content, to) {
 | 
			
		||||
	return createHttp({
 | 
			
		||||
		type: 'deliver',
 | 
			
		||||
| 
						 | 
				
			
			@ -33,8 +28,6 @@ export function deliver(user, content, to) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
export default function() {
 | 
			
		||||
	queue.process('db', db);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
		256 is the default concurrency limit of Mozilla Firefox and Google
 | 
			
		||||
		Chromium.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,22 +0,0 @@
 | 
			
		|||
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 })
 | 
			
		||||
	]))
 | 
			
		||||
]);
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +0,0 @@
 | 
			
		|||
import deletePostDependents from './delete-post-dependents';
 | 
			
		||||
 | 
			
		||||
const handlers = {
 | 
			
		||||
  deletePostDependents
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default (job, done) => handlers[job.data.type](job).then(() => done(), done);
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue