@@ -3,6 +3,7 @@ import PageMapModel from '../models/pageMap';
33import PageModel from '../models/pageModel' ;
44import PageTreeModel from '../models/pageTreeModel' ;
55import mongoose from 'mongoose' ;
6+ import ElasticSearchClient from './search/ElasticSearchClient' ;
67
78interface pageTreeType {
89 _id : string ,
@@ -43,8 +44,8 @@ const deletePage = async (
4344 return subPages ;
4445 } ;
4546
46- const pagesToDelete = getSubPages ( pageTree , pageMap . pathToPage , pageID )
47- . map ( ( id ) => new mongoose . Types . ObjectId ( id ) ) ;
47+ const pagesToDelete = getSubPages ( pageTree , pageMap . pathToPage , pageID ) ;
48+ const objectIDsToDelete = pagesToDelete . map ( ( id ) => new mongoose . Types . ObjectId ( id ) ) ;
4849
4950 // -=- Delete Sub Pages -=-
5051 // ~ Delete the top level page from the page tree
@@ -90,14 +91,33 @@ const deletePage = async (
9091 // ~ Delete the sub pages maps
9192 await PageMapModel . deleteMany ( {
9293 _id : {
93- $in : pagesToDelete ,
94+ $in : objectIDsToDelete ,
9495 } ,
9596 } ) ;
9697
9798 // ~ Delete the sub pages
9899 await PageModel . deleteMany ( {
99100 _id : {
100- $in : pagesToDelete ,
101+ $in : objectIDsToDelete ,
102+ } ,
103+ } ) ;
104+
105+
106+ // ~ Delete the sub pages from ElasticSearch
107+ await ElasticSearchClient . deleteByQuery ( {
108+ index : 'blocks' ,
109+ body : {
110+ query : {
111+ bool : {
112+ filter : [
113+ {
114+ terms : {
115+ pageId : pagesToDelete ,
116+ } ,
117+ } ,
118+ ] ,
119+ } ,
120+ } ,
101121 } ,
102122 } ) ;
103123} ;
0 commit comments