jirust_cli/executors/jira_commands_executors.rs
1//! Jira-specific command executors wrapping runner implementations.
2use crate::utils::PrintableData;
3/// Executor for issue-related commands.
4pub mod jira_issue_executor;
5/// Executor for issue link commands.
6pub mod jira_issue_link_executor;
7/// Executor for issue transition commands.
8pub mod jira_issue_transition_executor;
9/// Executor for project commands.
10pub mod jira_project_executor;
11/// Executor for version commands.
12pub mod jira_version_executor;
13
14/// Trait to be impelemented to execute Jira commands in Jira commands executors
15pub trait ExecJiraCommand {
16 /// Asynchronous function to execute Jira command.
17 ///
18 /// # Returns
19 ///
20 /// * A Result with a unit type or a Box with a dyn std::error::Error trait.
21 fn exec_jira_command(
22 &self,
23 ) -> impl std::future::Future<Output = Result<Vec<PrintableData>, Box<dyn std::error::Error>>>;
24}