Просмотр исходного кода

modify: in case of recursively and only delete

zamis 5 лет назад
Родитель
Сommit
6de64699d8
2 измененных файлов с 21 добавлено и 1 удалено
  1. 1 1
      src/server/models/page.js
  2. 20 0
      src/server/service/page.js

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

@@ -1217,7 +1217,7 @@ module.exports = function(crowi) {
       await Page.create(path, body, user, { redirectTo: newPagePath });
       await Page.create(path, body, user, { redirectTo: newPagePath });
     }
     }
 
 
-    pageEvent.emit('delete', pageData, user, socketClientId);
+    pageEvent.emit('delete', [pageData], user, socketClientId);
     pageEvent.emit('create', updatedPageData, user, socketClientId);
     pageEvent.emit('create', updatedPageData, user, socketClientId);
 
 
     return updatedPageData;
     return updatedPageData;

+ 20 - 0
src/server/service/page.js

@@ -104,6 +104,26 @@ class PageService {
       pageEvent.on('update', pageEvent.onUpdate);
       pageEvent.on('update', pageEvent.onUpdate);
     }
     }
 
 
+    //  completelyDeletePage
+    if (!pagesData.length) {
+      console.log('単なる完全消去');
+
+      const ids = [pagesData].map(page => (page._id));
+      const paths = [pagesData].map(page => (page.path));
+      const socketClientId = options.socketClientId || null;
+
+      logger.debug('Deleting completely', paths);
+
+      await this.deleteCompletely(ids, paths);
+
+      if (socketClientId != null) {
+        pageEvent.emit('delete', [pagesData], user, socketClientId); // update as renamed page
+      }
+      return;
+    }
+
+    // completelyDeletePageRecursively
+    console.log('再起的完全削除');
     const ids = pagesData.map(page => (page._id));
     const ids = pagesData.map(page => (page._id));
     const paths = pagesData.map(page => (page.path));
     const paths = pagesData.map(page => (page.path));