diff options
Diffstat (limited to 'makima/src/server/mod.rs')
| -rw-r--r-- | makima/src/server/mod.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/makima/src/server/mod.rs b/makima/src/server/mod.rs index 553797f..5dde099 100644 --- a/makima/src/server/mod.rs +++ b/makima/src/server/mod.rs @@ -9,7 +9,7 @@ pub mod state; use axum::{ http::StatusCode, response::IntoResponse, - routing::{get, post}, + routing::{get, post, put}, Json, Router, }; use serde::Serialize; @@ -229,6 +229,22 @@ pub fn make_router(state: SharedState) -> Router { .route("/chains/{id}/graph", get(chains::get_chain_graph)) .route("/chains/{id}/events", get(chains::get_chain_events)) .route("/chains/{id}/editor", get(chains::get_chain_editor)) + // Chain contract definitions + .route( + "/chains/{id}/definitions", + get(chains::list_chain_definitions).post(chains::create_chain_definition), + ) + .route( + "/chains/{chain_id}/definitions/{definition_id}", + put(chains::update_chain_definition).delete(chains::delete_chain_definition), + ) + .route( + "/chains/{id}/definitions/graph", + get(chains::get_chain_definition_graph), + ) + // Chain control + .route("/chains/{id}/start", post(chains::start_chain)) + .route("/chains/{id}/stop", post(chains::stop_chain)) // Contract type templates (built-in only) .route("/contract-types", get(templates::list_contract_types)) // Settings endpoints |
