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

BugFix: populate revision.author

* refactor isPopulateRevisionBody query option for `Page.findListByStartWith`
Yuki Takei 8 лет назад
Родитель
Сommit
a06b2404b1
2 измененных файлов с 12 добавлено и 8 удалено
  1. 10 6
      lib/models/page.js
  2. 2 2
      lib/routes/page.js

+ 10 - 6
lib/models/page.js

@@ -631,12 +631,22 @@ module.exports = function(crowi) {
     var sortOpt = {};
     sortOpt[opt.sort] = opt.desc;
 
+    var isPopulateRevisionBody = option.isPopulateRevisionBody || false;
+
     return new Promise(function(resolve, reject) {
       var q = Page.generateQueryToListByStartWith(path, userData, option)
         .sort(sortOpt)
         .skip(opt.offset)
         .limit(opt.limit);
 
+      // retrieve revision data
+      if (isPopulateRevisionBody) {
+        q = q.populate('revision');
+      }
+      else {
+        q = q.populate('revision', '-body');  // exclude body
+      }
+
       q.exec()
         .then(function(pages) {
           Page.populate(pages, {path: 'revision.author', model: 'User', select: User.USER_PUBLIC_FIELDS})
@@ -650,7 +660,6 @@ module.exports = function(crowi) {
     var Page = this;
     var pathCondition = [];
     var includeDeletedPage = option.includeDeletedPage || false;
-    var isPopulateRevision = option.isPopulateRevision || false;
 
     var queryReg = new RegExp('^' + path);
     pathCondition.push({path: queryReg});
@@ -681,11 +690,6 @@ module.exports = function(crowi) {
       });
     }
 
-    // retrieve revision data
-    if (isPopulateRevision) {
-      q = q.populate('revision');
-    }
-
     return q;
   }
 

+ 2 - 2
lib/routes/page.js

@@ -107,7 +107,7 @@ module.exports = function(crowi, app) {
     var queryOptions = {
       offset: offset,
       limit : limit + 1,
-      isPopulateRevision: Config.isEnabledTimeline(config),
+      isPopulateRevisionBody: Config.isEnabledTimeline(config),
     };
 
     var renderVars = {
@@ -172,7 +172,7 @@ module.exports = function(crowi, app) {
     var queryOptions = {
       offset: offset,
       limit : limit + 1,
-      isPopulateRevision: Config.isEnabledTimeline(config),
+      isPopulateRevisionBody: Config.isEnabledTimeline(config),
     };
 
     var renderVars = {