Jelajahi Sumber

convert user event to type script

ryoji-s 2 tahun lalu
induk
melakukan
56065b743a
1 mengubah file dengan 11 tambahan dan 5 penghapusan
  1. 11 5
      apps/app/src/server/events/user.ts

+ 11 - 5
apps/app/src/server/events/user.js → apps/app/src/server/events/user.ts

@@ -1,23 +1,29 @@
 import EventEmitter from 'events';
 
+import type { IUserHasId } from '@growi/core';
+
 import loggerFactory from '~/utils/logger';
 
+import Crowi from '../crowi';
+
 const logger = loggerFactory('growi:events:user');
 
 class UserEvent extends EventEmitter {
 
-  constructor(crowi) {
+  crowi: Crowi;
+
+  constructor(crowi: Crowi) {
     super();
     this.crowi = crowi;
   }
 
-  async onActivated(user) {
+  async onActivated(user: IUserHasId): Promise<void> {
     const Page = this.crowi.model('Page');
     const userHomePagePath = `/user/${user.username}`;
     let page = await Page.findByPath(userHomePagePath, user);
 
     if (page !== null && page.creator.toString() !== user._id.toString()) {
-      await this.crowi.pageService.deleteCompletelyUserHomeBySystem(user, userHomePagePath);
+      await this.crowi.pageService?.deleteCompletelyUserHomeBySystem(user, userHomePagePath);
       page = null;
     }
 
@@ -25,7 +31,7 @@ class UserEvent extends EventEmitter {
       const body = `# ${user.username}\nThis is ${user.username}'s page`;
 
       try {
-        await this.crowi.pageService.create(userHomePagePath, body, user, {});
+        await this.crowi.pageService?.create(userHomePagePath, body, user, {});
         logger.debug('User page created', page);
       }
       catch (err) {
@@ -36,4 +42,4 @@ class UserEvent extends EventEmitter {
 
 }
 
-module.exports = UserEvent;
+export default UserEvent;