INNER CODE UNIT · JavaScript
logNotificationEvent
adeekshith/watomatic · functions/index.js:1186
async function logNotificationEvent(userId, notificationType, purchaseToken, subscription, eventTimeMillis, skippedDueToOutOfOrder) {
const lineItem = subscription.lineItems?.[0];
const expiryTime = lineItem?.expiryTime ? new Date(lineItem.expiryTime).getTime() : 0;
const subscriptionState = subscription.subscriptionState;
const activeStates = ['SUBSCRIPTION_STATE_ACTIVE', 'SUBSCRIPTION_STATE_IN_GRACE_PERIOD'];
const isActive = activeStates.includes(subscriptionState) && expiryTime > Date.now();
await admin.firestore()
.collection('users')
.doc(userId)
.collection('notification_events')
.add({
notificationType,
purchaseToken,
subscriptionState,
expiryTime,
isActive,
eventTimeMillis,