Преглед на файлове

serialize user in pagenationResult

kaori преди 4 години
родител
ревизия
467e7fa2ec
променени са 1 файла, в които са добавени 10 реда и са изтрити 0 реда
  1. 10 0
      packages/app/src/server/routes/apiv3/in-app-notification.ts

+ 10 - 0
packages/app/src/server/routes/apiv3/in-app-notification.ts

@@ -1,6 +1,8 @@
 import { InAppNotification } from '../../models/in-app-notification';
 
 const express = require('express');
+const { serializeUserSecurely } = require('../../models/serializers/user-serializer');
+
 
 const router = express.Router();
 
@@ -10,6 +12,7 @@ module.exports = (crowi) => {
   const loginRequiredStrictly = require('../../middlewares/login-required')(crowi);
   const csrf = require('../../middlewares/csrf')(crowi);
   const inAppNotificationService = crowi.inAppNotificationService;
+  const User = crowi.model('User');
 
   router.get('/list', accessTokenParser, loginRequiredStrictly, async(req, res) => {
     const user = req.user;
@@ -27,6 +30,13 @@ module.exports = (crowi) => {
     const requestLimit = limit + 1;
 
     const paginationResult = await inAppNotificationService.getLatestNotificationsByUser(user._id, requestLimit, offset);
+
+    paginationResult.docs.forEach((doc) => {
+      if (doc.user != null && doc.user instanceof User) {
+        doc.user = serializeUserSecurely(doc.user);
+      }
+    });
+
     return res.apiv3(paginationResult);
 
   });