(
State(state): State<Arc<ServerState>>,
Path(id): Path<String>,
Json(req): Json<RevertRequest>,
)
| 655 | } |
| 656 | |
| 657 | async fn session_revert( |
| 658 | State(state): State<Arc<ServerState>>, |
| 659 | Path(id): Path<String>, |
| 660 | Json(req): Json<RevertRequest>, |
| 661 | ) -> Result<Json<SessionInfo>> { |
| 662 | let mut sessions = state.sessions.lock().await; |
| 663 | let updated = sessions |
| 664 | .set_revert( |
| 665 | &id, |
| 666 | opencode_session::SessionRevert { |
| 667 | message_id: req.message_id, |
| 668 | part_id: req.part_id, |
| 669 | snapshot: req.snapshot, |
| 670 | diff: req.diff, |
| 671 | }, |
| 672 | ) |
| 673 | .ok_or_else(|| ApiError::SessionNotFound(id.clone()))?; |
| 674 | let info = session_to_info(&updated); |
| 675 | drop(sessions); |
| 676 | persist_sessions_if_enabled(&state).await; |
| 677 | Ok(Json(info)) |
| 678 | } |
| 679 | |
| 680 | async fn clear_session_revert( |
| 681 | State(state): State<Arc<ServerState>>, |
nothing calls this directly
no test coverage detected