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

add method to find not empty ancestor

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

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

@@ -2855,6 +2855,20 @@ class PageService {
     socket.emit(SocketEventName.UpdateDescCount, data);
     socket.emit(SocketEventName.UpdateDescCount, data);
   }
   }
 
 
+  async findNotEmptyClosestAncestor(path: string): Promise<PageDocument> {
+    const Page = mongoose.model('Page') as unknown as PageModel;
+    const { PageQueryBuilder } = Page;
+    const builderForAncestors = new PageQueryBuilder(Page.find(), false); // empty page not included
+
+    const ancestors = await builderForAncestors
+      .addConditionToListOnlyAncestors(path) // only ancestor paths
+      .addConditionToSortPagesByDescPath() // sort by path in Desc. Long to Short.
+      .query
+      .exec();
+
+    return ancestors[0];
+  }
+
 }
 }
 
 
 export default PageService;
 export default PageService;