|
@@ -1,10 +1,13 @@
|
|
|
|
|
+import { SupportedAction } from '~/interfaces/activity';
|
|
|
import { PageDeleteConfigValue } from '~/interfaces/page-delete-config';
|
|
import { PageDeleteConfigValue } from '~/interfaces/page-delete-config';
|
|
|
import loggerFactory from '~/utils/logger';
|
|
import loggerFactory from '~/utils/logger';
|
|
|
import { removeNullPropertyFromObject } from '~/utils/object-utils';
|
|
import { removeNullPropertyFromObject } from '~/utils/object-utils';
|
|
|
import { validateDeleteConfigs, prepareDeleteConfigValuesForCalc } from '~/utils/page-delete-config';
|
|
import { validateDeleteConfigs, prepareDeleteConfigValuesForCalc } from '~/utils/page-delete-config';
|
|
|
|
|
|
|
|
|
|
+import { generateAddActivityMiddleware } from '../../middlewares/add-activity';
|
|
|
import { apiV3FormValidator } from '../../middlewares/apiv3-form-validator';
|
|
import { apiV3FormValidator } from '../../middlewares/apiv3-form-validator';
|
|
|
|
|
|
|
|
|
|
+
|
|
|
const logger = loggerFactory('growi:routes:apiv3:security-setting');
|
|
const logger = loggerFactory('growi:routes:apiv3:security-setting');
|
|
|
|
|
|
|
|
const express = require('express');
|
|
const express = require('express');
|
|
@@ -335,6 +338,9 @@ module.exports = (crowi) => {
|
|
|
const loginRequiredStrictly = require('../../middlewares/login-required')(crowi);
|
|
const loginRequiredStrictly = require('../../middlewares/login-required')(crowi);
|
|
|
const adminRequired = require('../../middlewares/admin-required')(crowi);
|
|
const adminRequired = require('../../middlewares/admin-required')(crowi);
|
|
|
const csrf = require('../../middlewares/csrf')(crowi);
|
|
const csrf = require('../../middlewares/csrf')(crowi);
|
|
|
|
|
+ const addActivity = generateAddActivityMiddleware(crowi);
|
|
|
|
|
+
|
|
|
|
|
+ const activityEvent = crowi.event('activity');
|
|
|
|
|
|
|
|
async function updateAndReloadStrategySettings(authId, params) {
|
|
async function updateAndReloadStrategySettings(authId, params) {
|
|
|
const { configManager, passportService } = crowi;
|
|
const { configManager, passportService } = crowi;
|
|
@@ -586,7 +592,7 @@ module.exports = (crowi) => {
|
|
|
* schema:
|
|
* schema:
|
|
|
* $ref: '#/components/schemas/GeneralSetting'
|
|
* $ref: '#/components/schemas/GeneralSetting'
|
|
|
*/
|
|
*/
|
|
|
- router.put('/general-setting', loginRequiredStrictly, adminRequired, csrf, validator.generalSetting, apiV3FormValidator, async(req, res) => {
|
|
|
|
|
|
|
+ router.put('/general-setting', loginRequiredStrictly, adminRequired, csrf, addActivity, validator.generalSetting, apiV3FormValidator, async(req, res) => {
|
|
|
const updateData = {
|
|
const updateData = {
|
|
|
'security:sessionMaxAge': parseInt(req.body.sessionMaxAge),
|
|
'security:sessionMaxAge': parseInt(req.body.sessionMaxAge),
|
|
|
'security:restrictGuestMode': req.body.restrictGuestMode,
|
|
'security:restrictGuestMode': req.body.restrictGuestMode,
|
|
@@ -626,6 +632,9 @@ module.exports = (crowi) => {
|
|
|
hideRestrictedByGroup: await crowi.configManager.getConfig('crowi', 'security:list-policy:hideRestrictedByGroup'),
|
|
hideRestrictedByGroup: await crowi.configManager.getConfig('crowi', 'security:list-policy:hideRestrictedByGroup'),
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ const parameters = { action: SupportedAction.ACTION_ADMIN_SECURITY_SETTINGS_UPDATE };
|
|
|
|
|
+ activityEvent.emit('update', res.locals.activity._id, parameters);
|
|
|
|
|
+
|
|
|
return res.apiv3({ securitySettingParams });
|
|
return res.apiv3({ securitySettingParams });
|
|
|
}
|
|
}
|
|
|
catch (err) {
|
|
catch (err) {
|