resubscribe button
This commit is contained in:
@@ -36,7 +36,7 @@ pub fn subscription_account(tx: &mut Transaction, sub: String) -> Result<Uuid, E
|
||||
Ok(row.get(0))
|
||||
}
|
||||
|
||||
pub fn subscription_cancel(tx: &mut Transaction, client: &Client, account: &Account) -> Result<Option<Subscription>, Error> {
|
||||
pub fn subscription_ending(tx: &mut Transaction, client: &Client, account: &Account, ending: bool) -> Result<Option<Subscription>, Error> {
|
||||
let query = "
|
||||
SELECT account, customer, checkout, subscription
|
||||
FROM stripe_subscriptions
|
||||
@@ -55,16 +55,16 @@ pub fn subscription_cancel(tx: &mut Transaction, client: &Client, account: &Acco
|
||||
|
||||
let id = subscription.parse()?;
|
||||
let mut params = stripe::UpdateSubscription::new();
|
||||
params.cancel_at_period_end = Some(true);
|
||||
params.cancel_at_period_end = Some(ending);
|
||||
|
||||
match stripe::Subscription::update(client, &id, params) {
|
||||
Ok(s) => {
|
||||
info!("subscription cancelled account={:?} subscription={:?}", account, s);
|
||||
info!("subscription changed ending={:?} account={:?} subscription={:?}", ending, account, s);
|
||||
Ok(Some(s))
|
||||
},
|
||||
Err(e) => {
|
||||
warn!("{:?}", e);
|
||||
Err(err_msg("unable to cancel subscription"))
|
||||
Err(err_msg("unable to update subscription"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -81,7 +81,7 @@ enum RpcRequest {
|
||||
AccountConstructs {},
|
||||
AccountSetTeam { ids: Vec<Uuid> },
|
||||
|
||||
SubscriptionCancel {},
|
||||
SubscriptionEnding { ending: bool },
|
||||
SubscriptionState {},
|
||||
EmailState {},
|
||||
|
||||
@@ -209,8 +209,8 @@ impl Connection {
|
||||
RpcRequest::MtxBuy { mtx } =>
|
||||
Ok(RpcMessage::AccountShop(mtx::buy(&mut tx, account, mtx)?)),
|
||||
|
||||
RpcRequest::SubscriptionCancel { } =>
|
||||
Ok(RpcMessage::SubscriptionState(payments::subscription_cancel(&mut tx, &self.stripe, account)?)),
|
||||
RpcRequest::SubscriptionEnding { ending } =>
|
||||
Ok(RpcMessage::SubscriptionState(payments::subscription_ending(&mut tx, &self.stripe, account, ending)?)),
|
||||
|
||||
_ => Err(format_err!("unknown request request={:?}", request)),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user