Shunm634-source 3 лет назад
Родитель
Сommit
67b4844566
1 измененных файлов с 18 добавлено и 1 удалено
  1. 18 1
      packages/app/src/server/service/page.ts

+ 18 - 1
packages/app/src/server/service/page.ts

@@ -131,11 +131,22 @@ class PageService {
 
 
   crowi: any;
   crowi: any;
 
 
+  pageEvent: any;
+
   tagEvent: any;
   tagEvent: any;
 
 
   constructor(crowi) {
   constructor(crowi) {
     this.crowi = crowi;
     this.crowi = crowi;
     this.tagEvent = crowi.event('tag');
     this.tagEvent = crowi.event('tag');
+
+    this.initPageEvent();
+  }
+
+  private initPageEvent() {
+    this.pageEvent.on('create', this.pageEvent.onCreate);
+
+    this.pageEvent.on('createMany', this.pageEvent.onCreateMany);
+    this.pageEvent.on('addSeenUsers', this.pageEvent.onAddSeenUsers);
   }
   }
 
 
   canDeleteCompletely(path: string, creatorId: ObjectIdLike, operator: any | null, isRecursively: boolean): boolean {
   canDeleteCompletely(path: string, creatorId: ObjectIdLike, operator: any | null, isRecursively: boolean): boolean {
@@ -716,7 +727,6 @@ class PageService {
         throw Error(`Failed to create PageRedirect documents: ${err}`);
         throw Error(`Failed to create PageRedirect documents: ${err}`);
       }
       }
     }
     }
-
   }
   }
 
 
   private async renameDescendantsV4(pages, user, options, oldPagePathPrefix, newPagePathPrefix) {
   private async renameDescendantsV4(pages, user, options, oldPagePathPrefix, newPagePathPrefix) {
@@ -768,6 +778,7 @@ class PageService {
         throw Error(`Failed to create PageRedirect documents: ${err}`);
         throw Error(`Failed to create PageRedirect documents: ${err}`);
       }
       }
     }
     }
+    this.pageEvent.emit('updateMany', pages, user);
   }
   }
 
 
   private async renameDescendantsWithStream(targetPage, newPagePath, user, options = {}, shouldUseV4Process = true) {
   private async renameDescendantsWithStream(targetPage, newPagePath, user, options = {}, shouldUseV4Process = true) {
@@ -1381,6 +1392,7 @@ class PageService {
         throw err;
         throw err;
       }
       }
     }
     }
+    this.pageEvent.emit('create', page, user);
     return deletedPage;
     return deletedPage;
   }
   }
 
 
@@ -1430,6 +1442,7 @@ class PageService {
         throw err;
         throw err;
       }
       }
     }
     }
+    this.pageEvent.emit('create', deletedPage, user);
 
 
     return deletedPage;
     return deletedPage;
   }
   }
@@ -3278,6 +3291,8 @@ class PageService {
     // Update descendantCount
     // Update descendantCount
     await this.updateDescendantCountOfAncestors(savedPage._id, 1, false);
     await this.updateDescendantCountOfAncestors(savedPage._id, 1, false);
 
 
+    this.pageEvent.emit('create', savedPage, user);
+
     // Delete PageRedirect if exists
     // Delete PageRedirect if exists
     const PageRedirect = mongoose.model('PageRedirect') as unknown as PageRedirectModel;
     const PageRedirect = mongoose.model('PageRedirect') as unknown as PageRedirectModel;
     try {
     try {
@@ -3377,6 +3392,8 @@ class PageService {
     // Update descendantCount
     // Update descendantCount
     await this.updateDescendantCountOfAncestors(savedPage._id, 1, false);
     await this.updateDescendantCountOfAncestors(savedPage._id, 1, false);
 
 
+    this.pageEvent.emit('create', savedPage, dummyUser);
+
     return savedPage;
     return savedPage;
   }
   }