summaryrefslogtreecommitdiff
path: root/src/queue/processors/delete-notes.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-03-07 23:07:21 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-03-07 23:07:21 +0900
commitc934987b14dc2b0c362f2d13e0664ab275aca522 (patch)
tree4a83b3a22745c9b5ad991a5f7c61d7acee0eba77 /src/queue/processors/delete-notes.ts
parentUpdate issue templates (diff)
downloadsharkey-c934987b14dc2b0c362f2d13e0664ab275aca522.tar.gz
sharkey-c934987b14dc2b0c362f2d13e0664ab275aca522.tar.bz2
sharkey-c934987b14dc2b0c362f2d13e0664ab275aca522.zip
Resolve #4444
Diffstat (limited to 'src/queue/processors/delete-notes.ts')
-rw-r--r--src/queue/processors/delete-notes.ts55
1 files changed, 0 insertions, 55 deletions
diff --git a/src/queue/processors/delete-notes.ts b/src/queue/processors/delete-notes.ts
deleted file mode 100644
index 13c6042b16..0000000000
--- a/src/queue/processors/delete-notes.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import * as bq from 'bee-queue';
-import * as mongo from 'mongodb';
-
-import { queueLogger } from '../logger';
-import Note from '../../models/note';
-import deleteNote from '../../services/note/delete';
-import User from '../../models/user';
-
-const logger = queueLogger.createSubLogger('delete-notes');
-
-export async function deleteNotes(job: bq.Job, done: any): Promise<void> {
- logger.info(`Deleting notes of ${job.data.user._id} ...`);
-
- const user = await User.findOne({
- _id: new mongo.ObjectID(job.data.user._id.toString())
- });
-
- let deletedCount = 0;
- let ended = false;
- let cursor: any = null;
-
- while (!ended) {
- const notes = await Note.find({
- userId: user._id,
- ...(cursor ? { _id: { $gt: cursor } } : {})
- }, {
- limit: 100,
- sort: {
- _id: 1
- }
- });
-
- if (notes.length === 0) {
- ended = true;
- if (job.reportProgress) job.reportProgress(100);
- break;
- }
-
- cursor = notes[notes.length - 1]._id;
-
- for (const note of notes) {
- await deleteNote(user, note, true);
- deletedCount++;
- }
-
- const total = await Note.count({
- userId: user._id,
- });
-
- if (job.reportProgress) job.reportProgress(deletedCount / total);
- }
-
- logger.succ(`All notes (${deletedCount}) of ${user._id} has been deleted.`);
- done();
-}