added interactive mode (#44)

Co-authored-by: kjuulh <contact@kjuulh.io>
Reviewed-on: #44
This commit is contained in:
2022-12-01 08:51:52 +00:00
parent c00b3a97d2
commit 0dedf9268d
8 changed files with 117 additions and 5 deletions

View File

@@ -22,6 +22,7 @@ use octopush_core::{
git_selector::GitSelector, gitea_selector::GiteaSelector, github_selector::GitHubSelector,
},
storage::{local::LocalStorageEngine, DynStorageEngine},
ui::{terminal_ui::TerminalUI, DynUI},
};
pub struct ServiceRegister {
@@ -35,6 +36,7 @@ pub struct ServiceRegister {
pub gitea_selector: Arc<GiteaSelector>,
pub github_provider: DynGitHubProvider,
pub github_selector: Arc<GitHubSelector>,
pub ui: DynUI,
}
impl ServiceRegister {
@@ -57,11 +59,19 @@ impl ServiceRegister {
storage_engine.clone(),
gitea_client.clone(),
));
let git_selector = Arc::new(GitSelector::new(git_provider.clone(), executor.clone()));
let ui = Arc::new(TerminalUI::new());
let git_selector = Arc::new(GitSelector::new(
git_provider.clone(),
executor.clone(),
ui.clone(),
));
let gitea_selector = Arc::new(GiteaSelector::new(
gitea_provider.clone(),
git_provider.clone(),
executor.clone(),
ui.clone(),
));
let github_client = Arc::new(DefaultGitHubClient::new(&github_client_options)?);
let github_provider = Arc::new(DefaultGitHubProvider::new(
@@ -73,6 +83,7 @@ impl ServiceRegister {
github_provider.clone(),
git_provider.clone(),
executor.clone(),
ui.clone(),
));
Ok(Self {
@@ -86,6 +97,7 @@ impl ServiceRegister {
gitea_selector,
github_provider,
github_selector,
ui,
})
}