mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 09:28:11 +00:00
Handle grace period days
This commit is contained in:
1 parent
6a2a99741e
commit
cf7cd9945d
1 file changed
+12
-2
+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
|
||||
}
|
||||
Reference in new issue
Block a user