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

update descendantCount on rename

yohei0125 4 лет назад
Родитель
Сommit
b40fb9c761
1 измененных файлов с 9 добавлено и 0 удалено
  1. 9 0
      packages/app/src/server/service/page.ts

+ 9 - 0
packages/app/src/server/service/page.ts

@@ -356,8 +356,17 @@ class PageService {
       update.lastUpdateUser = user;
       update.updatedAt = new Date();
     }
+
+    // reduce ancestore's descendantCount
+    const nToReduce = -1 * ((page.isEmpty ? 0 : 1) + page.descendantCount);
+    await this.updateDescendantCountOfAncestors(page._id, nToReduce, false);
+    // rename
     const renamedPage = await Page.findByIdAndUpdate(page._id, { $set: update }, { new: true });
 
+    // increase ancestore's descendantCount
+    const nToIncrease = (renamedPage.isEmpty ? 0 : 1) + page.descendantCount;
+    await this.updateDescendantCountOfAncestors(renamedPage._id, nToIncrease, false);
+
     this.pageEvent.emit('rename', page, user);
 
     // TODO: resume