You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
508 B
17 lines
508 B
use axum::Router; |
|
use std::sync::Arc; |
|
use tower_http::{cors::CorsLayer, trace::TraceLayer}; |
|
|
|
use crate::api; |
|
use crate::dependencies::AppDependencies; |
|
use crate::state::AppState; |
|
|
|
pub async fn create_router() -> anyhow::Result<Router> { |
|
let dependencies = AppDependencies::new("sqlite:app.db", None).await?; |
|
let state = Arc::new(AppState::new(dependencies).await); |
|
|
|
Ok(api::routes() |
|
.with_state(state) |
|
.layer(TraceLayer::new_for_http()) |
|
.layer(CorsLayer::permissive())) |
|
}
|
|
|