fix(platform-service): 3 bugs in delivery subscribers + survey incentives

- delivery/subscribers: welcome email used raw productId as productName,
  now uses resolveProductName() for proper display name
- delivery/subscribers: remove redundant String(daysLeft) in trial_expiring
- surveys/routes: incentiveClaimed was set outside if(sub) block, marking
  response as claimed even when user has no subscription. Moved inside
  if(sub) so claims are only recorded when incentive is actually granted
This commit is contained in:
saravanakumardb1 2026-03-22 00:19:32 -07:00
parent ae2af43d71
commit 09525f671f
2 changed files with 11 additions and 11 deletions

View File

@ -28,7 +28,7 @@ export function registerDeliverySubscribers(
templateId: 'welcome',
variables: {
displayName: event.payload.email.split('@')[0],
productName: event.payload.productId,
productName: resolveProductName(event.payload.productId),
dashboardUrl: resolveDashboardUrl(event.payload.productId),
},
productId: event.payload.productId,
@ -168,7 +168,7 @@ export function registerDeliverySubscribers(
variables: {
displayName: user.displayName,
productName: resolveProductName(productId),
daysLeft: String(daysLeft),
daysLeft,
upgradeUrl: `${baseUrl}/billing`,
},
productId,

View File

@ -555,16 +555,16 @@ async function publicRoutes(app: FastifyInstance): Promise<void> {
tokensIncluded: sub.tokensIncluded + survey.incentive.amount,
});
}
}
incentiveClaimed = true;
await repo.updateResponse(id, userId, {
incentiveClaimed: true,
incentiveClaimedAt: now,
});
incentiveClaimed = true;
await repo.updateResponse(id, userId, {
incentiveClaimed: true,
incentiveClaimedAt: now,
});
await repo.updateSurveyMetrics(id, productId, {
incentiveClaims: survey.metrics.incentiveClaims + 1,
});
await repo.updateSurveyMetrics(id, productId, {
incentiveClaims: survey.metrics.incentiveClaims + 1,
});
}
}
return {