feat(sms): send class start date, days, and course time

Expose schedule fields on class and invoice templates so SMS can include Jalali start date, weekdays, and hour range.
This commit is contained in:
2026-08-15 23:09:04 +03:30
parent 366cd41bb7
commit 0cdb9cec20
9 changed files with 226 additions and 14 deletions
+16 -1
View File
@@ -58,6 +58,9 @@ const sendClassRegisteredSms = async (receiver, className, userId = null, extraC
fullName: fullName || 'کارآموز',
phoneNumber: receiver,
mobile: receiver,
classStartDate: extraContext.classStartDate || '',
classDays: extraContext.classDays || '',
courseTime: extraContext.courseTime || '',
...extraContext
}))
});
@@ -85,6 +88,9 @@ const sendClassReminderSms = async (receiver, className, time, place = '', userI
fullName: fullName || 'کارآموز',
phoneNumber: receiver,
mobile: receiver,
classStartDate: extraContext.classStartDate || '',
classDays: extraContext.classDays || '',
courseTime: extraContext.courseTime || extraContext.time || time || '',
...extraContext
}))
});
@@ -97,11 +103,17 @@ const sendInvoiceCreatedSms = async (receiver, payload, userId = null) => {
let fullName = '';
let amount = '';
let course = '';
let classStartDate = '';
let classDays = '';
let courseTime = '';
if (typeof payload === 'object' && payload !== null) {
fullName = payload.fullName || '';
amount = payload.amount != null ? String(payload.amount) : '';
course = payload.course || '';
classStartDate = payload.classStartDate || '';
classDays = payload.classDays || '';
courseTime = payload.courseTime || '';
} else {
amount = String(payload || '');
}
@@ -121,7 +133,10 @@ const sendInvoiceCreatedSms = async (receiver, payload, userId = null) => {
amount: amountLabel,
course: courseLabel,
phoneNumber: receiver,
mobile: receiver
mobile: receiver,
classStartDate,
classDays,
courseTime
}))
});
};