Ver Fonte

Add error handling for file upload type updates in app-settings route

Shun Miyazawa há 9 meses atrás
pai
commit
cbe76a8c2d
1 ficheiros alterados com 13 adições e 0 exclusões
  1. 13 0
      apps/app/src/server/routes/apiv3/app-settings.js

+ 13 - 0
apps/app/src/server/routes/apiv3/app-settings.js

@@ -890,6 +890,19 @@ module.exports = (crowi) => {
   router.put('/file-upload-setting', loginRequiredStrictly, adminRequired, addActivity, validator.fileUploadSetting, apiV3FormValidator, async(req, res) => {
   router.put('/file-upload-setting', loginRequiredStrictly, adminRequired, addActivity, validator.fileUploadSetting, apiV3FormValidator, async(req, res) => {
     const { fileUploadType } = req.body;
     const { fileUploadType } = req.body;
 
 
+    if (fileUploadType === 'local' || fileUploadType === 'gridfs') {
+      try {
+        await configManager.updateConfigs({
+          'app:fileUploadType': fileUploadType,
+        }, { skipPubsub: true });
+      }
+      catch (err) {
+        const msg = `Error occurred in updating file upload type to ${fileUploadType}: ${err.message}`;
+        logger.error('Error', err);
+        return res.apiv3Err(new ErrorV3(msg, 'update-fileUploadType-failed'));
+      }
+    }
+
     if (fileUploadType === 'aws') {
     if (fileUploadType === 'aws') {
       try {
       try {
         try {
         try {