From 12f9eebfad608fad88a3c4ab6033c9c54987b571 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Tue, 9 Sep 2025 12:39:16 +0200 Subject: [PATCH] Create me route --- server/src/main.rs | 24 ++++++++++++++---------- server/src/routes/accounts.rs | 6 ++++++ server/src/routes/mod.rs | 1 + 3 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 server/src/routes/accounts.rs diff --git a/server/src/main.rs b/server/src/main.rs index 83a0787..4a0b5b0 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -2,13 +2,19 @@ mod controllers; mod routes; mod utils; -use utils::init_database; use anyhow::Result; -use axum::{routing::{delete, get, post, put}, Router}; -use routes::{admin, auth as auth_routes, machines, setup}; -use tower_http::{cors::CorsLayer, services::{ServeDir, ServeFile}}; +use axum::{ + routing::{delete, get, post, put}, + Router, +}; +use routes::{accounts, admin, auth as auth_routes, machines, setup}; use std::path::Path; use tokio::signal; +use tower_http::{ + cors::CorsLayer, + services::{ServeDir, ServeFile}, +}; +use utils::init_database; #[tokio::main] async fn main() -> Result<()> { @@ -16,21 +22,17 @@ async fn main() -> Result<()> { let api_routes = Router::new() .route("/setup/status", get(setup::get_setup_status)) .route("/setup/init", post(setup::init_setup)) - .route("/auth/login", post(auth_routes::login)) .route("/auth/logout", post(auth_routes::logout)) - + .route("/accounts/me", get(accounts::me)) .route("/admin/users", get(admin::get_users)) .route("/admin/users", post(admin::create_user_handler)) .route("/admin/users/{id}", put(admin::update_user_handler)) .route("/admin/users/{id}", delete(admin::delete_user_handler)) - .route("/machines/register", post(machines::register_machine)) .route("/machines", get(machines::get_machines)) .route("/machines/{id}", delete(machines::delete_machine)) - .layer(CorsLayer::permissive()) - .with_state(pool); let dist_path = "./dist"; @@ -48,7 +50,9 @@ async fn main() -> Result<()> { let listener = tokio::net::TcpListener::bind("0.0.0.0:8379").await?; println!("Server running on http://0.0.0.0:8379"); - axum::serve(listener, app).with_graceful_shutdown(shutdown_signal()).await?; + axum::serve(listener, app) + .with_graceful_shutdown(shutdown_signal()) + .await?; Ok(()) } diff --git a/server/src/routes/accounts.rs b/server/src/routes/accounts.rs new file mode 100644 index 0000000..4cd1c00 --- /dev/null +++ b/server/src/routes/accounts.rs @@ -0,0 +1,6 @@ +use crate::utils::{auth::AuthUser, error::*, models::User}; +use axum::response::Json; + +pub async fn me(auth_user: AuthUser) -> Result, AppError> { + Ok(success_response(auth_user.user)) +} diff --git a/server/src/routes/mod.rs b/server/src/routes/mod.rs index a7402e1..842a396 100644 --- a/server/src/routes/mod.rs +++ b/server/src/routes/mod.rs @@ -2,3 +2,4 @@ pub mod admin; pub mod auth; pub mod machines; pub mod setup; +pub mod accounts;