use std::collections::HashMap; use mongod::{vec_to_api, ToAPI}; use rocket::{get, State}; use serde_json::json; use crate::{ check_auth, config::Config, flow::FlowInfo, json_store::JSONStore, location::Location, routes::{api_error, FallibleApiResponse, Token}, transaction::Transaction, }; #[get("/flow//info")] pub async fn flow_info( id: &str, flows: &State>, t: Token, c: &State, ) -> FallibleApiResponse { check_auth!(t, c); let flowinfo = flows.get(id).ok_or_else(|| api_error("Flow not found"))?; Ok(flowinfo.api().await) } #[get("/flows")] pub async fn flows_list( flows: &State>, t: Token, c: &State, ) -> FallibleApiResponse { check_auth!(t, c); let mut ret = HashMap::::new(); for l in flows.iter() { ret.insert(l.0.clone(), l.1.api().await); } Ok(json!(ret)) }