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

create inappnotification in page service

kaori 4 лет назад
Родитель
Сommit
cd91e60afb
2 измененных файлов с 8 добавлено и 4 удалено
  1. 2 2
      packages/app/src/server/service/activity.ts
  2. 6 2
      packages/app/src/server/service/page.js

+ 2 - 2
packages/app/src/server/service/activity.ts

@@ -59,8 +59,8 @@ class ActivityService {
       action: ActivityDefine.ACTION_UPDATE,
       action: ActivityDefine.ACTION_UPDATE,
     };
     };
     const Activity = getModelSafely('Activity') || require('../models/activity')(this.crowi);
     const Activity = getModelSafely('Activity') || require('../models/activity')(this.crowi);
-    await Activity.createByParameters(parameters);
-    return;
+    const savedActivity = await Activity.createByParameters(parameters);
+    return savedActivity;
   };
   };
 
 
 
 

+ 6 - 2
packages/app/src/server/service/page.js

@@ -31,12 +31,16 @@ class PageService {
 
 
     // update
     // update
     this.pageEvent.on('update', async(page, user) => {
     this.pageEvent.on('update', async(page, user) => {
-      const { activityService } = this.crowi;
+      const { activityService, inAppNotificationService } = this.crowi;
 
 
       this.pageEvent.onUpdate();
       this.pageEvent.onUpdate();
 
 
       try {
       try {
-        await activityService.createByPageUpdate(page, user);
+        const savedActivity = await activityService.createByPageUpdate(page, user);
+        let targetUsers = [];
+        targetUsers = await savedActivity.getNotificationTargetUsers();
+
+        await inAppNotificationService.upsertByActivity(targetUsers, savedActivity);
       }
       }
       catch (err) {
       catch (err) {
         logger.error(err);
         logger.error(err);