|
|
@@ -418,21 +418,27 @@ module.exports = function(crowi) {
|
|
|
return saved;
|
|
|
};
|
|
|
|
|
|
- // pageSchema.statics.getPageIdToSeenUsersCount = async function(pageIds) {
|
|
|
- // console.log(pageIds, 423);
|
|
|
- // const results = await this.aggregate()
|
|
|
- // .match({ _id: { $in: pageIds } });
|
|
|
+ pageSchema.methods.eventFireAfterSeen = async function(page) {
|
|
|
+ // const pageEvent = crowi.event('page');
|
|
|
+ pageEvent.emit('addSeenUsers', page);
|
|
|
+ return;
|
|
|
+ };
|
|
|
+
|
|
|
+ pageSchema.statics.getPageIdToSeenUsersCount = async function(pageIds) {
|
|
|
+ console.log(pageIds, 423);
|
|
|
+ const results = await this.aggregate()
|
|
|
+ .match({ _id: { $in: pageIds } });
|
|
|
|
|
|
|
|
|
- // console.log(results, 425, 'getPageIdTO');
|
|
|
- // const idToCountMap = {};
|
|
|
- // results.forEach((result) => {
|
|
|
- // idToCountMap[result.id] = result.count;
|
|
|
- // });
|
|
|
+ console.log(results, 425, 'getPageIdTO');
|
|
|
+ const idToCountMap = {};
|
|
|
+ results.forEach((result) => {
|
|
|
+ idToCountMap[result.seenUsers] = result.seenUsers.length;
|
|
|
+ });
|
|
|
|
|
|
- // return idToCountMap;
|
|
|
+ return idToCountMap;
|
|
|
|
|
|
- // };
|
|
|
+ };
|
|
|
|
|
|
pageSchema.methods.updateSlackChannels = function(slackChannels) {
|
|
|
this.slackChannels = slackChannels;
|