overleaf/services/web/scripts/wfh_2020_notifications.js
Chrystal Maria Griffiths 9aa0ca1131 Merge pull request #2875 from overleaf/cmg-covid-upgrades-script
Create notifications for current WFH 2020 users

GitOrigin-RevId: f40ae373815d834cfa4c81bb96a61a799385b8d9
2020-06-03 10:31:15 +00:00

47 lines
1.1 KiB
JavaScript

const NotificationsHandler = require('../app/src/Features/Notifications/NotificationsHandler')
const mongojs = require('../app/src/infrastructure/mongojs')
const { db } = mongojs
const async = require('async')
const templateKey = 'wfh_2020_upgrade_offer'
const key = 'wfh-2020-upgrade-2020-06-01'
db.subscriptions.aggregate(
{ $match: { teamName: /(Work From Home|Work from Home)/ } },
{ $unwind: '$member_ids' },
{ $group: { _id: null, memberIds: { $addToSet: '$member_ids' } } },
function(err, results) {
if (err) {
throw err
}
const userIds = results[0].memberIds
async.eachLimit(
userIds,
10,
function(userId, callback) {
NotificationsHandler.createNotification(
userId,
key,
templateKey,
{},
null,
true,
function(err) {
if (err) {
return callback(err)
}
console.log('Notification created for user ' + userId)
callback()
}
)
},
function() {
console.log('Done')
process.exit(0)
}
)
}
)