Skip to main content

metis_docs_tui/services/
transition.rs

1use anyhow::Result;
2use metis_core::application::services::workspace::transition::PhaseTransitionService;
3use std::path::PathBuf;
4
5/// Service for document phase transitions
6pub struct TransitionService {
7    workspace_dir: PathBuf,
8}
9
10impl TransitionService {
11    pub fn new(workspace_dir: PathBuf) -> Self {
12        Self { workspace_dir }
13    }
14
15    /// Transition a document to the next phase in its natural sequence
16    pub async fn transition_to_next_phase(&self, document_id: String) -> Result<()> {
17        let transition_service = PhaseTransitionService::new(&self.workspace_dir);
18
19        let _result = transition_service
20            .transition_to_next_phase(&document_id)
21            .await
22            .map_err(|e| anyhow::anyhow!("Failed to transition document: {}", e))?;
23
24        Ok(())
25    }
26}