`GET /api/plugins/hermes-lcm/session/{session_id}`
(
State(state): State<DashboardState>,
JsonPath(session_id): JsonPath<String>,
JsonQuery(params): JsonQuery<SessionParams>,
)
| 171 | |
| 172 | /// `GET /api/plugins/hermes-lcm/session/{session_id}` |
| 173 | pub(crate) async fn session( |
| 174 | State(state): State<DashboardState>, |
| 175 | JsonPath(session_id): JsonPath<String>, |
| 176 | JsonQuery(params): JsonQuery<SessionParams>, |
| 177 | ) -> LcmResult { |
| 178 | let limit = coerce_limit(params.limit, 200, 1000); |
| 179 | let offset = params.offset.unwrap_or(0).max(0); |
| 180 | let descending = params.order.eq_ignore_ascii_case("desc"); |
| 181 | let payload = |
| 182 | lcm_service::session_payload(&state, &session_id, limit, offset, descending).await?; |
| 183 | Ok(ok(payload)) |
| 184 | } |
| 185 | |
| 186 | /// `GET /api/plugins/hermes-lcm/node/{node_id}` — a summary node plus the |
| 187 | /// exact source items it covers (lossless expand). |
nothing calls this directly
no test coverage detected