feat: layout for workspace usage

This commit is contained in:
Zack Fu Zi Xiang 2024-03-14 09:55:42 +08:00
parent f7a8cdcd65
commit 13ce89d27e
No known key found for this signature in database
5 changed files with 32 additions and 17 deletions

7
Cargo.lock generated
View File

@ -325,6 +325,7 @@ dependencies = [
"dotenvy", "dotenvy",
"gotrue", "gotrue",
"gotrue-entity", "gotrue-entity",
"human_bytes",
"jwt", "jwt",
"redis 0.24.0", "redis 0.24.0",
"reqwest", "reqwest",
@ -2556,6 +2557,12 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "human_bytes"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e"
[[package]] [[package]]
name = "humansize" name = "humansize"
version = "2.1.3" version = "2.1.3"

View File

@ -28,3 +28,4 @@ tower = "0.4"
tracing = "0.1" tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
jwt = "0.16" jwt = "0.16"
human_bytes = "0.4.3"

View File

@ -8,15 +8,16 @@ pub struct UserUsage {
pub workspace_limit: u32, pub workspace_limit: u32,
} }
// #[derive(Template)] #[derive(Template)]
// #[template(path = "components/workspace_usage.html")] #[template(path = "components/workspace_usage.html")]
// pub struct WorkspaceUsage { pub struct WorkspaceUsage<'a> {
// pub name: String, pub name: &'a str,
// pub member_count: u32, pub member_count: u32,
// pub member_limit: u32, pub member_limit: u32,
// pub total_object_size: u64, pub total_doc_size: &'a str,
// pub total_object_limit: u64, pub total_blob_size: &'a str,
// } pub total_blob_limit: &'a str,
}
#[derive(Template)] #[derive(Template)]
#[template(path = "components/admin_sso_detail.html")] #[template(path = "components/admin_sso_detail.html")]
@ -45,10 +46,6 @@ pub struct Login<'a> {
pub oauth_providers: Vec<&'a str>, pub oauth_providers: Vec<&'a str>,
} }
// #[derive(Template)]
// #[template(path = "login.html")]
// pub struct Login;
#[derive(Template)] #[derive(Template)]
#[template(path = "pages/home.html")] #[template(path = "pages/home.html")]
pub struct Home<'a> { pub struct Home<'a> {

View File

@ -6,6 +6,7 @@ use axum::extract::{Path, State};
use axum::response::Result; use axum::response::Result;
use axum::{response::Html, routing::get, Router}; use axum::{response::Html, routing::get, Router};
use gotrue_entity::dto::User; use gotrue_entity::dto::User;
use human_bytes::human_bytes;
use crate::{templates, AppState}; use crate::{templates, AppState};
@ -122,7 +123,14 @@ pub async fn user_usage_handler(
} }
pub async fn workspace_usage_handler(session: UserSession) -> Result<Html<String>, WebAppError> { pub async fn workspace_usage_handler(session: UserSession) -> Result<Html<String>, WebAppError> {
todo!() render_template(templates::WorkspaceUsage {
name: "test",
member_count: 6,
member_limit: 7,
total_doc_size: &human_bytes(987654),
total_blob_size: &human_bytes(9876543),
total_blob_limit: &human_bytes(98765432),
})
} }
pub async fn admin_users_create_handler() -> Result<Html<String>, WebAppError> { pub async fn admin_users_create_handler() -> Result<Html<String>, WebAppError> {

View File

@ -5,16 +5,18 @@
<th>Workspace Name</th> <th>Workspace Name</th>
<th>Members</th> <th>Members</th>
<th>Members Limit</th> <th>Members Limit</th>
<th>Storage Space</th> <th>Document Storage</th>
<th>Storage Space Limit</th> <th>Object Storage</th>
<th>Object Storage Limit</th>
</tr> </tr>
</thead> </thead>
<tr> <tr>
<td> {{ name|escape }} </td> <td> {{ name|escape }} </td>
<td> {{ member_count|escape }} </td> <td> {{ member_count|escape }} </td>
<td> {{ member_limit|escape }} </td> <td> {{ member_limit|escape }} </td>
<td> {{ total_doc_size|escape }} </td>
<td> {{ total_blob_size|escape }} </td> <td> {{ total_blob_size|escape }} </td>
<td> {{ total_blob_size_limit|escape }} </td> <td> {{ total_blob_limit|escape }} </td>
</tr> </tr>
</table> </table>
</div> </div>