use axum::{Json, extract::State};
use super::auth::HttpCaller;
use super::error::HttpWireError;
use crate::ServerState;
use crate::dev_ui::{
RegisterMockRequest, RegisterMockResponse, ReplayRunRequest, ReplayRunResponse,
TriggerRunRequest, TriggerRunResponse, register_mock, replay_run, trigger_run,
};
pub(crate) async fn dev_trigger_run(
State(state): State<ServerState>,
HttpCaller(caller): HttpCaller,
Json(request): Json<TriggerRunRequest>,
) -> Result<Json<TriggerRunResponse>, HttpWireError> {
trigger_run(&state, &caller, request)
.await
.map(Json)
.map_err(HttpWireError)
}
pub(crate) async fn dev_register_mock(
State(state): State<ServerState>,
HttpCaller(caller): HttpCaller,
Json(request): Json<RegisterMockRequest>,
) -> Result<Json<RegisterMockResponse>, HttpWireError> {
register_mock(&state, &caller, request)
.await
.map(Json)
.map_err(HttpWireError)
}
pub(crate) async fn dev_replay_run(
State(state): State<ServerState>,
HttpCaller(caller): HttpCaller,
Json(request): Json<ReplayRunRequest>,
) -> Result<Json<ReplayRunResponse>, HttpWireError> {
replay_run(&state, &caller, request)
.await
.map(Json)
.map_err(HttpWireError)
}