notification-bug-fix (#102)
Some checks failed
Deploy FitLien services to Dev / Deploy to Dev (push) Failing after 1m29s

Co-authored-by: Dhansh A S <dhanshas@cosq.net>
Reviewed-on: #102
Reviewed-by: Dhansh A S <dhanshas@cosq.net>
Co-authored-by: Sharon Dcruz <sharondcruz@cosq.net>
Co-committed-by: Sharon Dcruz <sharondcruz@cosq.net>
This commit is contained in:
Sharon Dcruz 2025-08-19 11:18:53 +00:00 committed by Dhansh A S
parent b190a371b6
commit 165cd74a17

View File

@ -53,7 +53,6 @@ export const checkExpiredMemberships = onSchedule(
logger.info("Starting scheduled membership expiry check..."); logger.info("Starting scheduled membership expiry check...");
try { try {
await updateDaysUntilExpiryForAllMemberships(); await updateDaysUntilExpiryForAllMemberships();
const expiredMemberships = await findExpiredMemberships(); const expiredMemberships = await findExpiredMemberships();
const expiringMemberships = await findMembershipsExpiringIn10Days(); const expiringMemberships = await findMembershipsExpiringIn10Days();
@ -381,8 +380,10 @@ function calculateRenewalDateFromPayment(
async function updateDaysUntilExpiryForAllMemberships(): Promise<void> { async function updateDaysUntilExpiryForAllMemberships(): Promise<void> {
try { try {
logger.info("Starting to update daysUntilExpiry for all active memberships..."); logger.info(
"Starting to update daysUntilExpiry for all active memberships..."
);
const snapshot = await app const snapshot = await app
.firestore() .firestore()
.collection("memberships") .collection("memberships")
@ -399,16 +400,22 @@ async function updateDaysUntilExpiryForAllMemberships(): Promise<void> {
batch.map(async (doc) => { batch.map(async (doc) => {
const data = doc.data() as MembershipData; const data = doc.data() as MembershipData;
const daysUntilExpiry = await calculateDaysUntilExpiry(doc.id, data); const daysUntilExpiry = await calculateDaysUntilExpiry(doc.id, data);
if (daysUntilExpiry !== null) { if (daysUntilExpiry !== null) {
const updateData: any = {
daysUntilExpiry: daysUntilExpiry,
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
};
await app await app
.firestore() .firestore()
.collection("memberships") .collection("memberships")
.doc(doc.id) .doc(doc.id)
.update({ .update(updateData);
daysUntilExpiry: daysUntilExpiry,
updatedAt: admin.firestore.FieldValue.serverTimestamp(), logger.info(
}); `Updated membership ${doc.id} with daysUntilExpiry: ${daysUntilExpiry}`
);
return doc.id; return doc.id;
} }
return null; return null;
@ -429,7 +436,6 @@ async function updateDaysUntilExpiryForAllMemberships(): Promise<void> {
} }
} }
async function calculateDaysUntilExpiry( async function calculateDaysUntilExpiry(
membershipId: string, membershipId: string,
data: MembershipData data: MembershipData
@ -459,7 +465,14 @@ async function calculateDaysUntilExpiry(
); );
const now = new Date(); const now = new Date();
const timeDiff = expiryDate.getTime() - now.getTime(); const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
const expiryDateOnly = new Date(
expiryDate.getFullYear(),
expiryDate.getMonth(),
expiryDate.getDate()
);
const timeDiff = expiryDateOnly.getTime() - today.getTime();
const daysUntilExpiry = Math.ceil(timeDiff / (1000 * 3600 * 24)); const daysUntilExpiry = Math.ceil(timeDiff / (1000 * 3600 * 24));
return daysUntilExpiry; return daysUntilExpiry;
@ -472,7 +485,6 @@ async function calculateDaysUntilExpiry(
} }
} }
async function getTrainerAssignmentsForMembership( async function getTrainerAssignmentsForMembership(
membershipId: string membershipId: string
): Promise<PersonalTrainerAssign[]> { ): Promise<PersonalTrainerAssign[]> {