use crate::web::{handlers, AppState}; use axum::{ routing::{get, post}, Router, }; pub fn server_routes() -> Router { Router::new() // Server management .route( "/", get(handlers::list_servers).post(handlers::create_server), ) .route( "/:id", get(handlers::get_server) .put(handlers::update_server) .delete(handlers::delete_server), ) .route("/:id/test", post(handlers::test_server_connection)) .route("/:id/stats", get(handlers::get_server_stats)) // Server inbounds .route( "/:server_id/inbounds", get(handlers::list_server_inbounds).post(handlers::create_server_inbound), ) .route( "/:server_id/inbounds/:inbound_id", get(handlers::get_server_inbound) .put(handlers::update_server_inbound) .delete(handlers::delete_server_inbound), ) // User management for inbounds .route( "/:server_id/inbounds/:inbound_id/users", post(handlers::add_user_to_inbound), ) .route( "/:server_id/inbounds/:inbound_id/users/:email", axum::routing::delete(handlers::remove_user_from_inbound), ) // Client configurations for inbounds .route( "/:server_id/inbounds/:inbound_id/configs", get(handlers::get_inbound_configs), ) } pub fn certificate_routes() -> Router { Router::new() .route( "/", get(handlers::list_certificates).post(handlers::create_certificate), ) .route( "/:id", get(handlers::get_certificate) .put(handlers::update_certificate) .delete(handlers::delete_certificate), ) .route("/:id/details", get(handlers::get_certificate_details)) .route("/expiring", get(handlers::get_expiring_certificates)) } pub fn template_routes() -> Router { Router::new() .route( "/", get(handlers::list_templates).post(handlers::create_template), ) .route( "/:id", get(handlers::get_template) .put(handlers::update_template) .delete(handlers::delete_template), ) }