2022-08-22 22:36:39 +00:00
|
|
|
import * as functions from 'firebase-functions'
|
|
|
|
import * as admin from 'firebase-admin'
|
|
|
|
import { getAllPrivateUsers } from './utils'
|
|
|
|
|
2022-09-20 13:45:14 +00:00
|
|
|
export const resetWeeklyEmailsFlag = functions
|
|
|
|
.runWith({
|
|
|
|
timeoutSeconds: 300,
|
|
|
|
memory: '4GB',
|
|
|
|
})
|
|
|
|
.pubsub // every Monday at 12 am PT (UTC -07:00) ( 12 hours before the emails will be sent)
|
2022-09-20 13:36:44 +00:00
|
|
|
.schedule('0 7 * * 1')
|
2022-08-22 22:36:39 +00:00
|
|
|
.timeZone('Etc/UTC')
|
|
|
|
.onRun(async () => {
|
|
|
|
const privateUsers = await getAllPrivateUsers()
|
|
|
|
const firestore = admin.firestore()
|
|
|
|
await Promise.all(
|
2022-09-20 13:36:44 +00:00
|
|
|
privateUsers.map(async (user) => {
|
2022-08-22 22:36:39 +00:00
|
|
|
return firestore.collection('private-users').doc(user.id).update({
|
|
|
|
weeklyTrendingEmailSent: false,
|
2022-09-26 21:49:06 +00:00
|
|
|
weeklyPortfolioEmailSent: false,
|
2022-08-22 22:36:39 +00:00
|
|
|
})
|
|
|
|
})
|
|
|
|
)
|
|
|
|
})
|