zamis 5 lat temu
rodzic
commit
028dfbcf5e
2 zmienionych plików z 17 dodań i 3 usunięć
  1. 16 2
      src/server/service/attachment.js
  2. 1 1
      src/server/service/page.js

+ 16 - 2
src/server/service/attachment.js

@@ -1,6 +1,7 @@
 const logger = require('@alias/logger')('growi:service:AttachmentService'); // eslint-disable-line no-unused-vars
 
 const fs = require('fs');
+const mongoose = require('mongoose');
 
 
 /**
@@ -45,11 +46,24 @@ class AttachmentService {
 
   async removeAttachment(attachments) {
     const { fileUploadService } = this.crowi;
+    const attachmentsCollection = mongoose.connection.collection('attachments');
+    // const attachmentsFilesChunkCollection = mongoose.connection.collection('attachmentFiles.chunks');
+    // const attachmentsFilesFilesColleciton = mongoose.connection.collection('attachmentFiles.files');
+    const unorderAttachmentsBulkOp = attachmentsCollection.initializeUnorderedBulkOp();
+    // const unorderAttachmentsFilesChunkBulkOp = attachmentsFilesChunkCollection.initializeOrderedBulkOp();
+    // const unorderAttachmentsFilesFilesBulkOp = attachmentsFilesFilesColleciton.initializeOrderedBulkOp();
 
-    return attachments.forEach((attachment) => {
+    attachments.forEach((attachment) => {
       fileUploadService.deleteFile(attachment);
-      attachment.remove();
+      // unorderAttachmentsFilesChunkBulkOp.find({ _id: attachment._id }).remove();
+      // unorderAttachmentsFilesFilesBulkOp.find({ _id: attachment._id }).remove();
+      unorderAttachmentsBulkOp.find({ _id: attachment._id }).remove();
     });
+
+    // await unorderAttachmentsFilesChunkBulkOp.execute();
+    // await unorderAttachmentsFilesFilesBulkOp.execute();
+    await unorderAttachmentsBulkOp.execute();
+    return;
   }
 
 }

+ 1 - 1
src/server/service/page.js

@@ -2,7 +2,7 @@ const mongoose = require('mongoose');
 const escapeStringRegexp = require('escape-string-regexp');
 const logger = require('@alias/logger')('growi:models:page');
 const debug = require('debug')('growi:models:page');
-const { Readable } = require('stream');
+// const { Readable } = require('stream');
 const { serializePageSecurely } = require('../models/serializers/page-serializer');
 
 const STATUS_PUBLISHED = 'published';