Bladeren bron

use serializeUserSecurely

itizawa 5 jaren geleden
bovenliggende
commit
c2b3926928
3 gewijzigde bestanden met toevoegingen van 27 en 0 verwijderingen
  1. 15 0
      src/server/routes/apiv3/pages.js
  2. 6 0
      src/server/routes/page.js
  3. 6 0
      src/server/routes/search.js

+ 15 - 0
src/server/routes/apiv3/pages.js

@@ -112,6 +112,7 @@ module.exports = (crowi) => {
   const apiV3FormValidator = require('../../middlewares/apiv3-form-validator')(crowi);
   const apiV3FormValidator = require('../../middlewares/apiv3-form-validator')(crowi);
 
 
   const Page = crowi.model('Page');
   const Page = crowi.model('Page');
+  const User = crowi.model('User');
   const PageTagRelation = crowi.model('PageTagRelation');
   const PageTagRelation = crowi.model('PageTagRelation');
   const GlobalNotificationSetting = crowi.model('GlobalNotificationSetting');
   const GlobalNotificationSetting = crowi.model('GlobalNotificationSetting');
 
 
@@ -120,6 +121,7 @@ module.exports = (crowi) => {
 
 
   const { serializePageSecurely } = require('../../models/serializers/page-serializer');
   const { serializePageSecurely } = require('../../models/serializers/page-serializer');
   const { serializeRevisionSecurely } = require('../../models/serializers/revision-serializer');
   const { serializeRevisionSecurely } = require('../../models/serializers/revision-serializer');
+  const { serializeUserSecurely } = require('../../models/serializers/user-serializer');
 
 
   const validator = {
   const validator = {
     createPage: [
     createPage: [
@@ -299,6 +301,12 @@ module.exports = (crowi) => {
         result.pages.pop();
         result.pages.pop();
       }
       }
 
 
+      result.pages.forEach((page) => {
+        if (page.lastUpdateUser != null && page.lastUpdateUser instanceof User) {
+          page.lastUpdateUser = serializeUserSecurely(page.lastUpdateUser);
+        }
+      });
+
       return res.apiv3(result);
       return res.apiv3(result);
     }
     }
     catch (err) {
     catch (err) {
@@ -470,6 +478,13 @@ module.exports = (crowi) => {
 
 
     try {
     try {
       const result = await Page.findListWithDescendants(path, req.user, queryOptions);
       const result = await Page.findListWithDescendants(path, req.user, queryOptions);
+
+      result.pages.forEach((page) => {
+        if (page.lastUpdateUser != null && page.lastUpdateUser instanceof User) {
+          page.lastUpdateUser = serializeUserSecurely(page.lastUpdateUser);
+        }
+      });
+
       return res.apiv3(result);
       return res.apiv3(result);
     }
     }
     catch (err) {
     catch (err) {

+ 6 - 0
src/server/routes/page.js

@@ -654,6 +654,12 @@ module.exports = function(crowi, app) {
         result.pages.pop();
         result.pages.pop();
       }
       }
 
 
+      result.pages.forEach((page) => {
+        if (page.lastUpdateUser != null && page.lastUpdateUser instanceof User) {
+          page.lastUpdateUser = serializeUserSecurely(page.lastUpdateUser);
+        }
+      });
+
       return res.json(ApiResponse.success(result));
       return res.json(ApiResponse.success(result));
     }
     }
     catch (err) {
     catch (err) {

+ 6 - 0
src/server/routes/search.js

@@ -1,3 +1,5 @@
+const { serializeUserSecurely } = require('../models/serializers/user-serializer');
+
 /**
 /**
  * @swagger
  * @swagger
  *
  *
@@ -27,6 +29,7 @@
 module.exports = function(crowi, app) {
 module.exports = function(crowi, app) {
   // var debug = require('debug')('growi:routes:search')
   // var debug = require('debug')('growi:routes:search')
   const Page = crowi.model('Page');
   const Page = crowi.model('Page');
+  const User = crowi.model('User');
   const ApiResponse = require('../util/apiResponse');
   const ApiResponse = require('../util/apiResponse');
   const ApiPaginate = require('../util/apiPaginate');
   const ApiPaginate = require('../util/apiPaginate');
 
 
@@ -159,6 +162,9 @@ module.exports = function(crowi, app) {
       result.totalCount = findResult.totalCount;
       result.totalCount = findResult.totalCount;
       result.data = findResult.pages
       result.data = findResult.pages
         .map((page) => {
         .map((page) => {
+          if (page.lastUpdateUser != null && page.lastUpdateUser instanceof User) {
+            page.lastUpdateUser = serializeUserSecurely(page.lastUpdateUser);
+          }
           page.bookmarkCount = (page._source && page._source.bookmark_count) || 0;
           page.bookmarkCount = (page._source && page._source.bookmark_count) || 0;
           return page;
           return page;
         })
         })