Quellcode durchsuchen

Merge pull request #8289 from weseek/fix/135893-update-delete-completely-userhome-by-system

fix: Update deleteCompletelyUserHomeBySystem for v4 process
Yuki Takei vor 2 Jahren
Ursprung
Commit
3990c2a1c6
2 geänderte Dateien mit 14 neuen und 25 gelöschten Zeilen
  1. 14 19
      apps/app/src/server/events/user.ts
  2. 0 6
      apps/app/src/server/service/page.ts

+ 14 - 19
apps/app/src/server/events/user.ts

@@ -20,34 +20,29 @@ class UserEvent extends EventEmitter {
   }
 
   async onActivated(user: IUserHasId): Promise<void> {
-    if (this.crowi.pageService === null) {
-      logger.warn('crowi pageService is null');
-      return;
-    }
-
     const Page = mongoose.model<IPage, PageModel>('Page');
     const userHomepagePath = pagePathUtils.userHomepagePath(user);
 
-    let page = await Page.findByPath(userHomepagePath, true);
+    try {
+      let page = await Page.findByPath(userHomepagePath, true);
 
-    // TODO: Make it more type safe
-    // Since the type of page.creator is 'any', we resort to the following comparison,
-    // checking if page.creator.toString() is not equal to user._id.toString(). Our code covers null, string, or object types.
-    if (page != null && page.creator != null && page.creator.toString() !== user._id.toString()) {
-      await this.crowi.pageService.deleteCompletelyUserHomeBySystem(userHomepagePath);
-      page = null;
-    }
+      // TODO: Make it more type safe
+      // Since the type of page.creator is 'any', we resort to the following comparison,
+      // checking if page.creator.toString() is not equal to user._id.toString(). Our code covers null, string, or object types.
+      if (page != null && page.creator != null && page.creator.toString() !== user._id.toString()) {
+        await this.crowi.pageService.deleteCompletelyUserHomeBySystem(userHomepagePath);
+        page = null;
+      }
 
-    if (page == null) {
-      const body = `# ${user.username}\nThis is ${user.username}'s page`;
+      if (page == null) {
+        const body = `# ${user.username}\nThis is ${user.username}'s page`;
 
-      try {
         await this.crowi.pageService.create(userHomepagePath, body, user, {});
         logger.debug('User page created', page);
       }
-      catch (err) {
-        logger.error('Failed to create user page', err);
-      }
+    }
+    catch (err) {
+      logger.error('Failed to create user page', err);
     }
   }
 

+ 0 - 6
apps/app/src/server/service/page.ts

@@ -2058,12 +2058,6 @@ class PageService {
       throw new Error(msg);
     }
 
-    if (userHomepage.parent == null) {
-      const msg = 'user homepage parent is not found.';
-      logger.error(msg);
-      throw new Error(msg);
-    }
-
     const shouldUseV4Process = this.shouldUseV4Process(userHomepage);
 
     const ids = [userHomepage._id];