فهرست منبع

Merge pull request #3273 from weseek/imprv/refactor-revertDelete

Imprv/refactor revert delete
Yuki Takei 5 سال پیش
والد
کامیت
a21ccc47fd
3فایلهای تغییر یافته به همراه19 افزوده شده و 17 حذف شده
  1. 0 16
      src/server/models/page.js
  2. 1 1
      src/server/routes/page.js
  3. 18 0
      src/server/service/page.js

+ 0 - 16
src/server/models/page.js

@@ -1141,22 +1141,6 @@ module.exports = function(crowi) {
     }));
   };
 
-  pageSchema.statics.revertDeletedPageRecursively = async function(targetPage, user, options = {}) {
-    const findOpts = { includeTrashed: true };
-    const pages = await this.findManageableListWithDescendants(targetPage, user, findOpts);
-
-    let updatedPage = null;
-    await Promise.all(pages.map((page) => {
-      const isParent = (page.path === targetPage.path);
-      const p = crowi.pageService.revertDeletedPages(page, user, options);
-      if (isParent) {
-        updatedPage = p;
-      }
-      return p;
-    }));
-
-    return updatedPage;
-  };
 
   pageSchema.statics.removeByPath = function(path) {
     if (path == null) {

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

@@ -1255,7 +1255,7 @@ module.exports = function(crowi, app) {
       }
 
       if (isRecursively) {
-        page = await Page.revertDeletedPageRecursively(page, req.user, { socketClientId });
+        page = await crowi.pageService.revertDeletedPageRecursively(page, req.user, { socketClientId });
       }
       else {
         page = await crowi.pageService.revertSingleDeletedPage(page, req.user, { socketClientId });

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

@@ -157,6 +157,24 @@ class PageService {
     return this.completelyDeletePages(pages, user, options);
   }
 
+  async revertDeletedPageRecursively(targetPage, user, options = {}) {
+    const Page = this.crowi.model('Page');
+    const findOpts = { includeTrashed: true };
+    const pages = await Page.findManageableListWithDescendants(targetPage, user, findOpts);
+
+    let updatedPage = null;
+    await Promise.all(pages.map((page) => {
+      const isParent = (page.path === targetPage.path);
+      const p = this.revertDeletedPages(page, user, options);
+      if (isParent) {
+        updatedPage = p;
+      }
+      return p;
+    }));
+
+    return updatedPage;
+  }
+
   // revert pages recursively
   async revertDeletedPages(page, user, options = {}) {
     const Page = this.crowi.model('Page');