From 430fbf845a67b9bc8295811d5fd02ebf58660e0c Mon Sep 17 00:00:00 2001 From: Zack Fu Zi Xiang Date: Sun, 7 Jul 2024 15:55:10 +0800 Subject: [PATCH] chore: update usage and limits api --- libs/client-api/src/http_billing.rs | 39 +---------------------- libs/shared-entity/src/dto/billing_dto.rs | 23 ++----------- 2 files changed, 4 insertions(+), 58 deletions(-) diff --git a/libs/client-api/src/http_billing.rs b/libs/client-api/src/http_billing.rs index 1e4ac1c3..f767214c 100644 --- a/libs/client-api/src/http_billing.rs +++ b/libs/client-api/src/http_billing.rs @@ -3,10 +3,7 @@ use client_api_entity::billing_dto::WorkspaceUsageAndLimit; use reqwest::Method; use serde_json::json; use shared_entity::{ - dto::billing_dto::{ - RecurringInterval, SubscriptionPlan, WorkspaceSubscriptionStatus, WorkspaceUsage, - WorkspaceUsageLimit, - }, + dto::billing_dto::{RecurringInterval, SubscriptionPlan, WorkspaceSubscriptionStatus}, response::{AppResponse, AppResponseError}, }; @@ -101,23 +98,6 @@ impl Client { .into_data() } - pub async fn get_billing_workspace_usage( - &self, - workspace_id: &str, - ) -> Result { - let num_members = self.get_workspace_members(workspace_id).await?.len(); - let limits = self.get_workspace_limits(workspace_id).await?; - let doc_usage = self.get_workspace_usage(workspace_id).await?; - - let workspace_usage = WorkspaceUsage { - member_count: num_members, - member_count_limit: limits.member_count, - total_blob_bytes: doc_usage.consumed_capacity as _, - total_blob_bytes_limit: limits.total_blob_size, - }; - Ok(workspace_usage) - } - pub async fn get_portal_session_link(&self) -> Result { let url = format!( "{}/billing/api/v1/portal-session-link", @@ -135,23 +115,6 @@ impl Client { Ok(portal_url) } - // Deprecated - async fn get_workspace_limits( - &self, - workspace_id: &str, - ) -> Result { - let url = format!("{}/api/workspace/{}/limit", self.base_url, workspace_id); - self - .http_client_with_auth(Method::GET, &url) - .await? - .send() - .await? - .error_for_status()? - .json::>() - .await? - .into_data() - } - pub async fn get_workspace_usage_and_limit( &self, workspace_id: &str, diff --git a/libs/shared-entity/src/dto/billing_dto.rs b/libs/shared-entity/src/dto/billing_dto.rs index 38d0ff3d..27ae5f03 100644 --- a/libs/shared-entity/src/dto/billing_dto.rs +++ b/libs/shared-entity/src/dto/billing_dto.rs @@ -66,30 +66,13 @@ pub struct WorkspaceSubscriptionStatus { pub canceled_at: Option, } -#[derive(Deserialize, Debug)] -pub struct WorkspaceUsage { - pub member_count: usize, - pub member_count_limit: usize, - pub total_blob_bytes: usize, - pub total_blob_bytes_limit: usize, - // TODO(AI): - // pub ai_responses: String, - // pub ai_responses_limit: String, -} - -#[derive(Deserialize)] -pub struct WorkspaceUsageLimit { - pub total_blob_size: usize, - pub single_blob_size: usize, - pub member_count: usize, -} - #[derive(Deserialize)] pub struct WorkspaceUsageAndLimit { pub member_count: i64, pub member_count_limit: i64, - pub total_blob_bytes: i64, - pub total_blob_bytes_limit: i64, + pub storage_bytes: i64, + pub storage_bytes_limit: i64, + pub storage_bytes_unlimited: bool, pub ai_responses_count: i64, pub ai_responses_count_limit: i64,