diff --git a/admin_frontend/src/config.rs b/admin_frontend/src/config.rs index 7068db1c..057dc326 100644 --- a/admin_frontend/src/config.rs +++ b/admin_frontend/src/config.rs @@ -5,7 +5,6 @@ pub struct Config { pub redis_url: String, pub gotrue_url: String, pub appflowy_cloud_url: String, - pub appflowy_cloud_gateway_url: String, } impl Config { @@ -17,11 +16,6 @@ impl Config { "ADMIN_FRONTEND_APPFLOWY_CLOUD_URL", "http://localhost:8000", ), - - appflowy_cloud_gateway_url: get_or_default( - "ADMIN_FRONTEND_APPFLOWY_CLOUD_GATEWAY_URL", - "http://localhost:8100", - ), } } } diff --git a/admin_frontend/src/ext/api.rs b/admin_frontend/src/ext/api.rs index 12d34a67..126e4ed2 100644 --- a/admin_frontend/src/ext/api.rs +++ b/admin_frontend/src/ext/api.rs @@ -5,7 +5,7 @@ use super::{ check_response, entities::{ UserProfile, UserUsageLimit, WorkspaceBlobUsage, WorkspaceDocUsage, WorkspaceMember, - WorkspaceUsageLimit, WorkspaceUsageLimits, + WorkspaceUsageLimits, }, error::Error, from_json_response, @@ -55,7 +55,6 @@ pub async fn get_user_workspace_limit( pub async fn get_user_workspace_usages( access_token: &str, appflowy_cloud_base_url: &str, - appflowy_cloud_gateway_base_url: &str, ) -> Result, Error> { let user_workspaces = get_user_owned_workspaces(access_token, appflowy_cloud_base_url).await?; @@ -82,26 +81,11 @@ pub async fn get_user_workspace_usages( }) }; - let workspace_limits = - get_user_workspace_limits(&workspace_id, access_token, appflowy_cloud_gateway_base_url).await; - let (member_limit, total_blob_limit) = match workspace_limits { - Ok(limit) => ( - limit.member_count.to_string(), - human_bytes::human_bytes(limit.total_blob_size as f64), - ), - Err(e) => { - tracing::warn!("Error getting user workspace limits: {:?}", e); - ("N/A".to_string(), "N/A".to_string()) - }, - }; - workspace_usages.push(WorkspaceUsageLimits { name: user_workspace.workspace_name, member_count: members.len(), - member_limit, total_doc_size, total_blob_size, - total_blob_limit, }); } @@ -160,24 +144,6 @@ pub async fn get_accepted_workspace_invitations( from_json_response(resp).await } -async fn get_user_workspace_limits( - workspace_id: &str, - access_token: &str, - appflowy_cloud_gateway_base_url: &str, -) -> Result { - let http_client = reqwest::Client::new(); - let resp = http_client - .get(format!( - "{}/api/workspace/{}/limit", - appflowy_cloud_gateway_base_url, workspace_id - )) - .header("Authorization", format!("Bearer {}", access_token)) - .send() - .await?; - - from_json_response(resp).await -} - async fn get_user_workspace_blob_usage( workspace_id: &str, access_token: &str, diff --git a/admin_frontend/src/ext/entities.rs b/admin_frontend/src/ext/entities.rs index 216c8417..02c14e63 100644 --- a/admin_frontend/src/ext/entities.rs +++ b/admin_frontend/src/ext/entities.rs @@ -16,10 +16,8 @@ pub struct UserUsageLimit { pub struct WorkspaceUsageLimits { pub name: String, pub member_count: usize, - pub member_limit: String, pub total_doc_size: String, pub total_blob_size: String, - pub total_blob_limit: String, } #[derive(Deserialize)] diff --git a/admin_frontend/src/main.rs b/admin_frontend/src/main.rs index bf8c63aa..229ab9b3 100644 --- a/admin_frontend/src/main.rs +++ b/admin_frontend/src/main.rs @@ -48,7 +48,6 @@ async fn main() { let state = AppState { appflowy_cloud_url: config.appflowy_cloud_url, - appflowy_cloud_gateway_url: config.appflowy_cloud_gateway_url, gotrue_client, session_store, }; @@ -78,7 +77,6 @@ async fn main() { #[derive(Clone)] pub struct AppState { pub appflowy_cloud_url: String, - pub appflowy_cloud_gateway_url: String, pub gotrue_client: gotrue::api::Client, pub session_store: session::SessionStorage, } diff --git a/admin_frontend/src/web_app.rs b/admin_frontend/src/web_app.rs index 7ee00f12..27065906 100644 --- a/admin_frontend/src/web_app.rs +++ b/admin_frontend/src/web_app.rs @@ -308,16 +308,14 @@ async fn user_usage_handler( 0 }); - let workspace_limit = get_user_workspace_limit( - &session.token.access_token, - &state.appflowy_cloud_gateway_url, - ) - .await - .map(|limit| limit.workspace_count.to_string()) - .unwrap_or_else(|err| { - tracing::warn!("unable to get user workspace limit: {:?}", err); - "N/A".to_owned() - }); + let workspace_limit = + get_user_workspace_limit(&session.token.access_token, &state.appflowy_cloud_url) + .await + .map(|limit| limit.workspace_count.to_string()) + .unwrap_or_else(|err| { + tracing::warn!("unable to get user workspace limit: {:?}", err); + "N/A".to_owned() + }); render_template(templates::UserUsage { workspace_count, @@ -329,12 +327,8 @@ async fn workspace_usage_handler( State(app_state): State, session: UserSession, ) -> Result, WebAppError> { - let workspace_usages = get_user_workspace_usages( - &session.token.access_token, - &app_state.appflowy_cloud_url, - &app_state.appflowy_cloud_gateway_url, - ) - .await?; + let workspace_usages = + get_user_workspace_usages(&session.token.access_token, &app_state.appflowy_cloud_url).await?; render_template(templates::WorkspaceUsageList { workspace_usages }) } diff --git a/admin_frontend/templates/components/workspace_usage.html b/admin_frontend/templates/components/workspace_usage.html index 1d4ce91f..56d06014 100644 --- a/admin_frontend/templates/components/workspace_usage.html +++ b/admin_frontend/templates/components/workspace_usage.html @@ -4,10 +4,8 @@ Workspace Name Members - Members Limit Document Storage Object Storage - Object Storage Limit @@ -15,12 +13,8 @@ {{ workspace_usage.name|escape }} {{ workspace_usage.member_count|escape }} - {{ workspace_usage.member_limit|escape }} {{ workspace_usage.total_doc_size|escape }} {{ workspace_usage.total_blob_size|escape }} - {{ workspace_usage.total_blob_limit|escape }} {% endfor %} - - diff --git a/admin_frontend/templates/pages/login.html b/admin_frontend/templates/pages/login.html index fb0f7ebe..d9e194f4 100644 --- a/admin_frontend/templates/pages/login.html +++ b/admin_frontend/templates/pages/login.html @@ -106,7 +106,7 @@ {% endif %} -
+  
kofi @@ -114,10 +114,10 @@
-
-
+  
+   By clicking logging in or signing up, you confirm that you have read, understood, and agreed to AppFlowy's Terms and Privacy Policy.