|
@@ -2,8 +2,10 @@ import {
|
|
|
Types, Document, PaginateModel, Schema, /* , Query */
|
|
Types, Document, PaginateModel, Schema, /* , Query */
|
|
|
} from 'mongoose';
|
|
} from 'mongoose';
|
|
|
import mongoosePaginate from 'mongoose-paginate-v2';
|
|
import mongoosePaginate from 'mongoose-paginate-v2';
|
|
|
|
|
+
|
|
|
|
|
+import Activity, { ActivityDocument } from './activity';
|
|
|
import ActivityDefine from '../util/activityDefine';
|
|
import ActivityDefine from '../util/activityDefine';
|
|
|
-import { ActivityDocument } from './activity';
|
|
|
|
|
|
|
+
|
|
|
import { getOrCreateModel } from '../util/mongoose-utils';
|
|
import { getOrCreateModel } from '../util/mongoose-utils';
|
|
|
import loggerFactory from '../../utils/logger';
|
|
import loggerFactory from '../../utils/logger';
|
|
|
|
|
|
|
@@ -79,8 +81,15 @@ const inAppNotificationSchema = new Schema<InAppNotificationDocument, InAppNotif
|
|
|
});
|
|
});
|
|
|
inAppNotificationSchema.plugin(mongoosePaginate);
|
|
inAppNotificationSchema.plugin(mongoosePaginate);
|
|
|
|
|
|
|
|
|
|
+inAppNotificationSchema.virtual('actionUsers').get(function(this: InAppNotificationDocument) {
|
|
|
|
|
+
|
|
|
|
|
+ const actionUsers = Activity.getActionUsersFromActivities((this.activities as any) as ActivityDocument[]);
|
|
|
|
|
+
|
|
|
|
|
+ return actionUsers;
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
const transform = (doc, ret) => {
|
|
const transform = (doc, ret) => {
|
|
|
- // delete ret.activities
|
|
|
|
|
|
|
+ delete ret.activities;
|
|
|
};
|
|
};
|
|
|
inAppNotificationSchema.set('toObject', { virtuals: true, transform });
|
|
inAppNotificationSchema.set('toObject', { virtuals: true, transform });
|
|
|
inAppNotificationSchema.set('toJSON', { virtuals: true, transform });
|
|
inAppNotificationSchema.set('toJSON', { virtuals: true, transform });
|