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