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

Modified the code in reponse to the FB from other tasks

Shunm634-source 3 лет назад
Родитель
Сommit
70e93f8ede

+ 12 - 11
packages/app/src/server/service/page.ts

@@ -215,7 +215,7 @@ class PageService {
     });
 
     // revert
-    this.pageEvent.on('revert', async(page, descendantPages, user) => {
+    this.pageEvent.on('revert', async(page, user, descendantPages?) => {
       const isRecursively = descendantPages != null;
       const action = isRecursively ? SUPPORTED_ACTION_TYPE.ACTION_PAGE_RECURSIVELY_REVERT : SUPPORTED_ACTION_TYPE.ACTION_PAGE_REVERT;
       try {
@@ -850,8 +850,6 @@ class PageService {
             batch, user, options, pathRegExp, newPagePathPrefix, shouldUseV4Process,
           );
           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})`);
         }
         catch (err) {
@@ -1517,7 +1515,7 @@ class PageService {
       }
     }
 
-    this.pageEvent.emit('delete', page, null, user);
+    this.pageEvent.emit('delete', page, user);
     this.pageEvent.emit('create', deletedPage, user);
 
     return deletedPage;
@@ -1607,7 +1605,7 @@ class PageService {
     const deleteDescendants = this.deleteDescendants.bind(this);
     let count = 0;
     let nDeletedNonEmptyPages = 0; // used for updating descendantCount
-    const pageEvent = this.pageEvent;
+    let descendantPages: PageDocument[] = [];
 
     const writeStream = new Writable({
       objectMode: true,
@@ -1617,7 +1615,7 @@ class PageService {
         try {
           count += batch.length;
           await deleteDescendants(batch, user);
-          pageEvent.emit('delete', targetPage, user, batch);
+          descendantPages = descendantPages.concat(batch);
           logger.debug(`Deleting pages progressing: (count=${count})`);
         }
         catch (err) {
@@ -1639,6 +1637,8 @@ class PageService {
 
     await streamToPromise(writeStream);
 
+    this.pageEvent.emit('delete', targetPage, user, descendantPages);
+
     return nDeletedNonEmptyPages;
   }
 
@@ -1781,7 +1781,7 @@ class PageService {
     }
 
     if (!page.isEmpty && !preventEmitting) {
-      this.pageEvent.emit('deleteCompletely', page, null, user);
+      this.pageEvent.emit('deleteCompletely', page, user);
     }
 
     return;
@@ -1944,7 +1944,7 @@ class PageService {
 
     if (!isRecursively) {
       await this.updateDescendantCountOfAncestors(parent._id, 1, true);
-      this.pageEvent.emit('revert', page, null, user);
+      this.pageEvent.emit('revert', page, user);
     }
     else {
       let pageOp;
@@ -2042,7 +2042,7 @@ class PageService {
     }, { new: true });
     await PageTagRelation.updateMany({ relatedPage: page._id }, { $set: { isPageTrashed: false } });
 
-    this.pageEvent.emit('revert', page, null, user);
+    this.pageEvent.emit('revert', page, user);
 
     return updatedPage;
   }
@@ -2059,14 +2059,14 @@ class PageService {
 
     const revertDeletedDescendants = this.revertDeletedDescendants.bind(this);
     let count = 0;
-    const pageEvent = this.pageEvent;
+    let descendantPages: PageDocument[] = [];
     const writeStream = new Writable({
       objectMode: true,
       async write(batch, encoding, callback) {
         try {
           count += batch.length;
           await revertDeletedDescendants(batch, user);
-          pageEvent.emit('revert', targetPage, batch, user);
+          descendantPages = descendantPages.concat(batch);
           logger.debug(`Reverting pages progressing: (count=${count})`);
         }
         catch (err) {
@@ -2087,6 +2087,7 @@ class PageService {
       .pipe(writeStream);
 
     await streamToPromise(writeStream);
+    this.pageEvent.emit('revert', targetPage, user, descendantPages);
 
     return count;
   }

+ 4 - 4
packages/app/test/integration/service/page.test.js

@@ -564,7 +564,7 @@ describe('PageService', () => {
       expect(resultPage.updatedAt).toEqual(parentForDelete1.updatedAt);
       expect(resultPage.lastUpdateUser).toEqual(testUser1._id);
 
-      expect(pageEventSpy).toHaveBeenCalledWith('delete', parentForDelete1, null, testUser2);
+      expect(pageEventSpy).toHaveBeenCalledWith('delete', parentForDelete1, testUser2);
       expect(pageEventSpy).toHaveBeenCalledWith('create', resultPage, testUser2);
     });
 
@@ -581,7 +581,7 @@ describe('PageService', () => {
       expect(resultPage.updatedAt).toEqual(parentForDelete2.updatedAt);
       expect(resultPage.lastUpdateUser).toEqual(testUser1._id);
 
-      expect(pageEventSpy).toHaveBeenCalledWith('delete', parentForDelete2, null, testUser2);
+      expect(pageEventSpy).toHaveBeenCalledWith('delete', parentForDelete2, testUser2);
       expect(pageEventSpy).toHaveBeenCalledWith('create', resultPage, testUser2);
     });
 
@@ -644,7 +644,7 @@ describe('PageService', () => {
       expect(deleteCompletelyOperationSpy).toHaveBeenCalled();
       expect(deleteCompletelyDescendantsWithStreamSpy).not.toHaveBeenCalled();
 
-      expect(pageEventSpy).toHaveBeenCalledWith('deleteCompletely', parentForDeleteCompletely, null, testUser2);
+      expect(pageEventSpy).toHaveBeenCalledWith('deleteCompletely', parentForDeleteCompletely, testUser2);
     });
 
 
@@ -654,7 +654,7 @@ describe('PageService', () => {
       expect(deleteCompletelyOperationSpy).toHaveBeenCalled();
       expect(deleteCompletelyDescendantsWithStreamSpy).toHaveBeenCalled();
 
-      expect(pageEventSpy).toHaveBeenCalledWith('deleteCompletely', parentForDeleteCompletely, null, testUser2);
+      expect(pageEventSpy).toHaveBeenCalledWith('deleteCompletely', parentForDeleteCompletely, testUser2);
     });
   });