INNER CODE UNIT · JavaScript
handleCancellation
adeekshith/watomatic · functions/index.js:1274
async function handleCancellation(userId, subscription) {
logger.info('Subscription canceled', { userId });
const lineItem = subscription.lineItems?.[0];
const expiryTime = lineItem?.expiryTime ? new Date(lineItem.expiryTime).getTime() : 0;
await admin.firestore().collection('users').doc(userId).set({
subscription: {
canceledAt: admin.firestore.FieldValue.serverTimestamp(),
willExpireAt: expiryTime,
// Keep isActive true until expiry time
}
}, { merge: true });
// Optional: Send cancellation confirmation, feedback request, etc.
}
/**