feature/fitlien-828 #123

Merged
dhanshas merged 17 commits from feature/fitlien-828 into dev 2025-09-23 05:38:44 +00:00
Showing only changes of commit 22b55cf660 - Show all commits

View File

@ -99,7 +99,9 @@ export const getMemberCache = onRequest(
try {
const [fileBuffer] = await file.download();
const jsonData: MinimalJsonCacheData = JSON.parse(fileBuffer.toString());
const jsonData: MinimalJsonCacheData = JSON.parse(
fileBuffer.toString()
);
logger.info(
`Retrieved ${jsonData.totalMembers} members from cache for gym ${gymId}`
@ -229,7 +231,9 @@ export const updateMemberCache = onRequest(
}
);
async function fetchAllMinimalMembers(gymId: string): Promise<MinimalCacheEntry[]> {
async function fetchAllMinimalMembers(
gymId: string
): Promise<MinimalCacheEntry[]> {
const members: MinimalCacheEntry[] = [];
const membershipsSnapshot = await app
@ -314,7 +318,11 @@ async function updateSpecificMembers(
);
return null;
}
return await generateMinimalCacheEntry(userId, doc.id, membershipData);
return await generateMinimalCacheEntry(
userId,
doc.id,
membershipData
);
} catch (error) {
logger.error(`Error processing member ${doc.id}:`, error);
return null;
@ -364,11 +372,11 @@ async function generateMinimalCacheEntry(
membershipData: MembershipData
): Promise<MinimalCacheEntry> {
try {
let firstName = '';
let lastName = '';
let email = '';
let phoneNumber = '';
let alternateContact = '';
let firstName = "";
let lastName = "";
let email = "";
let phoneNumber = "";
let alternateContact = "";
try {
const clientFieldsSnapshot = await app
@ -382,11 +390,12 @@ async function generateMinimalCacheEntry(
const fieldData = fieldDoc.data() as ClientFields;
const fields = fieldData.fields || {};
firstName = fields['first-name'] || fieldData['first-name'] || '';
lastName = fields['last-name'] || fieldData['last-name'] || '';
email = fields['email'] || fieldData['email'] || '';
phoneNumber = fields['phone-number'] || fieldData['phone-number'] || '';
alternateContact = fields['alternate-contact'] || fieldData['alternate-contact'] || '';
firstName = fields["first-name"] || fieldData["first-name"] || "";
lastName = fields["last-name"] || fieldData["last-name"] || "";
email = fields["email"] || fieldData["email"] || "";
phoneNumber = fields["phone-number"] || fieldData["phone-number"] || "";
alternateContact =
fields["alternate-contact"] || fieldData["alternate-contact"] || "";
}
} catch (error) {
logger.error(`Error getting fields for user ${userId}:`, error);
@ -394,11 +403,12 @@ async function generateMinimalCacheEntry(
const daysUntilExpiry = membershipData.daysUntilExpiry || null;
const displayName = firstName.length === 0 ? 'Unknown' :
(lastName.length === 0 ? firstName : `${firstName} ${lastName}`);
const displayName = firstName.length === 0 ? 'Unknown' :
(lastName.length === 0 ? firstName : `${firstName} ${lastName}`);
const displayName =
firstName.length === 0
? "Unknown"
: lastName.length === 0
? firstName
: `${firstName} ${lastName}`;
const isPartial = membershipData.isPartialPayment === true;
const remaining = membershipData.remainingAmount || 0;
@ -407,7 +417,7 @@ async function generateMinimalCacheEntry(
const minimalEntry: MinimalCacheEntry = {
membershipId,
userId,
status: membershipData.status || 'N/A',
status: membershipData.status || "N/A",
displayName,
email: email || null,
phoneNumber: phoneNumber || null,
@ -420,7 +430,8 @@ async function generateMinimalCacheEntry(
? membershipData.createdAt.toDate().toISOString()
: null,
daysUntilExpiry,
hasPersonalTraining: membershipData.subscription?.hasPersonalTraining === true,
hasPersonalTraining:
membershipData.subscription?.hasPersonalTraining === true,
hasPartialPayment,
remainingAmount: remaining,
lastUpdated: new Date().toISOString(),
@ -432,4 +443,3 @@ async function generateMinimalCacheEntry(
throw error;
}
}