feature/fitlien-828 #123
| @ -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; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user