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

created new activity and get all descendant pages in pageEvent.on('revert'...)

Shunm634-source 3 лет назад
Родитель
Сommit
d39d127aae
2 измененных файлов с 10 добавлено и 6 удалено
  1. 2 0
      packages/app/src/interfaces/activity.ts
  2. 8 6
      packages/app/src/server/service/page.ts

+ 2 - 0
packages/app/src/interfaces/activity.ts

@@ -17,6 +17,7 @@ const ACTION_COMMENT_UPDATE = 'COMMENT_UPDATE';
 const ACTION_PAGE_RECURSIVELY_RENAME = 'PAGE_RECURSIVELY_RENAME';
 const ACTION_PAGE_RECURSIVELY_RENAME = 'PAGE_RECURSIVELY_RENAME';
 const ACTION_PAGE_RECURSIVELY_DELETE = 'PAGE_RECURSIVELY_DELETE';
 const ACTION_PAGE_RECURSIVELY_DELETE = 'PAGE_RECURSIVELY_DELETE';
 const ACTION_PAGE_RECURSIVELY_DELETE_COMPLETELY = 'PAGE_RECURSIVELY_DELETE_COMPLETELY';
 const ACTION_PAGE_RECURSIVELY_DELETE_COMPLETELY = 'PAGE_RECURSIVELY_DELETE_COMPLETELY';
+const ACTION_PAGE_RECURSIVELY_REVERT = 'PAGE_RECURSIVELY_REVERT';
 
 
 
 
 export const SUPPORTED_TARGET_MODEL_TYPE = {
 export const SUPPORTED_TARGET_MODEL_TYPE = {
@@ -42,6 +43,7 @@ export const SUPPORTED_ACTION_TYPE = {
   ACTION_PAGE_RECURSIVELY_RENAME,
   ACTION_PAGE_RECURSIVELY_RENAME,
   ACTION_PAGE_RECURSIVELY_DELETE,
   ACTION_PAGE_RECURSIVELY_DELETE,
   ACTION_PAGE_RECURSIVELY_DELETE_COMPLETELY,
   ACTION_PAGE_RECURSIVELY_DELETE_COMPLETELY,
+  ACTION_PAGE_RECURSIVELY_REVERT,
 } as const;
 } as const;
 
 
 
 

+ 8 - 6
packages/app/src/server/service/page.ts

@@ -205,7 +205,6 @@ class PageService {
     // delete completely
     // delete completely
     this.pageEvent.on('deleteCompletely', async(page, descendantPages, user) => {
     this.pageEvent.on('deleteCompletely', async(page, descendantPages, user) => {
       const isRecursively = descendantPages != null;
       const isRecursively = descendantPages != null;
-      console.log('isRecursively?\n', isRecursively);
       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 {
         await this.createAndSendNotifications(page, user, action, descendantPages);
         await this.createAndSendNotifications(page, user, action, descendantPages);
@@ -216,9 +215,11 @@ class PageService {
     });
     });
 
 
     // revert
     // revert
-    this.pageEvent.on('revert', async(page, user) => {
+    this.pageEvent.on('revert', async(page, descendantPages, user) => {
+      const isRecursively = descendantPages != null;
+      const action = isRecursively ? SUPPORTED_ACTION_TYPE.ACTION_PAGE_RECURSIVELY_REVERT : SUPPORTED_ACTION_TYPE.ACTION_PAGE_REVERT;
       try {
       try {
-        await this.createAndSendNotifications(page, user, SUPPORTED_ACTION_TYPE.ACTION_PAGE_REVERT);
+        await this.createAndSendNotifications(page, user, action, descendantPages);
       }
       }
       catch (err) {
       catch (err) {
         logger.error(err);
         logger.error(err);
@@ -1934,10 +1935,9 @@ class PageService {
     }, { new: true });
     }, { new: true });
     await PageTagRelation.updateMany({ relatedPage: page._id }, { $set: { isPageTrashed: false } });
     await PageTagRelation.updateMany({ relatedPage: page._id }, { $set: { isPageTrashed: false } });
 
 
-    this.pageEvent.emit('revert', page, user);
-
     if (!isRecursively) {
     if (!isRecursively) {
       await this.updateDescendantCountOfAncestors(parent._id, 1, true);
       await this.updateDescendantCountOfAncestors(parent._id, 1, true);
+      this.pageEvent.emit('revert', page, null, user);
     }
     }
     else {
     else {
       let pageOp;
       let pageOp;
@@ -2035,7 +2035,7 @@ class PageService {
     }, { new: true });
     }, { new: true });
     await PageTagRelation.updateMany({ relatedPage: page._id }, { $set: { isPageTrashed: false } });
     await PageTagRelation.updateMany({ relatedPage: page._id }, { $set: { isPageTrashed: false } });
 
 
-    this.pageEvent.emit('revert', page, user);
+    this.pageEvent.emit('revert', page, null, user);
 
 
     return updatedPage;
     return updatedPage;
   }
   }
@@ -2052,12 +2052,14 @@ class PageService {
 
 
     const revertDeletedDescendants = this.revertDeletedDescendants.bind(this);
     const revertDeletedDescendants = this.revertDeletedDescendants.bind(this);
     let count = 0;
     let count = 0;
+    const pageEvent = this.pageEvent;
     const writeStream = new Writable({
     const writeStream = new Writable({
       objectMode: true,
       objectMode: true,
       async write(batch, encoding, callback) {
       async write(batch, encoding, callback) {
         try {
         try {
           count += batch.length;
           count += batch.length;
           await revertDeletedDescendants(batch, user);
           await revertDeletedDescendants(batch, user);
+          pageEvent.emit('revert', targetPage, batch, user);
           logger.debug(`Reverting pages progressing: (count=${count})`);
           logger.debug(`Reverting pages progressing: (count=${count})`);
         }
         }
         catch (err) {
         catch (err) {