feature/fitlien-828 (#123)
All checks were successful
Deploy FitLien services to Dev / Deploy to Dev (push) Successful in 3m39s

Reviewed-on: #123
Co-authored-by: Sharon Dcruz <sharondcruz@cosq.net>
Co-committed-by: Sharon Dcruz <sharondcruz@cosq.net>
This commit is contained in:
Sharon Dcruz 2025-09-23 05:38:43 +00:00 committed by Dhansh A S
parent f08bd7648b
commit 3baa70b0a0

View File

@ -11,9 +11,11 @@ interface MembershipData {
gymId?: string;
userId?: string;
status?: string;
subscriptionId?: string;
subscription?: {
hasPersonalTraining?: boolean;
frequency?: string;
price?: number;
[key: string]: any;
};
isPartialPayment?: boolean;
@ -45,6 +47,7 @@ interface MinimalCacheEntry {
hasPersonalTraining: boolean;
hasPartialPayment: boolean;
remainingAmount: number;
subscriptionId?: string | null;
lastUpdated: string;
}
@ -110,7 +113,7 @@ export const getMemberCache = onRequest(
members: [],
totalMembers: 0,
lastUpdated: new Date().toISOString(),
cacheVersion: "3.0",
cacheVersion: "3.1",
});
}
} catch (error) {
@ -197,7 +200,7 @@ export const updateMemberCache = onRequest(
members,
totalMembers: members.length,
lastUpdated: new Date().toISOString(),
cacheVersion: "3.0",
cacheVersion: "3.1",
};
await saveCacheToStorage(gymId, jsonData);
@ -252,7 +255,7 @@ async function fetchAllMinimalMembers(
);
return null;
}
return await generateMinimalCacheEntry(userId, doc.id, membershipData);
return await generateMinimalCacheEntry(userId, doc.id, membershipData, gymId);
} catch (error) {
logger.error(`Error processing member ${doc.id}:`, error);
return null;
@ -316,7 +319,8 @@ async function updateSpecificMembers(
return await generateMinimalCacheEntry(
userId,
doc.id,
membershipData
membershipData,
gymId
);
} catch (error) {
logger.error(`Error processing member ${doc.id}:`, error);
@ -364,7 +368,8 @@ async function saveCacheToStorage(
async function generateMinimalCacheEntry(
userId: string,
membershipId: string,
membershipData: MembershipData
membershipData: MembershipData,
gymId: string
): Promise<MinimalCacheEntry> {
try {
let firstName = "";
@ -429,6 +434,7 @@ async function generateMinimalCacheEntry(
membershipData.subscription?.hasPersonalTraining === true,
hasPartialPayment,
remainingAmount: remaining,
subscriptionId: membershipData.subscriptionId || null,
lastUpdated: new Date().toISOString(),
};