feat: send notifications when subscription tier changes (#59) #63

Merged
egullickson merged 4 commits from issue-59-tier-change-notifications into main 2026-02-01 02:38:21 +00:00
2 changed files with 13 additions and 14 deletions
Showing only changes of commit 86b2e46798 - Show all commits

View File

@@ -270,15 +270,22 @@ export class NotificationsService {
enterprise: 'unlimited',
};
// Build additional info based on change type
let additionalInfo = '';
if (isDowngrade) {
const vehicleLimit = vehicleLimitMap[newTier.toLowerCase()] || '2';
additionalInfo = `As a result of this change, you now have access to ${vehicleLimit} vehicles. Any vehicles beyond this limit will be hidden but your data remains safe.`;
} else if (isUpgrade) {
additionalInfo = `You now have access to all the features included in the ${this.formatTierName(newTier)} tier. Enjoy your enhanced MotoVaultPro experience!`;
}
const variables = {
userName,
changeType,
previousTier: this.formatTierName(previousTier),
newTier: this.formatTierName(newTier),
reason: reasonDisplayMap[reason] || reason,
isDowngrade: isDowngrade ? 'true' : '',
isUpgrade: isUpgrade ? 'true' : '',
vehicleLimit: vehicleLimitMap[newTier.toLowerCase()] || '2',
additionalInfo,
};
const subject = this.templateService.render(template.subject, variables);
@@ -436,9 +443,7 @@ export class NotificationsService {
previousTier: 'Free',
newTier: 'Pro',
reason: 'Subscription upgrade',
isDowngrade: '',
isUpgrade: 'true',
vehicleLimit: '5',
additionalInfo: 'You now have access to all the features included in the Pro tier. Enjoy your enhanced MotoVaultPro experience!',
};
default:
return baseVariables;

View File

@@ -32,19 +32,13 @@ Previous Tier: {{previousTier}}
New Tier: {{newTier}}
Reason: {{reason}}
{{#if isDowngrade}}
As a result of this change, you now have access to {{vehicleLimit}} vehicles. Any vehicles beyond this limit will be hidden but your data remains safe.
{{/if}}
{{#if isUpgrade}}
You now have access to all the features included in the {{newTier}} tier. Enjoy your enhanced MotoVaultPro experience!
{{/if}}
{{additionalInfo}}
If you have any questions, please contact support.
Best regards,
MotoVaultPro Team',
'["userName", "changeType", "previousTier", "newTier", "reason", "isDowngrade", "isUpgrade", "vehicleLimit"]',
'["userName", "changeType", "previousTier", "newTier", "reason", "additionalInfo"]',
'<!DOCTYPE html>
<html>
<head>