use axum::{
Router,
routing::{get, post, delete},
};
use crate::api::{
handlers::branch_handler,
server::AppState,
};
pub fn routes() -> Router<AppState> {
Router::new()
.route("/", get(branch_handler::list_branches))
.route("/", post(branch_handler::create_branch))
.route("/:name", get(branch_handler::get_branch))
.route("/:name", delete(branch_handler::delete_branch))
.route("/:name/merge", post(branch_handler::merge_branch))
}
#[cfg(test)]
#[allow(clippy::unwrap_used, clippy::expect_used)]
mod tests {
use super::*;
use crate::EmbeddedDatabase;
use std::sync::Arc;
#[test]
fn test_routes_creation() {
let db = Arc::new(EmbeddedDatabase::new_in_memory().unwrap());
let query_registry = Arc::new(crate::compute::QueryRegistry::new());
let state = AppState { db, query_registry, auth_bridge: None, oauth_registry: None, change_notifier: None };
let router: axum::Router<()> = routes().with_state(state);
drop(router);
}
}