2
0
Эх сурвалжийг харах

Merge pull request #6123 from weseek/feat/add-mail-config-activity

feat: Add smtp ses update and test submit activity
hirokei 3 жил өмнө
parent
commit
b14711aa43

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

@@ -37,6 +37,9 @@ const ACTION_COMMENT_UPDATE = 'COMMENT_UPDATE';
 const ACTION_COMMENT_REMOVE = 'COMMENT_REMOVE';
 const ACTION_COMMENT_REMOVE = 'COMMENT_REMOVE';
 const ACTION_ADMIN_APP_SETTINGS_UPDATE = 'ADMIN_APP_SETTING_UPDATE';
 const ACTION_ADMIN_APP_SETTINGS_UPDATE = 'ADMIN_APP_SETTING_UPDATE';
 const ACTION_ADMIN_SITE_URL_UPDATE = 'ADMIN_SITE_URL_UPDATE';
 const ACTION_ADMIN_SITE_URL_UPDATE = 'ADMIN_SITE_URL_UPDATE';
+const ACTION_ADMIN_MAIL_SMTP_UPDATE = 'ADMIN_MAIL_SMTP_UPDATE';
+const ACTION_ADMIN_MAIL_SES_UPDATE = 'ADMIN_MAIL_SES_UPDATE';
+const ACTION_ADMIN_MAIL_TEST_SUBMIT = 'ADMIN_MAIL_TEST_SUBMIT ';
 const ACTION_ADMIN_SECURITY_SETTINGS_UPDATE = 'ADMIN_SECURITY_SETTINGS_UPDATE';
 const ACTION_ADMIN_SECURITY_SETTINGS_UPDATE = 'ADMIN_SECURITY_SETTINGS_UPDATE';
 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';
@@ -90,6 +93,9 @@ export const SupportedAction = {
   ACTION_COMMENT_REMOVE,
   ACTION_COMMENT_REMOVE,
   ACTION_ADMIN_APP_SETTINGS_UPDATE,
   ACTION_ADMIN_APP_SETTINGS_UPDATE,
   ACTION_ADMIN_SITE_URL_UPDATE,
   ACTION_ADMIN_SITE_URL_UPDATE,
+  ACTION_ADMIN_MAIL_SMTP_UPDATE,
+  ACTION_ADMIN_MAIL_SES_UPDATE,
+  ACTION_ADMIN_MAIL_TEST_SUBMIT,
   ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
   ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
   ACTION_ADMIN_LINE_BREAK_UPDATE,
   ACTION_ADMIN_LINE_BREAK_UPDATE,
   ACTION_ADMIN_LAYOUT_UPDATE,
   ACTION_ADMIN_LAYOUT_UPDATE,
@@ -150,6 +156,9 @@ export const LargeActionGroup = {
   ...MediumActionGroup,
   ...MediumActionGroup,
   ACTION_ADMIN_APP_SETTINGS_UPDATE,
   ACTION_ADMIN_APP_SETTINGS_UPDATE,
   ACTION_ADMIN_SITE_URL_UPDATE,
   ACTION_ADMIN_SITE_URL_UPDATE,
+  ACTION_ADMIN_MAIL_SMTP_UPDATE,
+  ACTION_ADMIN_MAIL_SES_UPDATE,
+  ACTION_ADMIN_MAIL_TEST_SUBMIT,
   ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
   ACTION_ADMIN_SECURITY_SETTINGS_UPDATE,
   ACTION_ADMIN_LINE_BREAK_UPDATE,
   ACTION_ADMIN_LINE_BREAK_UPDATE,
   ACTION_ADMIN_LAYOUT_UPDATE,
   ACTION_ADMIN_LAYOUT_UPDATE,

+ 9 - 4
packages/app/src/server/routes/apiv3/app-settings.js

@@ -490,7 +490,7 @@ module.exports = (crowi) => {
    *                schema:
    *                schema:
    *                  $ref: '#/components/schemas/SmtpSettingParams'
    *                  $ref: '#/components/schemas/SmtpSettingParams'
    */
    */
-  router.put('/smtp-setting', loginRequiredStrictly, adminRequired, csrf, validator.smtpSetting, apiV3FormValidator, async(req, res) => {
+  router.put('/smtp-setting', loginRequiredStrictly, adminRequired, csrf, addActivity, validator.smtpSetting, apiV3FormValidator, async(req, res) => {
     const requestMailSettingParams = {
     const requestMailSettingParams = {
       'mail:from': req.body.fromAddress,
       'mail:from': req.body.fromAddress,
       'mail:transmissionMethod': req.body.transmissionMethod,
       'mail:transmissionMethod': req.body.transmissionMethod,
@@ -502,6 +502,8 @@ module.exports = (crowi) => {
 
 
     try {
     try {
       const mailSettingParams = await updateMailSettinConfig(requestMailSettingParams);
       const mailSettingParams = await updateMailSettinConfig(requestMailSettingParams);
+      const parameters = { action: SupportedAction.ACTION_ADMIN_MAIL_SMTP_UPDATE };
+      activityEvent.emit('update', res.locals.activity._id, parameters);
       return res.apiv3({ mailSettingParams });
       return res.apiv3({ mailSettingParams });
     }
     }
     catch (err) {
     catch (err) {
@@ -524,9 +526,11 @@ module.exports = (crowi) => {
    *          200:
    *          200:
    *            description: Succeeded to send test mail for smtp
    *            description: Succeeded to send test mail for smtp
    */
    */
-  router.post('/smtp-test', loginRequiredStrictly, adminRequired, async(req, res) => {
+  router.post('/smtp-test', loginRequiredStrictly, adminRequired, addActivity, async(req, res) => {
     try {
     try {
       await sendTestEmail(req.user.email);
       await sendTestEmail(req.user.email);
+      const parameters = { action: SupportedAction.ACTION_ADMIN_MAIL_TEST_SUBMIT };
+      activityEvent.emit('update', res.locals.activity._id, parameters);
       return res.apiv3({});
       return res.apiv3({});
     }
     }
     catch (err) {
     catch (err) {
@@ -560,7 +564,7 @@ module.exports = (crowi) => {
    *                schema:
    *                schema:
    *                  $ref: '#/components/schemas/SesSettingParams'
    *                  $ref: '#/components/schemas/SesSettingParams'
    */
    */
-  router.put('/ses-setting', loginRequiredStrictly, adminRequired, csrf, validator.sesSetting, apiV3FormValidator, async(req, res) => {
+  router.put('/ses-setting', loginRequiredStrictly, adminRequired, csrf, addActivity, validator.sesSetting, apiV3FormValidator, async(req, res) => {
     const { mailService } = crowi;
     const { mailService } = crowi;
 
 
     const requestSesSettingParams = {
     const requestSesSettingParams = {
@@ -582,7 +586,8 @@ module.exports = (crowi) => {
 
 
     await mailService.initialize();
     await mailService.initialize();
     mailService.publishUpdatedMessage();
     mailService.publishUpdatedMessage();
-
+    const parameters = { action: SupportedAction.ACTION_ADMIN_MAIL_SES_UPDATE };
+    activityEvent.emit('update', res.locals.activity._id, parameters);
     return res.apiv3({ mailSettingParams });
     return res.apiv3({ mailSettingParams });
   });
   });