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,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…