Changed TrainerId to TraineruserId

This commit is contained in:
Sharon Dcruz 2025-08-14 12:07:04 +05:30
parent d7bf910baa
commit ded8e15918

View File

@ -474,16 +474,44 @@ async function processExpiringMembership(
}
}
async function getTrainerUserId(trainerId: string): Promise<string> {
try {
const trainerDoc = await app
.firestore()
.collection("trainer_profiles")
.doc(trainerId)
.get();
if (!trainerDoc.exists) {
throw new Error(`Trainer profile not found for ID: ${trainerId}`);
}
const trainerData = trainerDoc.data();
if (!trainerData?.userId) {
throw new Error(`userId not found in trainer profile: ${trainerId}`);
}
return trainerData.userId;
} catch (error) {
logger.error(`Error getting userId for trainer ${trainerId}:`, error);
return trainerId;
}
}
async function sendTrainerNotifications(
membershipId: string,
membershipData: MembershipData,
notificationType: "expired" | "expiring"
): Promise<void> {
try {
const trainerAssignments = await getTrainerAssignmentsForMembership(membershipId);
const trainerAssignments = await getTrainerAssignmentsForMembership(
membershipId
);
if (trainerAssignments.length === 0) {
logger.info(`No trainer assignments found for membership ${membershipId}`);
logger.info(
`No trainer assignments found for membership ${membershipId}`
);
return;
}
@ -519,13 +547,17 @@ async function sendTrainerNotifications(
try {
const trainerName = await getTrainerName(assignment.trainerId);
const trainerUserId = await getTrainerUserId(assignment.trainerId);
const notifType = notificationType === "expired" ? "trainer_client_plan_expired" : "trainer_client_plan_expiring";
const notifType =
notificationType === "expired"
? "trainer_client_plan_expired"
: "trainer_client_plan_expiring";
const existing = await app
.firestore()
.collection("notifications")
.where("type", "==", notifType)
.where("recipientId", "==", assignment.trainerId)
.where("recipientId", "==", trainerUserId)
.where("data.membershipId", "==", membershipId)
.where(
"data.expiryDate",
@ -546,7 +578,7 @@ async function sendTrainerNotifications(
const notificationData: any = {
senderId: "system",
recipientId: assignment.trainerId,
recipientId: trainerUserId,
type: notifType,
notificationSent: false,
timestamp: admin.firestore.FieldValue.serverTimestamp(),