itizawa 5 лет назад
Родитель
Сommit
a997ee68eb

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

@@ -103,10 +103,7 @@ class PageService {
       }
       }
     }
     }
 
 
-    const newParentPage = await this.findByPath(newPagePathPrefix);
-    const renamedPages = await this.findManageableListWithDescendants(newParentPage, user, options);
-
-    this.pageEvent.emit('createMany', renamedPages, user, newParentPage);
+    this.pageEvent.emit('updateMany', pages, user);
   }
   }
 
 
   /**
   /**
@@ -127,6 +124,7 @@ class PageService {
       .cursor();
       .cursor();
 
 
     const renameDescendants = this.renameDescendants.bind(this);
     const renameDescendants = this.renameDescendants.bind(this);
+    const pageEvent = this.pageEvent;
     let count = 0;
     let count = 0;
     const writeStream = new Writable({
     const writeStream = new Writable({
       objectMode: true,
       objectMode: true,
@@ -144,7 +142,9 @@ class PageService {
       },
       },
       final(callback) {
       final(callback) {
         logger.debug(`Reverting pages has completed: (totalCount=${count})`);
         logger.debug(`Reverting pages has completed: (totalCount=${count})`);
-
+        // update  path
+        targetPage.path = newPagePath;
+        pageEvent.emit('syncDescendants', targetPage, user);
         callback();
         callback();
       },
       },
     });
     });

+ 4 - 2
src/server/service/search-delegator/elasticsearch.js

@@ -967,8 +967,8 @@ class ElasticsearchDelegator {
     return this.updateOrInsertPageById(page._id);
     return this.updateOrInsertPageById(page._id);
   }
   }
 
 
-  async syncDescendantsPagesUpdated(pages, user, parentPage) {
-
+  // remove pages whitch should nod Indexed
+  async syncPagesUpdated(pages, user) {
     const shoudDeletePages = [];
     const shoudDeletePages = [];
     pages.forEach((page) => {
     pages.forEach((page) => {
       logger.debug('SearchClient.syncPageUpdated', page.path);
       logger.debug('SearchClient.syncPageUpdated', page.path);
@@ -986,7 +986,9 @@ class ElasticsearchDelegator {
     catch (err) {
     catch (err) {
       logger.error('deletePages:ES Error', err);
       logger.error('deletePages:ES Error', err);
     }
     }
+  }
 
 
+  async syncDescendantsPagesUpdated(parentPage, user) {
     return this.updateOrInsertDescendantsPagesById(parentPage, user);
     return this.updateOrInsertDescendantsPagesById(parentPage, user);
   }
   }
 
 

+ 2 - 1
src/server/service/search.js

@@ -60,7 +60,8 @@ class SearchService {
     pageEvent.on('update', this.delegator.syncPageUpdated.bind(this.delegator));
     pageEvent.on('update', this.delegator.syncPageUpdated.bind(this.delegator));
     pageEvent.on('deleteCompletely', this.delegator.syncPagesDeletedCompletely.bind(this.delegator));
     pageEvent.on('deleteCompletely', this.delegator.syncPagesDeletedCompletely.bind(this.delegator));
     pageEvent.on('delete', this.delegator.syncPageDeleted.bind(this.delegator));
     pageEvent.on('delete', this.delegator.syncPageDeleted.bind(this.delegator));
-    pageEvent.on('createMany', this.delegator.syncDescendantsPagesUpdated.bind(this.delegator));
+    pageEvent.on('updateMany', this.delegator.syncPagesUpdated.bind(this.delegator));
+    pageEvent.on('syncDescendants', this.delegator.syncDescendantsPagesUpdated.bind(this.delegator));
 
 
     const bookmarkEvent = this.crowi.event('bookmark');
     const bookmarkEvent = this.crowi.event('bookmark');
     bookmarkEvent.on('create', this.delegator.syncBookmarkChanged.bind(this.delegator));
     bookmarkEvent.on('create', this.delegator.syncBookmarkChanged.bind(this.delegator));