feat: use subscription req struct
This commit is contained in:
parent
73127fb886
commit
fe0667ed20
|
|
@ -1,7 +1,7 @@
|
|||
use crate::Client;
|
||||
use client_api_entity::billing_dto::{
|
||||
SetSubscriptionRecurringInterval, SubscriptionCancelRequest, SubscriptionPlanDetail,
|
||||
WorkspaceUsageAndLimit,
|
||||
SetSubscriptionRecurringInterval, SubscriptionCancelRequest, SubscriptionLinkRequest,
|
||||
SubscriptionPlanDetail, WorkspaceUsageAndLimit,
|
||||
};
|
||||
use reqwest::Method;
|
||||
use shared_entity::{
|
||||
|
|
@ -44,6 +44,14 @@ impl Client {
|
|||
workspace_subscription_plan: SubscriptionPlan,
|
||||
success_url: &str,
|
||||
) -> Result<String, AppResponseError> {
|
||||
let sub_link_req = SubscriptionLinkRequest {
|
||||
workspace_subscription_plan,
|
||||
recurring_interval,
|
||||
workspace_id,
|
||||
success_url,
|
||||
with_test_clock: None,
|
||||
};
|
||||
|
||||
let url = format!(
|
||||
"{}/billing/api/v1/subscription-link",
|
||||
self.base_billing_url()
|
||||
|
|
@ -51,15 +59,7 @@ impl Client {
|
|||
let resp = self
|
||||
.http_client_with_auth(Method::GET, &url)
|
||||
.await?
|
||||
.query(&[
|
||||
("workspace_id", workspace_id),
|
||||
("recurring_interval", recurring_interval.as_str()),
|
||||
(
|
||||
"workspace_subscription_plan",
|
||||
workspace_subscription_plan.as_ref(),
|
||||
),
|
||||
("success_url", success_url),
|
||||
])
|
||||
.query(&sub_link_req)
|
||||
.send()
|
||||
.await?;
|
||||
|
||||
|
|
|
|||
|
|
@ -148,3 +148,12 @@ pub enum Currency {
|
|||
#[default]
|
||||
USD,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct SubscriptionLinkRequest<'a> {
|
||||
pub workspace_subscription_plan: SubscriptionPlan,
|
||||
pub recurring_interval: RecurringInterval,
|
||||
pub workspace_id: &'a str,
|
||||
pub success_url: &'a str,
|
||||
pub with_test_clock: Option<bool>,
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue