in handlers/discount-expiry-notifier/src/handlers/getOldPaymentAmount.ts [211:237]
export function getLastPaymentDateBeforeDiscountExpiry(
firstPaymentDateAfterDiscountExpiry: string,
paymentFrequency: string,
): string {
const date = new Date(firstPaymentDateAfterDiscountExpiry);
//if the date is a leap year, set the last day of February
if (date.getMonth() === 1 && date.getDate() === 29) {
date.setDate(28);
}
switch (paymentFrequency.toLowerCase()) {
case 'annual':
date.setFullYear(date.getFullYear() - 1);
break;
case 'quarter':
date.setMonth(date.getMonth() - 3);
break;
case 'month':
date.setMonth(date.getMonth() - 1);
break;
default:
throw new Error('Invalid payment frequency');
}
return date.toISOString().split('T')[0] ?? '';
}