diff --git a/Cargo.lock b/Cargo.lock
index d62d436..052482a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2810,6 +2810,7 @@ dependencies = [
"leptos_router",
"pbkdf2",
"rpassword",
+ "serde",
"sha2",
"sqlx",
"structopt",
diff --git a/sparse-server/Cargo.toml b/sparse-server/Cargo.toml
index 81bbc84..5f274fb 100644
--- a/sparse-server/Cargo.toml
+++ b/sparse-server/Cargo.toml
@@ -36,6 +36,7 @@ rpassword = { version = "7.3", optional = true }
pbkdf2 = { version = "0.12", features = ["simple", "sha2"], optional = true }
sha2 = { version = "0.10", optional = true }
hex = { version = "0.4", optional = true }
+serde = "1.0"
[features]
hydrate = ["leptos/hydrate"]
diff --git a/sparse-server/src/app.rs b/sparse-server/src/app.rs
index 4188a33..d89be7d 100644
--- a/sparse-server/src/app.rs
+++ b/sparse-server/src/app.rs
@@ -63,8 +63,6 @@ pub fn App() -> impl IntoView {
/// Renders the home page of your application.
#[component]
fn HomePage() -> impl IntoView {
- use web_sys::WebSocket;
- use std::sync::Arc;
use leptos_use::{UseWebSocketReturn, use_websocket};
// Creates a reactive value to update the button
diff --git a/sparse-server/src/db/user.rs b/sparse-server/src/db/user.rs
index d18b822..44abd09 100644
--- a/sparse-server/src/db/user.rs
+++ b/sparse-server/src/db/user.rs
@@ -19,9 +19,6 @@ where
let salt_string = hex::encode(salt.as_str().as_bytes());
let password_string = hex::encode(&key[..]);
- tracing::debug!("New password hash: {password_string}");
- tracing::debug!("New password salt: {salt_string}");
-
sqlx::query!(
"UPDATE users SET password_hash = ?, password_salt = ? WHERE user_id = ?",
password_string,
diff --git a/sparse-server/src/lib.rs b/sparse-server/src/lib.rs
index 6ff12ee..d5aa96b 100644
--- a/sparse-server/src/lib.rs
+++ b/sparse-server/src/lib.rs
@@ -2,6 +2,8 @@ pub mod app;
pub mod users;
+pub mod db;
+
#[cfg(feature = "hydrate")]
#[wasm_bindgen::prelude::wasm_bindgen]
pub fn hydrate() {
diff --git a/sparse-server/src/users.rs b/sparse-server/src/users.rs
index 8795f5a..a198954 100644
--- a/sparse-server/src/users.rs
+++ b/sparse-server/src/users.rs
@@ -1,8 +1,67 @@
use leptos::prelude::*;
+use serde::{Serialize, Deserialize};
+#[cfg(feature = "ssr")]
+use {
+ sqlx::SqlitePool
+};
+
+#[derive(Clone, Serialize, Deserialize)]
+pub struct PubUser {
+ user_id: i64,
+ user_name: String
+}
+
+#[server]
+async fn list_users() -> Result "User view""User list"
+