admin can soft delete listings
This commit is contained in:
@@ -72,6 +72,52 @@ class UserEngagementEmailService {
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send item deletion notification email to owner
|
||||
* @param {Object} owner - Owner user object
|
||||
* @param {string} owner.firstName - Owner's first name
|
||||
* @param {string} owner.email - Owner's email address
|
||||
* @param {Object} item - Item object
|
||||
* @param {number} item.id - Item ID
|
||||
* @param {string} item.name - Item name
|
||||
* @param {string} deletionReason - Reason for deletion
|
||||
* @returns {Promise<{success: boolean, messageId?: string, error?: string}>}
|
||||
*/
|
||||
async sendItemDeletionNotificationToOwner(owner, item, deletionReason) {
|
||||
if (!this.initialized) {
|
||||
await this.initialize();
|
||||
}
|
||||
|
||||
try {
|
||||
const frontendUrl = process.env.FRONTEND_URL || "http://localhost:3000";
|
||||
const supportEmail = process.env.SUPPORT_EMAIL;
|
||||
|
||||
const variables = {
|
||||
ownerName: owner.firstName || "there",
|
||||
itemName: item.name,
|
||||
deletionReason,
|
||||
supportEmail,
|
||||
dashboardUrl: `${frontendUrl}/owning`,
|
||||
};
|
||||
|
||||
const htmlContent = await this.templateManager.renderTemplate(
|
||||
"itemDeletionToOwner",
|
||||
variables
|
||||
);
|
||||
|
||||
const subject = `Important: Your listing "${item.name}" has been removed`;
|
||||
|
||||
return await this.emailClient.sendEmail(
|
||||
owner.email,
|
||||
subject,
|
||||
htmlContent
|
||||
);
|
||||
} catch (error) {
|
||||
console.error("Failed to send item deletion notification email:", error);
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = UserEngagementEmailService;
|
||||
|
||||
Reference in New Issue
Block a user