feature/fitlien-828 (#124)
All checks were successful
Deploy FitLien services to Dev / Deploy to Dev (push) Successful in 3m53s
All checks were successful
Deploy FitLien services to Dev / Deploy to Dev (push) Successful in 3m53s
Reviewed-on: #124 Co-authored-by: Sharon Dcruz <sharondcruz@cosq.net> Co-committed-by: Sharon Dcruz <sharondcruz@cosq.net>
This commit is contained in:
parent
3baa70b0a0
commit
a69ed7078a
@ -6,6 +6,40 @@ const app = getAdmin();
|
||||
const logger = getLogger();
|
||||
const kTrainerRole = "Trainer";
|
||||
|
||||
async function updateCacheForMembership(
|
||||
gymId: string,
|
||||
membershipId: string
|
||||
): Promise<void> {
|
||||
try {
|
||||
const response = await fetch(
|
||||
`https://updatemembercache-2k7djjvd3q-el.a.run.app/updateMemberCache`,
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify({
|
||||
gymId: gymId,
|
||||
incrementalUpdate: true,
|
||||
membershipIds: [membershipId],
|
||||
}),
|
||||
}
|
||||
);
|
||||
|
||||
if (response.ok) {
|
||||
logger.info(
|
||||
`Cache updated successfully for membership ${membershipId} in gym ${gymId}`
|
||||
);
|
||||
} else {
|
||||
logger.warn(
|
||||
`Cache update failed for membership ${membershipId}: ${response.status}`
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error(`Error updating cache for membership ${membershipId}:`, error);
|
||||
}
|
||||
}
|
||||
|
||||
interface MembershipData {
|
||||
id?: string;
|
||||
userId: string;
|
||||
@ -150,6 +184,7 @@ async function findExpiredMembershipsWithoutExpiryDate(): Promise<
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
async function updateExpiryDateForExpiredMembership(
|
||||
membershipId: string,
|
||||
membershipData: MembershipData
|
||||
@ -184,6 +219,8 @@ async function updateExpiryDateForExpiredMembership(
|
||||
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
|
||||
});
|
||||
|
||||
await updateCacheForMembership(membershipData.gymId, membershipId);
|
||||
|
||||
logger.info(
|
||||
`Updated expiry date for expired membership ${membershipId}: ${expiryDate.toISOString()}`
|
||||
);
|
||||
@ -513,6 +550,8 @@ async function updateDaysUntilExpiryForAllMemberships(): Promise<void> {
|
||||
.doc(doc.id)
|
||||
.update(updateData);
|
||||
|
||||
await updateCacheForMembership(data.gymId, doc.id);
|
||||
|
||||
logger.info(
|
||||
`Updated membership ${doc.id} with daysUntilExpiry: ${daysUntilExpiry}`
|
||||
);
|
||||
@ -535,7 +574,6 @@ async function updateDaysUntilExpiryForAllMemberships(): Promise<void> {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
async function calculateDaysUntilExpiry(
|
||||
membershipId: string,
|
||||
data: MembershipData
|
||||
@ -665,6 +703,8 @@ async function processExpiredMembership(
|
||||
});
|
||||
}
|
||||
|
||||
await updateCacheForMembership(membershipData.gymId, membershipId);
|
||||
|
||||
logger.info(`Marked membership ${membershipId} as EXPIRED`);
|
||||
|
||||
await sendPlanExpiredNotification(membershipId, membershipData);
|
||||
@ -697,6 +737,8 @@ async function processExpiringMembership(
|
||||
expirationDate: admin.firestore.Timestamp.fromDate(expiryDate),
|
||||
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
|
||||
});
|
||||
|
||||
await updateCacheForMembership(membershipData.gymId, membershipId);
|
||||
}
|
||||
|
||||
await sendPlanExpiringNotification(membershipId, membershipData);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user