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 logger = getLogger();
|
||||||
const kTrainerRole = "Trainer";
|
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 {
|
interface MembershipData {
|
||||||
id?: string;
|
id?: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
@ -150,6 +184,7 @@ async function findExpiredMembershipsWithoutExpiryDate(): Promise<
|
|||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function updateExpiryDateForExpiredMembership(
|
async function updateExpiryDateForExpiredMembership(
|
||||||
membershipId: string,
|
membershipId: string,
|
||||||
membershipData: MembershipData
|
membershipData: MembershipData
|
||||||
@ -184,6 +219,8 @@ async function updateExpiryDateForExpiredMembership(
|
|||||||
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
|
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await updateCacheForMembership(membershipData.gymId, membershipId);
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
`Updated expiry date for expired membership ${membershipId}: ${expiryDate.toISOString()}`
|
`Updated expiry date for expired membership ${membershipId}: ${expiryDate.toISOString()}`
|
||||||
);
|
);
|
||||||
@ -513,6 +550,8 @@ async function updateDaysUntilExpiryForAllMemberships(): Promise<void> {
|
|||||||
.doc(doc.id)
|
.doc(doc.id)
|
||||||
.update(updateData);
|
.update(updateData);
|
||||||
|
|
||||||
|
await updateCacheForMembership(data.gymId, doc.id);
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
`Updated membership ${doc.id} with daysUntilExpiry: ${daysUntilExpiry}`
|
`Updated membership ${doc.id} with daysUntilExpiry: ${daysUntilExpiry}`
|
||||||
);
|
);
|
||||||
@ -535,7 +574,6 @@ async function updateDaysUntilExpiryForAllMemberships(): Promise<void> {
|
|||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function calculateDaysUntilExpiry(
|
async function calculateDaysUntilExpiry(
|
||||||
membershipId: string,
|
membershipId: string,
|
||||||
data: MembershipData
|
data: MembershipData
|
||||||
@ -665,6 +703,8 @@ async function processExpiredMembership(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await updateCacheForMembership(membershipData.gymId, membershipId);
|
||||||
|
|
||||||
logger.info(`Marked membership ${membershipId} as EXPIRED`);
|
logger.info(`Marked membership ${membershipId} as EXPIRED`);
|
||||||
|
|
||||||
await sendPlanExpiredNotification(membershipId, membershipData);
|
await sendPlanExpiredNotification(membershipId, membershipData);
|
||||||
@ -697,6 +737,8 @@ async function processExpiringMembership(
|
|||||||
expirationDate: admin.firestore.Timestamp.fromDate(expiryDate),
|
expirationDate: admin.firestore.Timestamp.fromDate(expiryDate),
|
||||||
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
|
updatedAt: admin.firestore.FieldValue.serverTimestamp(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await updateCacheForMembership(membershipData.gymId, membershipId);
|
||||||
}
|
}
|
||||||
|
|
||||||
await sendPlanExpiringNotification(membershipId, membershipData);
|
await sendPlanExpiringNotification(membershipId, membershipData);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user