manifold/functions/src/scripts/add-new-notification-preference.ts

45 lines
1.3 KiB
TypeScript
Raw Normal View History

import * as admin from 'firebase-admin'
import { initAdmin } from './script-init'
2022-10-10 13:01:44 +00:00
import { filterDefined } from 'common/lib/util/array'
import { getPrivateUser } from '../utils'
initAdmin()
const firestore = admin.firestore()
async function main() {
2022-10-10 13:01:44 +00:00
// const privateUsers = await getAllPrivateUsers()
const privateUsers = filterDefined([
await getPrivateUser('ddSo9ALC15N9FAZdKdA2qE3iIvH3'),
])
await Promise.all(
privateUsers.map((privateUser) => {
if (!privateUser.id) return Promise.resolve()
return firestore
.collection('private-users')
.doc(privateUser.id)
.update({
notificationPreferences: {
...privateUser.notificationPreferences,
2022-10-07 01:16:23 +00:00
badges_awarded: ['browser'],
},
})
2022-10-10 13:01:44 +00:00
if (privateUser.notificationPreferences.opt_out_all === undefined) {
console.log('updating opt out all', privateUser.id)
return firestore
.collection('private-users')
.doc(privateUser.id)
.update({
notificationPreferences: {
...privateUser.notificationPreferences,
opt_out_all: [],
},
})
}
return
})
)
}
if (require.main === module) main().then(() => process.exit())