| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- const NotificationsBuilder = require('../app/src/Features/Notifications/NotificationsBuilder')
- const { waitForDb } = require('../app/src/infrastructure/mongodb')
- const { Subscription } = require('../app/src/models/Subscription')
- const minimist = require('minimist')
- let COMMIT = false
- async function main() {
- await waitForDb()
- const subscription = await Subscription.findOne({
- teamName: 'IEEECollabratec',
- })
- if (!subscription) {
- console.error(`No IEEECollabratec group subscription found so quitting`)
- return
- }
- const userIds = subscription.member_ids
- console.log(`Found ${userIds.length} users in IEEECollabratec group`)
- if (!COMMIT) {
- console.log('Dry run enabled, quitting here')
- return
- }
- if (userIds.length > 0) {
- console.log(`Notifying ${userIds.length} users`)
- for (const id of userIds) {
- await NotificationsBuilder.promises
- .ieeeCollabratecRetirement(id.toString())
- .create()
- }
- console.log(
- `Notification successfully added/updated for ${userIds.length} users`
- )
- } else {
- console.log('No users found')
- }
- }
- const setup = () => {
- const argv = minimist(process.argv.slice(2))
- COMMIT = argv.commit !== undefined
- if (!COMMIT) {
- console.warn('Doing dry run. Add --commit to commit changes')
- }
- }
- setup()
- main()
- .then(() => {
- process.exit(0)
- })
- .catch(err => {
- console.error(err)
- process.exit(1)
- })
|