Files
message-hideyoshi.com/src/route.rs

34 lines
1.1 KiB
Rust

use crate::config::{config_auth, config_email};
use crate::handler::health::health_check;
use crate::handler::message::send_message;
use crate::middleware::auth_middleware::auth_middleware;
use crate::service::auth_service::AuthService;
use crate::service::email_service::EmailService;
use crate::utils::router_builder::RouterBuilder;
use axum::{
middleware,
routing::{get, post},
Extension, Router,
};
use crate::depends::depends_auth_service::get_depends_auth_service;
use crate::depends::depends_email_service::get_depends_email_service;
fn configure_message_endpoint(router: Router) -> Router {
router
.route("/message", post(send_message))
.layer(middleware::from_fn(auth_middleware))
.layer(Extension(get_depends_auth_service()))
.layer(Extension(get_depends_email_service()))
}
fn configure_health_endpoint(router: Router) -> Router {
router.route("/health", get(health_check))
}
pub fn create_route() -> Router {
RouterBuilder::new()
.add_config(configure_message_endpoint)
.add_config(configure_health_endpoint)
.build()
}