activity.ts 761 B

12345678910111213141516171819202122232425262728
  1. import { IPage } from '~/interfaces/page';
  2. import { ActivityDocument } from '~/server/models/activity';
  3. import loggerFactory from '~/utils/logger';
  4. import Crowi from '../crowi';
  5. const logger = loggerFactory('growi:events:activity');
  6. const events = require('events');
  7. const util = require('util');
  8. function ActivityEvent(crowi: Crowi) {
  9. this.crowi = crowi;
  10. events.EventEmitter.call(this);
  11. }
  12. util.inherits(ActivityEvent, events.EventEmitter);
  13. ActivityEvent.prototype.onUpdate = async function(activity: ActivityDocument, target: IPage) {
  14. try {
  15. await this.crowi.inAppNotificationService.createInAppNotification(activity, target);
  16. }
  17. catch (err) {
  18. logger.error('Create InAppNotification failed', err);
  19. }
  20. };
  21. module.exports = ActivityEvent;