2
0
itizawa 5 жил өмнө
parent
commit
bb66c186e6

+ 2 - 1
src/client/js/util/apiv3ErrorHandler.js

@@ -8,13 +8,14 @@ const logger = require('@alias/logger')('growi:apiv3');
 const apiv3ErrorHandler = (_err, header = 'Error') => {
   // extract api errors from general 400 err
   const err = _err.response ? _err.response.data.errors : _err;
+  const code = _err.response.data.code || null;
   const errs = toArrayIfNot(err);
 
   for (const err of errs) {
     logger.error(err.message);
   }
 
-  return errs;
+  return {errs, code};
 };
 
 export default apiv3ErrorHandler;

+ 2 - 3
src/server/routes/apiv3/pages.js

@@ -4,6 +4,7 @@ const logger = loggerFactory('growi:routes:apiv3:pages'); // eslint-disable-line
 
 const express = require('express');
 const pathUtils = require('growi-commons').pathUtils;
+const ErrorV3 = require('../../models/vo/error-apiv3');
 
 const { body } = require('express-validator/check');
 
@@ -240,9 +241,7 @@ module.exports = (crowi) => {
       return res.apiv3({ pages });
     }
     catch (err) {
-      res.code = 'unknown';
-      logger.error('Failed to delete trash pages', err);
-      return res.apiv3Err(err, 500);
+      return res.apiv3Err(new ErrorV3(err.message), 500, 'unknown');
     }
   });
 

+ 2 - 2
src/server/routes/apiv3/response.js

@@ -13,7 +13,7 @@ const addCustomFunctionToResponse = (express, crowi) => {
     this.json({ data: obj });
   };
 
-  express.response.apiv3Err = function(_err, status = 400, info) { // not arrow function
+  express.response.apiv3Err = function(_err, status = 400, code) { // not arrow function
     if (!Number.isInteger(status)) {
       throw new Error('invalid status supplied to res.apiv3Err');
     }
@@ -33,7 +33,7 @@ const addCustomFunctionToResponse = (express, crowi) => {
       throw new Error('invalid error supplied to res.apiv3Err');
     });
 
-    this.status(status).json({ errors, info });
+    this.status(status).json({ errors, code });
   };
 };