Просмотр исходного кода

Stop revision population when find list of pages

Yuki Takei 7 лет назад
Родитель
Сommit
6dad16a9c6
3 измененных файлов с 14 добавлено и 38 удалено
  1. 1 6
      src/server/models/page.js
  2. 0 8
      src/server/routes/page.js
  3. 13 24
      src/server/util/search.js

+ 1 - 6
src/server/models/page.js

@@ -624,16 +624,12 @@ module.exports = function(crowi) {
     return await findListFromBuilderAndViewer(builder, currentUser, opt);
   };
 
-  pageSchema.statics.findListByPageIds = async function(ids, user, option) {
-    const User = crowi.model('User');
-
+  pageSchema.statics.findListByPageIds = async function(ids, option) {
     const opt = Object.assign({}, option);
     const builder = new PageQueryBuilder(this.find({ _id: { $in: ids } }));
 
     builder.addConditionToExcludeRedirect();
     builder.addConditionToPagenate(opt.offset, opt.limit);
-    builder.populateDataToShowRevision(User.USER_PUBLIC_FIELDS);  // TODO omit this line after fixing GC-1323
-                                                                  // https://weseek.myjetbrains.com/youtrack/issue/GC-1323
 
     const totalCount = await builder.query.exec('count');
     const q = builder.query;
@@ -641,7 +637,6 @@ module.exports = function(crowi) {
 
     const result = { pages, totalCount, offset: opt.offset, limit: opt.limit };
     return result;
-
   };
 
 

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

@@ -142,14 +142,6 @@ module.exports = function(crowi, app) {
       result.pages.pop();
     }
 
-    // populate for timeline
-    if (Config.isEnabledTimeline(config)) {
-      await Page.populate(result.pages, {
-        path: 'revision',
-        model: 'Revision',
-      });
-    }
-
     renderVars.viewConfig = {
       seener_threshold: SEENER_THRESHOLD,
     };

+ 13 - 24
src/server/util/search.js

@@ -343,8 +343,6 @@ SearchClient.prototype.addAllPages = async function() {
  * }
  */
 SearchClient.prototype.search = async function(query) {
-  let self = this;
-
   // for debug
   if (process.env.NODE_ENV === 'development') {
     const result = await this.client.indices.validateQuery({
@@ -356,28 +354,19 @@ SearchClient.prototype.search = async function(query) {
     logger.info('ES returns explanations: ', result.explanations);
   }
 
-  return new Promise(function(resolve, reject) {
-    self.client
-      .search(query)
-      .then(function(data) {
-        let result = {
-          meta: {
-            took: data.took,
-            total: data.hits.total,
-            results: data.hits.hits.length,
-          },
-          data: data.hits.hits.map(function(elm) {
-            return { _id: elm._id, _score: elm._score, _source: elm._source };
-          }),
-        };
-
-        resolve(result);
-      })
-      .catch(function(err) {
-        logger.error('Search error', err);
-        reject(err);
-      });
-  });
+  const result = await this.client.search(query);
+
+  return {
+    meta: {
+      took: result.took,
+      total: result.hits.total,
+      results: result.hits.hits.length,
+    },
+    data: result.hits.hits.map(function(elm) {
+      return { _id: elm._id, _score: elm._score, _source: elm._source };
+    }),
+  };
+
 };
 
 SearchClient.prototype.createSearchQuerySortedByUpdatedAt = function(option) {