Fix integer overflow on charges

This commit is contained in:
Jai A
2025-01-17 17:01:35 -08:00
parent 75b357a069
commit 0f4af98a21
2 changed files with 7 additions and 2 deletions

View File

@@ -161,7 +161,7 @@ pub struct Charge {
pub id: ChargeId, pub id: ChargeId,
pub user_id: UserId, pub user_id: UserId,
pub price_id: ProductPriceId, pub price_id: ProductPriceId,
pub amount: u64, pub amount: i64,
pub currency_code: String, pub currency_code: String,
pub status: ChargeStatus, pub status: ChargeStatus,
pub due: DateTime<Utc>, pub due: DateTime<Utc>,
@@ -171,6 +171,9 @@ pub struct Charge {
pub subscription_id: Option<UserSubscriptionId>, pub subscription_id: Option<UserSubscriptionId>,
pub subscription_interval: Option<PriceDuration>, pub subscription_interval: Option<PriceDuration>,
pub platform: PaymentPlatform, pub platform: PaymentPlatform,
pub parent_charge_id: Option<ChargeId>,
pub net: Option<i64>,
} }
#[derive(Serialize, Deserialize, Debug)] #[derive(Serialize, Deserialize, Debug)]

View File

@@ -638,7 +638,7 @@ pub async fn charges(
id: x.id.into(), id: x.id.into(),
user_id: x.user_id.into(), user_id: x.user_id.into(),
price_id: x.price_id.into(), price_id: x.price_id.into(),
amount: x.amount as u64, amount: x.amount,
currency_code: x.currency_code, currency_code: x.currency_code,
status: x.status, status: x.status,
due: x.due, due: x.due,
@@ -647,6 +647,8 @@ pub async fn charges(
subscription_id: x.subscription_id.map(|x| x.into()), subscription_id: x.subscription_id.map(|x| x.into()),
subscription_interval: x.subscription_interval, subscription_interval: x.subscription_interval,
platform: x.payment_platform, platform: x.payment_platform,
parent_charge_id: x.parent_charge_id.map(|x| x.into()),
net: if user.role.is_admin() { x.net } else { None },
}) })
.collect::<Vec<_>>(), .collect::<Vec<_>>(),
)) ))