Browse Source

add all share link deletion activity

keigo-h 3 years ago
parent
commit
f207453937

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

@@ -47,6 +47,7 @@ const ACTION_ADMIN_MAINTENANCEMODE_DISABLED = 'ADMIN_MAINTENANCEMODE_DISABLED';
 const ACTION_ADMIN_SECURITY_SETTINGS_UPDATE = 'ADMIN_SECURITY_SETTINGS_UPDATE';
 const ACTION_ADMIN_SECURITY_SETTINGS_UPDATE = 'ADMIN_SECURITY_SETTINGS_UPDATE';
 const ACTION_ADMIN_PERMIT_SHARE_LINK = 'ADMIN_PERMIT_SHARE_LINK';
 const ACTION_ADMIN_PERMIT_SHARE_LINK = 'ADMIN_PERMIT_SHARE_LINK';
 const ACTION_ADMIN_REJECT_SHARE_LINK = 'ADMIN_REJECT_SHARE_LINK';
 const ACTION_ADMIN_REJECT_SHARE_LINK = 'ADMIN_REJECT_SHARE_LINK';
+const ACTION_ADMIN_DELETE_ALL_SHARE_LINK = 'ADMIN_DELETE_ALL_SHARE_LINK';
 const ACTION_ADMIN_LINE_BREAK_UPDATE = 'ADMIN_LINE_BREAK_UPDATE';
 const ACTION_ADMIN_LINE_BREAK_UPDATE = 'ADMIN_LINE_BREAK_UPDATE';
 const ACTION_ADMIN_LAYOUT_UPDATE = 'ADMIN_LAYOUT_UPDATE';
 const ACTION_ADMIN_LAYOUT_UPDATE = 'ADMIN_LAYOUT_UPDATE';
 const ACTION_ADMIN_ARCHIVE_DATA_UPLOAD = 'ADMIN_ARCHIVE_DATA_UPLOAD';
 const ACTION_ADMIN_ARCHIVE_DATA_UPLOAD = 'ADMIN_ARCHIVE_DATA_UPLOAD';
@@ -109,6 +110,7 @@ export const SupportedAction = {
   ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
   ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
   ACTION_ADMIN_PERMIT_SHARE_LINK,
   ACTION_ADMIN_PERMIT_SHARE_LINK,
   ACTION_ADMIN_REJECT_SHARE_LINK,
   ACTION_ADMIN_REJECT_SHARE_LINK,
+  ACTION_ADMIN_DELETE_ALL_SHARE_LINK,
   ACTION_ADMIN_LINE_BREAK_UPDATE,
   ACTION_ADMIN_LINE_BREAK_UPDATE,
   ACTION_ADMIN_LAYOUT_UPDATE,
   ACTION_ADMIN_LAYOUT_UPDATE,
   ACTION_ADMIN_ARCHIVE_DATA_UPLOAD,
   ACTION_ADMIN_ARCHIVE_DATA_UPLOAD,
@@ -191,6 +193,7 @@ export const LargeActionGroup = {
   ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
   ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
   ACTION_ADMIN_PERMIT_SHARE_LINK,
   ACTION_ADMIN_PERMIT_SHARE_LINK,
   ACTION_ADMIN_REJECT_SHARE_LINK,
   ACTION_ADMIN_REJECT_SHARE_LINK,
+  ACTION_ADMIN_DELETE_ALL_SHARE_LINK,
   ACTION_ADMIN_LINE_BREAK_UPDATE,
   ACTION_ADMIN_LINE_BREAK_UPDATE,
   ACTION_ADMIN_LAYOUT_UPDATE,
   ACTION_ADMIN_LAYOUT_UPDATE,
   ACTION_ADMIN_ARCHIVE_DATA_UPLOAD,
   ACTION_ADMIN_ARCHIVE_DATA_UPLOAD,

+ 8 - 2
packages/app/src/server/routes/apiv3/share-links.js

@@ -1,9 +1,12 @@
 // TODO remove this setting after implemented all
 // TODO remove this setting after implemented all
 /* eslint-disable no-unused-vars */
 /* eslint-disable no-unused-vars */
+import { SupportedAction } from '~/interfaces/activity';
+import { generateAddActivityMiddleware } from '~/server/middlewares/add-activity';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
 import { apiV3FormValidator } from '../../middlewares/apiv3-form-validator';
 import { apiV3FormValidator } from '../../middlewares/apiv3-form-validator';
 
 
+
 const logger = loggerFactory('growi:routes:apiv3:share-links');
 const logger = loggerFactory('growi:routes:apiv3:share-links');
 
 
 const express = require('express');
 const express = require('express');
@@ -30,6 +33,8 @@ module.exports = (crowi) => {
   const csrf = require('../../middlewares/csrf')(crowi);
   const csrf = require('../../middlewares/csrf')(crowi);
   const ShareLink = crowi.model('ShareLink');
   const ShareLink = crowi.model('ShareLink');
   const Page = crowi.model('Page');
   const Page = crowi.model('Page');
+  const addActivity = generateAddActivityMiddleware(crowi);
+  const activityEvent = crowi.event('activity');
 
 
   /**
   /**
    * middleware to limit link sharing
    * middleware to limit link sharing
@@ -180,7 +185,6 @@ module.exports = (crowi) => {
   */
   */
   router.delete('/', loginRequired, csrf, validator.deleteShareLinks, apiV3FormValidator, async(req, res) => {
   router.delete('/', loginRequired, csrf, validator.deleteShareLinks, apiV3FormValidator, async(req, res) => {
     const { relatedPage } = req.query;
     const { relatedPage } = req.query;
-
     const page = await Page.findByIdAndViewer(relatedPage, req.user);
     const page = await Page.findByIdAndViewer(relatedPage, req.user);
 
 
     if (page == null) {
     if (page == null) {
@@ -211,11 +215,13 @@ module.exports = (crowi) => {
   *          200:
   *          200:
   *            description: Succeeded to remove all share links
   *            description: Succeeded to remove all share links
   */
   */
-  router.delete('/all', loginRequired, adminRequired, csrf, async(req, res) => {
+  router.delete('/all', loginRequired, adminRequired, csrf, addActivity, async(req, res) => {
 
 
     try {
     try {
       const deletedShareLink = await ShareLink.deleteMany({});
       const deletedShareLink = await ShareLink.deleteMany({});
       const { deletedCount } = deletedShareLink;
       const { deletedCount } = deletedShareLink;
+      const parameters = { action: SupportedAction.ACTION_ADMIN_DELETE_ALL_SHARE_LINK };
+      activityEvent.emit('update', res.locals.activity._id, parameters);
       return res.apiv3({ deletedCount });
       return res.apiv3({ deletedCount });
     }
     }
     catch (err) {
     catch (err) {