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

Merge branch 'feat/descendant-notifications' into feat/create-notification-when-parentPages-are-reverted-afeter-deletion

Shun Murai 3 лет назад
Родитель
Сommit
a098a8ec18
1 измененных файлов с 10 добавлено и 4 удалено
  1. 10 4
      packages/app/src/server/service/page.ts

+ 10 - 4
packages/app/src/server/service/page.ts

@@ -203,7 +203,7 @@ class PageService {
     });
     });
 
 
     // delete completely
     // delete completely
-    this.pageEvent.on('deleteCompletely', async(page, descendantPages, user) => {
+    this.pageEvent.on('deleteCompletely', async(page, user, descendantPages?) => {
       const isRecursively = descendantPages != null;
       const isRecursively = descendantPages != null;
       const action = isRecursively ? SUPPORTED_ACTION_TYPE.ACTION_PAGE_RECURSIVELY_DELETE_COMPLETELY : SUPPORTED_ACTION_TYPE.ACTION_PAGE_DELETE_COMPLETELY;
       const action = isRecursively ? SUPPORTED_ACTION_TYPE.ACTION_PAGE_RECURSIVELY_DELETE_COMPLETELY : SUPPORTED_ACTION_TYPE.ACTION_PAGE_DELETE_COMPLETELY;
       try {
       try {
@@ -839,6 +839,7 @@ class PageService {
 
 
     const renameDescendants = this.renameDescendants.bind(this);
     const renameDescendants = this.renameDescendants.bind(this);
     const pageEvent = this.pageEvent;
     const pageEvent = this.pageEvent;
+    let descendantPages: PageDocument[] = [];
     let count = 0;
     let count = 0;
     const writeStream = new Writable({
     const writeStream = new Writable({
       objectMode: true,
       objectMode: true,
@@ -848,7 +849,9 @@ class PageService {
           await renameDescendants(
           await renameDescendants(
             batch, user, options, pathRegExp, newPagePathPrefix, shouldUseV4Process,
             batch, user, options, pathRegExp, newPagePathPrefix, shouldUseV4Process,
           );
           );
-          pageEvent.emit('rename', targetPage, user, batch);
+          descendantPages = descendantPages.concat(batch);
+          // pageEvent.emit('rename', targetPage, user, batch);
+          // console.log('What is the type of batch\n', batch);
           logger.debug(`Renaming pages progressing: (count=${count})`);
           logger.debug(`Renaming pages progressing: (count=${count})`);
         }
         }
         catch (err) {
         catch (err) {
@@ -873,6 +876,7 @@ class PageService {
       .pipe(writeStream);
       .pipe(writeStream);
 
 
     await streamToPromise(writeStream);
     await streamToPromise(writeStream);
+    this.pageEvent.emit('rename', targetPage, user, descendantPages);
   }
   }
 
 
   private async renameDescendantsWithStreamV4(targetPage, newPagePath, user, options = {}) {
   private async renameDescendantsWithStreamV4(targetPage, newPagePath, user, options = {}) {
@@ -1804,7 +1808,8 @@ class PageService {
     let count = 0;
     let count = 0;
     let nDeletedNonEmptyPages = 0; // used for updating descendantCount
     let nDeletedNonEmptyPages = 0; // used for updating descendantCount
 
 
-    const pageEvent = this.pageEvent;
+
+    let descendantPages: PageDocument[] = [];
 
 
     const deleteMultipleCompletely = this.deleteMultipleCompletely.bind(this);
     const deleteMultipleCompletely = this.deleteMultipleCompletely.bind(this);
     const writeStream = new Writable({
     const writeStream = new Writable({
@@ -1815,7 +1820,7 @@ class PageService {
         try {
         try {
           count += batch.length;
           count += batch.length;
           await deleteMultipleCompletely(batch, user, options);
           await deleteMultipleCompletely(batch, user, options);
-          pageEvent.emit('deleteCompletely', targetPage, batch, user);
+          descendantPages = descendantPages.concat(batch);
           logger.debug(`Adding pages progressing: (count=${count})`);
           logger.debug(`Adding pages progressing: (count=${count})`);
         }
         }
         catch (err) {
         catch (err) {
@@ -1836,6 +1841,7 @@ class PageService {
       .pipe(writeStream);
       .pipe(writeStream);
 
 
     await streamToPromise(writeStream);
     await streamToPromise(writeStream);
+    this.pageEvent.emit('deleteCompletely', targetPage, user, descendantPages);
 
 
     return nDeletedNonEmptyPages;
     return nDeletedNonEmptyPages;
   }
   }