84 lines
2.8 KiB
Rust
84 lines
2.8 KiB
Rust
use axum::{
|
|
Router, middleware,
|
|
routing::{get, post},
|
|
};
|
|
|
|
use crate::{
|
|
auth::require_bearer_auth,
|
|
jump_hop::{
|
|
create_jump_hop_session, execute_jump_hop_action, get_jump_hop_gallery_detail,
|
|
get_jump_hop_runtime_work, get_jump_hop_session, jump_hop_run_jump, list_jump_hop_gallery,
|
|
list_jump_hop_works, publish_jump_hop_work, restart_jump_hop_run, start_jump_hop_run,
|
|
},
|
|
state::AppState,
|
|
};
|
|
|
|
pub fn router(state: AppState) -> Router<AppState> {
|
|
Router::new()
|
|
.route(
|
|
"/api/creation/jump-hop/sessions",
|
|
post(create_jump_hop_session).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/creation/jump-hop/sessions/{session_id}",
|
|
get(get_jump_hop_session).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/creation/jump-hop/sessions/{session_id}/actions",
|
|
post(execute_jump_hop_action).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/creation/jump-hop/works",
|
|
get(list_jump_hop_works).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/creation/jump-hop/works/{profile_id}/publish",
|
|
post(publish_jump_hop_work).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/runtime/jump-hop/works/{profile_id}",
|
|
get(get_jump_hop_runtime_work),
|
|
)
|
|
.route(
|
|
"/api/runtime/jump-hop/runs",
|
|
post(start_jump_hop_run).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/runtime/jump-hop/runs/{run_id}/jump",
|
|
post(jump_hop_run_jump).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route(
|
|
"/api/runtime/jump-hop/runs/{run_id}/restart",
|
|
post(restart_jump_hop_run).route_layer(middleware::from_fn_with_state(
|
|
state.clone(),
|
|
require_bearer_auth,
|
|
)),
|
|
)
|
|
.route("/api/runtime/jump-hop/gallery", get(list_jump_hop_gallery))
|
|
.route(
|
|
"/api/runtime/jump-hop/gallery/{public_work_code}",
|
|
get(get_jump_hop_gallery_detail),
|
|
)
|
|
}
|