diff --git a/functions/src/memberCache/memberCache.ts b/functions/src/memberCache/memberCache.ts index b2ee547..71e24b9 100644 --- a/functions/src/memberCache/memberCache.ts +++ b/functions/src/memberCache/memberCache.ts @@ -24,7 +24,7 @@ interface MembershipData { } interface ClientFields { - fields?: { [key: string]: string }; + fields?: { [key: string]: any }; [key: string]: any; } @@ -51,7 +51,7 @@ interface CacheEntry { updatedAt?: string | null; [key: string]: any; }; - fields: { [key: string]: string }; + fields: { [key: string]: any }; renewalDate?: string | null; trainerAssignments: any[]; timeSlots: any[]; @@ -380,13 +380,13 @@ async function generateCacheEntry( if (!clientFieldsSnapshot.empty) { const fieldDoc = clientFieldsSnapshot.docs[0]; const fieldData = fieldDoc.data() as ClientFields; - fields = { - "first-name": fieldData.fields?.["first-name"] || "", - "last-name": fieldData.fields?.["last-name"] || "", - "email": fieldData.fields?.["email"] || "", - "phone-number": fieldData.fields?.["phone-number"] || "", - "alternate-contact": fieldData.fields?.["alternate-contact"] || "", - }; + + fields = { ...fieldData.fields }; + Object.keys(fieldData).forEach((key) => { + if (key !== "fields" && !fields[key]) { + fields[key] = fieldData[key]; + } + }); } } catch (error) { logger.error(`Error getting fields for user ${userId}:`, error);