Shun Miyazawa 3 лет назад
Родитель
Сommit
5ba87d5553

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

@@ -36,6 +36,7 @@ const ACTION_PAGE_EMPTY_TRASH = 'PAGE_EMPTY_TRASH';
 const ACTION_PAGE_SUBSCRIBE = 'PAGE_SUBSCRIBE';
 const ACTION_PAGE_EXPORT = 'PAGE_EXPORT';
 const ACTION_PAGE_UNSUBSCRIBE = 'ACTION_PAGE_UNSUBSCRIBE';
+const ACTION_TAG_UPDATE = 'TAG_UPDATE';
 const ACTION_COMMENT_CREATE = 'COMMENT_CREATE';
 const ACTION_COMMENT_UPDATE = 'COMMENT_UPDATE';
 const ACTION_COMMENT_REMOVE = 'COMMENT_REMOVE';
@@ -107,6 +108,7 @@ export const SupportedAction = {
   ACTION_PAGE_SUBSCRIBE,
   ACTION_PAGE_UNSUBSCRIBE,
   ACTION_PAGE_EXPORT,
+  ACTION_TAG_UPDATE,
   ACTION_COMMENT_CREATE,
   ACTION_COMMENT_UPDATE,
   ACTION_COMMENT_REMOVE,
@@ -193,6 +195,7 @@ export const MediumActionGroup = {
   ACTION_PAGE_SUBSCRIBE,
   ACTION_PAGE_UNSUBSCRIBE,
   ACTION_PAGE_EXPORT,
+  ACTION_TAG_UPDATE,
   ACTION_COMMENT_CREATE,
   ACTION_COMMENT_UPDATE,
   ACTION_COMMENT_REMOVE,

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

@@ -184,7 +184,7 @@ module.exports = function(crowi, app) {
   apiV1Router.post('/pages.duplicate'    , accessTokenParser, loginRequiredStrictly, csrf, page.api.duplicate);
   apiV1Router.get('/tags.list'           , accessTokenParser, loginRequired, tag.api.list);
   apiV1Router.get('/tags.search'         , accessTokenParser, loginRequired, tag.api.search);
-  apiV1Router.post('/tags.update'        , accessTokenParser, loginRequiredStrictly, tag.api.update);
+  apiV1Router.post('/tags.update'        , accessTokenParser, loginRequiredStrictly, addActivity, tag.api.update);
   apiV1Router.get('/comments.get'        , accessTokenParser , loginRequired , comment.api.get);
   apiV1Router.post('/comments.add'       , comment.api.validators.add(), accessTokenParser , loginRequiredStrictly , csrf, addActivity, comment.api.add);
   apiV1Router.post('/comments.update'    , comment.api.validators.add(), accessTokenParser , loginRequiredStrictly , csrf, addActivity, comment.api.update);

+ 5 - 0
packages/app/src/server/routes/tag.js

@@ -1,3 +1,4 @@
+import { SupportedAction } from '~/interfaces/activity';
 import Tag from '~/server/models/tag';
 
 /**
@@ -32,6 +33,7 @@ import Tag from '~/server/models/tag';
 module.exports = function(crowi, app) {
 
   const PageTagRelation = crowi.model('PageTagRelation');
+  const activityEvent = crowi.event('activity');
   const ApiResponse = require('../util/apiResponse');
   const actions = {};
   const api = {};
@@ -166,6 +168,9 @@ module.exports = function(crowi, app) {
     catch (err) {
       return res.json(ApiResponse.error(err));
     }
+
+    activityEvent.emit('update', res.locals.activity._id, { action: SupportedAction.ACTION_TAG_UPDATE });
+
     return res.json(ApiResponse.success(result));
   };