Handle grace period days

This commit is contained in:
Brandon Thomas committed 2022-09-19 04:39:51 -04:00
1 parent 6a2a99741e
commit cf7cd9945d
1 file changed
+12 -2
@@ -1,9 +1,19 @@
use chrono::{Duration, NaiveDateTime};
use crate::stripe::webhook_event_handlers::customer_subscription::subscription_event_extractor::SubscriptionSummary;
use once_cell::sync::Lazy;
use std::ops::Add;
const SUBSCRIPTION_GRACE_DAYS: Lazy<Duration> = Lazy::new(|| {
Duration::days(2)
});
#[inline]
pub fn calculate_subscription_end_date(subscription_summary: &SubscriptionSummary) -> NaiveDateTime {
let SUBSCRIPTION_GRACE_DAYS = Duration::days(2);
subscription_summary.current_billing_period_end.add(SUBSCRIPTION_GRACE_DAYS)
let mut subscription_end = subscription_summary.current_billing_period_end;
if !subscription_summary.cancel_at_period_end {
subscription_end = subscription_end.add(*SUBSCRIPTION_GRACE_DAYS);
}
subscription_end
}