|
@@ -1,8 +1,11 @@
|
|
|
|
|
+import { SupportedAction } from '~/interfaces/activity';
|
|
|
import Activity from '~/server/models/activity';
|
|
import Activity from '~/server/models/activity';
|
|
|
import loggerFactory from '~/utils/logger';
|
|
import loggerFactory from '~/utils/logger';
|
|
|
|
|
|
|
|
|
|
+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:user-group');
|
|
const logger = loggerFactory('growi:routes:apiv3:user-group');
|
|
|
|
|
|
|
|
const express = require('express');
|
|
const express = require('express');
|
|
@@ -77,6 +80,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');
|
|
|
|
|
|
|
|
const {
|
|
const {
|
|
|
User,
|
|
User,
|
|
@@ -400,7 +406,7 @@ module.exports = (crowi) => {
|
|
|
* type: object
|
|
* type: object
|
|
|
* description: Users email that failed to create or send email
|
|
* description: Users email that failed to create or send email
|
|
|
*/
|
|
*/
|
|
|
- router.post('/invite', loginRequiredStrictly, adminRequired, csrf, validator.inviteEmail, apiV3FormValidator, async(req, res) => {
|
|
|
|
|
|
|
+ router.post('/invite', loginRequiredStrictly, adminRequired, csrf, addActivity, validator.inviteEmail, apiV3FormValidator, async(req, res) => {
|
|
|
|
|
|
|
|
// Delete duplicate email addresses
|
|
// Delete duplicate email addresses
|
|
|
const emailList = Array.from(new Set(req.body.shapedEmailList));
|
|
const emailList = Array.from(new Set(req.body.shapedEmailList));
|
|
@@ -420,6 +426,9 @@ module.exports = (crowi) => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ const parameters = { action: SupportedAction.ACTION_ADMIN_USERS_INVITE };
|
|
|
|
|
+ activityEvent.emit('update', res.locals.activity._id, parameters);
|
|
|
|
|
+
|
|
|
return res.apiv3({
|
|
return res.apiv3({
|
|
|
createdUserList: createUser.createdUserList,
|
|
createdUserList: createUser.createdUserList,
|
|
|
existingEmailList: createUser.existingEmailList,
|
|
existingEmailList: createUser.existingEmailList,
|