فهرست منبع

use activityEventEmitter with page delete and delete completely

Shun Miyazawa 3 سال پیش
والد
کامیت
b11c2bc142
3فایلهای تغییر یافته به همراه12 افزوده شده و 25 حذف شده
  1. 1 1
      packages/app/src/server/routes/index.js
  2. 7 0
      packages/app/src/server/routes/page.js
  3. 4 24
      packages/app/src/server/service/page.ts

+ 1 - 1
packages/app/src/server/routes/index.js

@@ -178,7 +178,7 @@ module.exports = function(crowi, app) {
   apiV1Router.get('/pages.updatePost'    , accessTokenParser, loginRequired, page.api.getUpdatePost);
   apiV1Router.get('/pages.getPageTag'    , accessTokenParser , loginRequired , page.api.getPageTag);
   // allow posting to guests because the client doesn't know whether the user logged in
-  apiV1Router.post('/pages.remove'       , loginRequiredStrictly , csrf, page.validator.remove, apiV1FormValidator, page.api.remove); // (Avoid from API Token)
+  apiV1Router.post('/pages.remove'       , loginRequiredStrictly , csrf, addActivity ,page.validator.remove, apiV1FormValidator, page.api.remove); // (Avoid from API Token)
   apiV1Router.post('/pages.revertRemove' , loginRequiredStrictly , csrf, page.validator.revertRemove, apiV1FormValidator, page.api.revertRemove); // (Avoid from API Token)
   apiV1Router.post('/pages.unlink'       , loginRequiredStrictly , csrf, page.api.unlink); // (Avoid from API Token)
   apiV1Router.post('/pages.duplicate'    , accessTokenParser, loginRequiredStrictly, csrf, page.api.duplicate);

+ 7 - 0
packages/app/src/server/routes/page.js

@@ -1234,6 +1234,13 @@ module.exports = function(crowi, app) {
     result.isRecursively = isRecursively;
     result.isCompletely = isCompletely;
 
+    const parameters = {
+      targetModel: SUPPORTED_TARGET_MODEL_TYPE.MODEL_PAGE,
+      target: page,
+      action: isCompletely ? SUPPORTED_ACTION_TYPE.ACTION_PAGE_DELETE_COMPLETELY : SUPPORTED_ACTION_TYPE.ACTION_PAGE_DELETE,
+    };
+    activityEvent.emit('update', res.locals.activity._id, parameters, page);
+
     res.json(ApiResponse.success(result));
 
     try {

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

@@ -155,26 +155,6 @@ class PageService {
     this.pageEvent.on('createMany', this.pageEvent.onCreateMany);
     this.pageEvent.on('addSeenUsers', this.pageEvent.onAddSeenUsers);
 
-    // delete
-    this.pageEvent.on('delete', async(page, user) => {
-      try {
-        await this.createAndSendNotifications(user, page, SUPPORTED_ACTION_TYPE.ACTION_PAGE_DELETE);
-      }
-      catch (err) {
-        logger.error(err);
-      }
-    });
-
-    // delete completely
-    this.pageEvent.on('deleteCompletely', async(page, user) => {
-      try {
-        await this.createAndSendNotifications(user, page, SUPPORTED_ACTION_TYPE.ACTION_PAGE_DELETE_COMPLETELY);
-      }
-      catch (err) {
-        logger.error(err);
-      }
-    });
-
     // revert
     this.pageEvent.on('revert', async(page, user) => {
       try {
@@ -1403,7 +1383,7 @@ class PageService {
         throw err;
       }
     }
-    this.pageEvent.emit('delete', page, user);
+    this.pageEvent.emit('delete');
     this.pageEvent.emit('create', deletedPage, user);
 
     return deletedPage;
@@ -1465,7 +1445,7 @@ class PageService {
       }
     }
 
-    this.pageEvent.emit('delete', page, user);
+    this.pageEvent.emit('delete');
     this.pageEvent.emit('create', deletedPage, user);
 
     return deletedPage;
@@ -1679,7 +1659,7 @@ class PageService {
     await Page.removeLeafEmptyPagesRecursively(page.parent);
 
     if (!page.isEmpty && !preventEmitting) {
-      this.pageEvent.emit('deleteCompletely', page, user);
+      this.pageEvent.emit('deleteCompletely');
     }
 
     if (isRecursively) {
@@ -1728,7 +1708,7 @@ class PageService {
     }
 
     if (!page.isEmpty && !preventEmitting) {
-      this.pageEvent.emit('deleteCompletely', page, user);
+      this.pageEvent.emit('deleteCompletely');
     }
 
     return;