chore: add http api for usage and limit
This commit is contained in:
parent
a41344fbae
commit
b77ac38ea3
|
|
@ -1,4 +1,5 @@
|
||||||
use crate::Client;
|
use crate::Client;
|
||||||
|
use client_api_entity::billing_dto::WorkspaceUsageAndLimit;
|
||||||
use reqwest::Method;
|
use reqwest::Method;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
use shared_entity::{
|
use shared_entity::{
|
||||||
|
|
@ -134,15 +135,12 @@ impl Client {
|
||||||
Ok(portal_url)
|
Ok(portal_url)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Deprecated
|
||||||
async fn get_workspace_limits(
|
async fn get_workspace_limits(
|
||||||
&self,
|
&self,
|
||||||
workspace_id: &str,
|
workspace_id: &str,
|
||||||
) -> Result<WorkspaceUsageLimit, AppResponseError> {
|
) -> Result<WorkspaceUsageLimit, AppResponseError> {
|
||||||
let url = format!(
|
let url = format!("{}/api/workspace/{}/limit", self.base_url, workspace_id);
|
||||||
"{}/api/workspace/{}/limit",
|
|
||||||
self.base_billing_url(),
|
|
||||||
workspace_id
|
|
||||||
);
|
|
||||||
self
|
self
|
||||||
.http_client_with_auth(Method::GET, &url)
|
.http_client_with_auth(Method::GET, &url)
|
||||||
.await?
|
.await?
|
||||||
|
|
@ -153,4 +151,23 @@ impl Client {
|
||||||
.await?
|
.await?
|
||||||
.into_data()
|
.into_data()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn get_workspace_usage_and_limit(
|
||||||
|
&self,
|
||||||
|
workspace_id: &str,
|
||||||
|
) -> Result<WorkspaceUsageAndLimit, AppResponseError> {
|
||||||
|
let url = format!(
|
||||||
|
"{}/api/workspace/{}/usage-and-limit",
|
||||||
|
self.base_url, workspace_id
|
||||||
|
);
|
||||||
|
self
|
||||||
|
.http_client_with_auth(Method::GET, &url)
|
||||||
|
.await?
|
||||||
|
.send()
|
||||||
|
.await?
|
||||||
|
.error_for_status()?
|
||||||
|
.json::<AppResponse<WorkspaceUsageAndLimit>>()
|
||||||
|
.await?
|
||||||
|
.into_data()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -83,3 +83,16 @@ pub struct WorkspaceUsageLimit {
|
||||||
pub single_blob_size: usize,
|
pub single_blob_size: usize,
|
||||||
pub member_count: 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 ai_responses_count: i64,
|
||||||
|
pub ai_responses_count_limit: i64,
|
||||||
|
|
||||||
|
pub local_ai: bool,
|
||||||
|
pub ai_responses_unlimited: bool,
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue