feat: send account and invoice SMS from stored template IDs
Move sms.ir template IDs out of env into settings so SuperAdmin can manage them, and record every outbound SMS status in notifications.
This commit is contained in:
@@ -7,6 +7,8 @@ const eventEmitter = require('../../events/eventEmitter');
|
||||
const EVENT_NAMES = require('../../constants/eventNames');
|
||||
const { calculateMeta, escapeRegex, getSearchTerm } = require('../../utils/pagination');
|
||||
const User = require('../users/userModel');
|
||||
const { sendInvoiceCreatedSms } = require('../../utils/senders/smsMessages');
|
||||
const logger = require('../../utils/logger');
|
||||
|
||||
const getAllPayments = async (query) => {
|
||||
const page = parseInt(query.page) || 1;
|
||||
@@ -71,6 +73,15 @@ const createPayment = async (body, actorId = null) => {
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
const user = await User.findById(payment.user).select('phoneNumber').lean();
|
||||
if (user?.phoneNumber) {
|
||||
await sendInvoiceCreatedSms(user.phoneNumber, payment.amount, user._id);
|
||||
}
|
||||
} catch (err) {
|
||||
logger.error(`[createPayment] Invoice SMS failed for payment ${payment._id}: ${err.message}`);
|
||||
}
|
||||
|
||||
return getPaymentById(payment._id);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user