Преглед изворни кода

Added serializeUserSecurely

Taichi Masuyama пре 4 година
родитељ
комит
f33e83970c

+ 7 - 2
packages/app/src/server/service/search-delegator/private-legacy-pages.ts

@@ -6,6 +6,7 @@ import { IPage } from '~/interfaces/page';
 import {
   MetaData, Result, SearchableData, SearchDelegator,
 } from '../../interfaces/search';
+import { serializeUserSecurely } from '../../models/serializers/user-serializer';
 
 
 class PrivateLegacyPagesDelegator implements SearchDelegator<IPage> {
@@ -32,16 +33,20 @@ class PrivateLegacyPagesDelegator implements SearchDelegator<IPage> {
 
     const queryBuilder = new PageQueryBuilder(Page.find());
 
-    const pages: PageDocument[] = await queryBuilder
+    const _pages: PageDocument[] = await queryBuilder
       .addConditionAsNonRootPage()
       .addConditionAsNotMigrated()
       .addConditionToFilteringByViewer(user, userGroups)
       .addConditionToPagenate(offset, limit)
       .query
       .populate('lastUpdateUser')
-      .lean()
       .exec();
 
+    const pages = _pages.map((page) => {
+      page.lastUpdateUser = serializeUserSecurely(page.lastUpdateUser);
+      return page;
+    });
+
     return {
       data: pages,
       meta: {

+ 5 - 0
packages/app/src/server/service/search.ts

@@ -373,6 +373,7 @@ class SearchService implements SearchQueryParser, SearchResolver {
           pageMeta: {},
         };
       });
+
       return {
         data,
         totalCount: data.length,
@@ -380,6 +381,10 @@ class SearchService implements SearchQueryParser, SearchResolver {
       };
     }
 
+    /*
+     * Format ElasticSearch result
+     */
+
     const Page = this.crowi.model('Page') as PageModel;
     const User = this.crowi.model('User');
     const result = {} as FormattedSearchResult;