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

Merge pull request #5765 from weseek/feat/93824-generate-activity-when-page-is-created

feat: Generate activity when page is created
Yuki Takei 4 лет назад
Родитель
Сommit
620112a402

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

@@ -5,6 +5,7 @@ const MODEL_COMMENT = 'Comment';
 // Action
 const ACTION_PAGE_LIKE = 'PAGE_LIKE';
 const ACTION_PAGE_BOOKMARK = 'PAGE_BOOKMARK';
+const ACTION_PAGE_CREATE = 'PAGE_CREATE';
 const ACTION_PAGE_UPDATE = 'PAGE_UPDATE';
 const ACTION_PAGE_RENAME = 'PAGE_RENAME';
 const ACTION_PAGE_DUPLICATE = 'PAGE_DUPLICATE';
@@ -26,6 +27,7 @@ export const SUPPORTED_EVENT_MODEL_TYPE = {
 export const SUPPORTED_ACTION_TYPE = {
   ACTION_PAGE_LIKE,
   ACTION_PAGE_BOOKMARK,
+  ACTION_PAGE_CREATE,
   ACTION_PAGE_UPDATE,
   ACTION_PAGE_RENAME,
   ACTION_PAGE_DUPLICATE,

+ 16 - 0
packages/app/src/server/routes/apiv3/pages.js

@@ -1,6 +1,8 @@
+import { SUPPORTED_TARGET_MODEL_TYPE, SUPPORTED_ACTION_TYPE } from '~/interfaces/activity';
 import { subscribeRuleNames } from '~/interfaces/in-app-notification';
 import loggerFactory from '~/utils/logger';
 
+
 import { apiV3FormValidator } from '../../middlewares/apiv3-form-validator';
 
 const logger = loggerFactory('growi:routes:apiv3:pages'); // eslint-disable-line no-unused-vars
@@ -339,6 +341,20 @@ module.exports = (crowi) => {
       }
     }
 
+    // create activity
+    try {
+      const parameters = {
+        user: req.user._id,
+        targetModel: SUPPORTED_TARGET_MODEL_TYPE.MODEL_PAGE,
+        target: createdPage,
+        action: SUPPORTED_ACTION_TYPE.PAGE_CREATE,
+      };
+      await crowi.activityService.createByParameter(parameters);
+    }
+    catch (err) {
+      logger.error('Failed to create activity', err);
+    }
+
     // create subscription
     try {
       await crowi.inAppNotificationService.createSubscription(req.user.id, createdPage._id, subscribeRuleNames.PAGE_CREATE);